Best Setup for Office 365 Vacation Calendar

New Contributor

I was hoping to get advice on the best way to set up a calendar in Office 365 for vacation/time-off request approvals. Would the best way be to create an email address and have the calendar items associated with that email? Or creating a group? Or creating a room for those requests and calendar events?



18 Replies
What are you wanting the calendar to do? Have an approval workflow or simply show who is on leave or off?
You could use a SharePoint calendar and then have users sync it to Outlook, as that will allow you to create an approval workflow around it.

Yup, what does Best way mean for you? There are different solutions available for this scenario as part of O365, but no perfect one. For example, if you want easy access on mobiles, things start to get messy. Workflow is another thing, as Loryan mentioned, and depending on how complex the approval process is it might rule out some of the options.


SPO-based list is certainly an option, so are shared/room mailboxes, Groups or even PF calendar, but the devil is in the details.

In addition to the comments/questions above, another key consideration is the number of people involved. Presenting the data for 3 people or 30 people or 300 will make a difference.

I'm looking to set up a calendar for one of our clients that has less than 30 users. They want it set up so that two people receive vacation requests and they can approve or deny them. They would also like this calendar to be visible to other employees so they can tell when other co-workers are out of the office. 


At this point, I'm thinking either a new email address, group, or perhaps a shared mailbox. Any suggestions?

SharePoint would be a great idea... but with the level of skill with these users I doubt they'll want to adopt that workflow. Thanks for the idea though!

Either a Shared/Room mailbox or Group would do, the devil is in the details. Do you need to publish the Calendar, as in make it available via web page, so that it can be browsed externally or on mobile devices? If so, Groups do not qualify. If you need direct access from a mobile device though (say via the Outlook app), shared/room mailboxes will not work, so you have to choose Groups.


Another similar dilemma is permissions - by default everyone will be able to create/edit events in Group's Calendar, there is no approval process. You can try imposing some restrictions via the -CalendarMemberReadOnly parameter, but it doesn't seem to work very reliable. So you will get better experience with Shared/Room mailboxes on that front.



I am in a similar situation. I have been requested to create one calendar for vacation and travel activity and one for absence. 

I thought I would use a room mailbox and just have them add the "room" a note in their own calendar.

The problem I face is, that it will not handle events in the past, and that the I set  -AddOrganizerToSubject $true  it will not Add To, but replace with. 


Have you gotten any further with your case?

Did the same using a Sharepoint calendar and added a workflow for approval.
Showing one view of calendar for adding vaccation request, and shows another view with the requests being approved (and "today"). The later for all teammembers  being able to see when collegaues are on vaccation 

Looking at doing exactly what the OP said - what is a nice way to display a shared mailbox's calendar with view only permissions company wide on a webpage?

Published calendars' .html link can be put into an iframe so it can be then embedded into any webpage, including Sharepoint site pages with embed webpart.

<iframe src=" the .html link you can get from OWA" <p="" width="990" height="600">


So i would do this a bit different than what people described, but that is probably due to my background.


Especially if your current organization is not using SharePoint I think you are going to have trouble getting people to adopt into this.


I would do this through a resource mailbox in Exchange Online, atleast in the original scenario of a 30 person company. The more people you have, the more I think you may want to look at a Public Folder, or indeed SharePoint.


Create a "room mailbox" called Time Off Calendar. Set the management permissions to be managed by a person. Set that person to be whoever you want to control/approve timeoff requests. Users would submit their timeoff to the resource calendar by sending a meeting invite, and the person in charge could approve or deny it.



I'm seeking a simple Outlook solution to create a Vacation or Visitor calendar where employees can put Vacation or Visitors on a public calendar that everyone can see.  I'd like this to be done in a single transaction from their own email calendar.  No work flow or approvals required.  Just a public "whiteboard" for everyone to see who is on Vacation or whether there are any Visitors scheduled and when.  One example, if I am out of the office next Wednesday, I'd like to schedule that on my calendar so that it shows me out of the office, send a copy to my boss so she knows and can add it to her calendar if she chooses, and then put it on the public calendar so everyone in the office knows I will be out of the office as well (but it doesn't clog up everyone's inbox with a calendar or email entry if they don't care that I'll be OOTO).  Setting up a separate public calendar where a separate transaction is required is not an acceptable solution due to the negative "productivity perception" of having to complete two transactions.  As simple as this sounds, my IT department has been unable to provide me a solution.

If sharepoint calendars is out of the question and outlook is to be used, there’s either a shared calendar or using your own! I belive using only your own calendar is the way to go...make sure all people necessary share their calendar with free/busy and all other wanted permission like read on subject or all information! That way it’s easy to add each other’s calendar and get information!
If you like your boss to receive a mail and possibility to add to their own calendar just create an activity ( Vacation ) and add your boss! He/she will receive a mail and can add the activity to his/her own calendar
I think this solution is the most used one and also the simplest one because you only use your own calendar and everyone have access to as much information as you’d like


Thanks Adam.  It sounds like the option you've suggested then requires me to check everyone's calendar to see if they are in the office.  We have 40 people in the office, so even if I have linked to their calendars....that gets cumbersome fast.  I want to look at one calendar and see who is out of the office for the day or the week......and offer that same functionality for everyone in the office.  Again the example of a calendar "whiteboard" is the best visualization of what I'd like to achieve.  Simple, flexible, functional.  If it works, I may consider the same idea for a calendar that tells everyone when customers, corporate executives, or other visitors will be in the building.  Having said that one of the basic principles needs to be simplicity; if Outlook calendaring does not offer this simple bit of functionality, I might consider SharePoint.....but haven't used it in awhile and don't know how simple that solution would be to develop or to use.

Yes! You have to check them individually this way! You can select several and have them in a single view as a default calander view though but not 40 :)
But also having 1 calendar for 40 people will be cumbersome when people start filling it! The view of this calendar will not be friendly either! If you want a separate calendar you can use a shared one or a 365 group calendar! A sharepoint calendar works basically the same as a shared one but you loose some exchange functionality! They have the option to add to their calendar as well!
If you use a office 365 group calendar you can set policy’s via powershell to subscribe everyone in the group to this, meaning they will receive a mail, add it themself to theirs etc..

I know this is a few years late, but I had the same problem. Although I used a Room, my belief is that a Resource would also work. We wanted a shared vacation calendar WITH approvals required. Hope this helps someone. I found this infuriatingly difficult to find a solution. But once I had the solution it was simple. 


USE OLD Exchange Admin Center

- create room ooovaca and save

- edit room

                - booking delegates

                                - select delegates...

                                - add delegates to list

                - booking options

                                - allow repeating

                                - max booking time 730 (two years)

                                - max duration 0 (unlimited)

                - save


In PowerShell

set-CalendarProcessing ooovaca -AddOrganizerToSubject $true -DeleteComments $false -DeleteSubject $false //this is so that viewers can see who made the request (in case they just said "Going to NC" in the subject)

set-calendarprocessing ooovaca -allowconflicts $true //so that multiple people could be on vacation at once

Worked for me. Thanks

Now that there are unified groups which create a recipient type of GroupMailbox wouldn't it be nice to be able to set the automated calendar features of this mailbox type to use it as a vacation tracking calendar?.   I know my manager of my department is wanting to track his reports' PTO, and would like to approve/reject them prior to them getting posted to our team calendar.  Since we already have a Microsoft team set up for this, which has created a GroupMailbox why not let me set the ResourceDelegate up as my manager?  Instead I receive the error that the recipient type must be set as a resource.