Client Area · 0114 299 4050

Allow External Users to book in Office 365 Resource Calendar

IT Blog from Resolve, IT Experts in Sheffield Allow External Users to book in Office 365 Resource Calendar
Read our advice on how to allow External Users to book in Office 365 Calendar. Also find more tips and advice on our blog, or get in touch for more.

Several years ago, I worked in an office that had three businesses in it with a shared meeting room. In the early days, when we had email on our server, it was simple enough to create an account for the other two businesses to access the meeting room calendar and ensure there weren’t any conflicts. But, this became quite a challenge when we moved to Office 365 (and we didn’t want to buy a 365 license just so our neighbours could book our meeting room!)

I eventually managed to find a solution that worked really well. Recently, we had a client that was trying to achieve the same solution. After a lot of searching around, I uncovered the way to do this again, so thought it would be useful to share it in a blog.

Ged explains how Resolve uses Outlook calendars to stay organised

The first task is to allow anonymous access to the calendar free and busy time (so anyone with the URL can see the calendar or add it in Outlook, but can’t see the meeting details). You can do this by connecting to 365 using PowerShell and running the following command:

Set-MailboxCalendarFolder <Username>:\Calendar -PublishEnabled $true

Where the <username> is the name of the shared resource (in our case “meetingroom”).

Then use the following command to find the URL and check the permission level:

Get-MailboxCalendarFolder <Username>:\Calendar


You can see from the screenshot that there are two URLs available for calendar or iCal, which can be added to your favourite calendar app or opened in a browser.

 url iCal

When opening the calendar in a browser, you can see from the screenshot below that free and busy time is visible, but not the meeting details or attendees:

office 365 calendar 

The final thing to do is to allow external recipients to book meetings which can be done using the following command in powershell:

Set-CalendarProcessing -Identity "<resource mailbox name>" ProcessExternalMeetingMessages $True 

Now anyone can send a calendar invite to your meeting room mailbox and it will be accepted or rejected if there is a conflict with an existing meeting.

outlook calendar organisation guide download button

< Back to Blog

Related Posts:


  1. Elezer Puglia

    This solution works almost perfectly as needed, with one exception I was not expecting: when I navigate to the given URL with any browser, the login screen of the OWA comes up - obviously expecting a set of domain credentials to allow log in... thereby defeating the entire purpose of the whole exercise! Was this to be expected, and is there any way to circumvent the OWA login screen for whoever knows the specific URL?

    Reply to this post

    Allowed tags: <b><i><br>

  2. Resolve


    Thanks for the comment.

    We’ve just tested this against Office 365 again, in case any updates have changed anything, and we can confirm it still works as expected.

    Can you confirm you are using Office 365 rather than on premise Exchange?

    Further if you use the command “Get-MailboxCalendarFolder :\Calendar” that you see the option “PublishEnabled : True”?

    Are you using the full URL from PublishedCalendarUrl from this list of parameters? You will need to copy and paste to Notepad and remove the line break if the URL goes onto a second line.

    If you are still having problems, please email us at and we’ll arrange a time to have a quick look for you.

    Reply to this post

    Allowed tags: <b><i><br>

  3. soft

    This is good but how to have external users from a specific domain can make the booking and not all external? creating a rule for example

    Reply to this post

    Allowed tags: <b><i><br>

  4. Resolve

    The Set-CalendarProcessing -ProcessExternalMeetingMessages command only has the options true or false, so you cannot achieve your requirement easily this way. However, you may be able to achieve this by adding a transport rule which rejects all emails to the resource mailbox unless they are internal or come from a specific domain.

    Reply to this post

    Allowed tags: <b><i><br>

  5. Eric


    I did all the steps. External user can send a calendar invite to my meeting room mailbox, and will get a reply immediately indicating "your request accepted". But on my meeting room calendar, this booking was showed as "not accepted". Although I can check the booking email in my meeting room mailbox, and click "accept" to turn this booking into accepted state, I would rather like it being auto accepted. Are there any other settings I have to pay attention to? Thanks in advance.

    Reply to this post

    Allowed tags: <b><i><br>

  6. Resolve

    Hi Eric,

    You can run the command “Get-CalendarProcessing -Identity "meetingroom" | Format-List” to check if external processing is enabled. There are a few other settings which can be enabled using the Set-CalendarProcessing command which might explain why you are getting this result…

    Does the problem apply only to external users? Or is it happening to internal users as well?

    Let us know how you get on!

    Reply to this post

    Allowed tags: <b><i><br>

  7. Eric

    My problem was identified. When I checked with internal users, the calendar was correctly reflected with bookings by the external user. So, I think it's a synchronization issue. The shared calendar is not synchronized well and timely. Thanks very much for your support!

    Reply to this post

    Allowed tags: <b><i><br>

  8. Resolve

    No problem at all! Thanks for getting in touch.

    Reply to this post

    Allowed tags: <b><i><br>

Please leave a comment

Allowed tags: <b><i><br>

emergency it response : 0114 299 4050
View PAYG Options