Office 365 Calendar Integration

    December 5th, 2019

    Last updated: December 5th, 2019

      This article will show you how to integrate your Office 365 Calendar with Teem.


      In order to successfully integrate an Office 365 calendar, you’ll need to be a Global Admin user within your Office 365 account.

      Note: If you’re using a hosted Exchange provider you may need to reach out to your provider for more details.  Additionally, Office 365 GCC is not supported at this time.

      Create a user account for Teem to access with the server

      To create a user account follow these steps:
      1. Sign into your Office 365 account.
      2. Select the Admin tab.

      Create a New User Steps Office 365

      3.  Go to Users.
      4. Then to + Add A User.

      Adding a User Office 365 Admin Center

      5. From there, you’ll fill in the New User information fields. We suggest creating an email that is easily recognizable like [email protected]
      6. Ensure everything is correct and click Add.

      New User Details Screen Office 365
      You have now created a mailbox for our server to utilize.

      Admin Center Office365 View Rooms and Equipment

      Create or locate room resources to interface with Teem 

      If you already have Room Resources created, you can skip this section and jump to Changing Room Resource Settings. If you haven't, follow these steps:
      1. Go to your Admin Center.
      2. Select Resources.
      3. Then click + Add.

      Creating and Locating Room Resources Office 365

      4. From there, you’ll fill in the information fields.
      5. Ensure everything is correct and click Add.

      You have now created a room resource mailbox.

      Office365 Admin Center Rooms & Equipment 

      Permission the Teem user account to control these room resources

      There are two ways to access a mailbox: impersonation and delegate access. Impersonation allows the service account to manage events on behalf of your office’s room resource calendars, regardless of who originally created the event. This is done by acting as an authorized user. Delegate access acts on behalf of an authorized user with that user’s explicit permission. 

      We strongly recommend granting your Teem service account the admin role for impersonation rather than using delegate access for Office 365. For security-minded customers, we recommend limiting the scope of impersonation to conference rooms only, which will allow Teem to function normally. To learn more about why we recommend impersonation and to be better informed about throttling limits when using delegation, please read Office 365 Throttling.

      Note: The End Event Early function still requires complete impersonation access to all mailboxes. 


      In order to use Impersonation, you’ll need to fulfill the requirements listed below:

      • Have a Teem account with administrator permissions.
      • Have access to the Exchange Management Shell with admin access.

      Here are PowerShell instructions on setting Impersonation up in any Exchange or Office 365 environment:

      Configuring Impersonation for All Service Accounts in Your Organization

      Using Exchange Management Shell, run this command: 

      New-ManagementRoleAssignment -Role:ApplicationImpersonation -User:username 

      You’ll need to change the “username” section to your specific service account name for this to work.

      Configuring Impersonation for Specific Service Accounts

      By restricting the access or scope, Teem can be granted access to only room or equipment calendars.

      Using Exchange Management Shell, run this command:

      New-ManagementScope -Name "ResourceMailboxes" -RecipientRestrictionFilter
       {RecipientTypeDetails -eq "RoomMailbox" -or RecipientTypeDetails -eq "EquipmentMailbox"} 

      Now that you’ve created this new scope for Impersonation, we need to assign the Impersonation role to the service account using this command:

      New-ManagementRoleAssignment –Name "ResourceImpersonation" –Role ApplicationImpersonation –User
       "username" –CustomRecipientWriteScope "ResourceMailboxes" 

      To set up Impersonation through the Exchange Management Console, follow these steps:
      1. From the Office 365 Admin center, click on Admin Center, then Exchange.

      Office 365 Admin Center Impersonation

      2. Click on Permissions and Admin Roles.
      3. Then double-click on Discovery Management.

      Impersonation Instructions Office 365

      4. In the Discovery Management detail section, select the + icon over Roles.

      Discovery Management Details Office 365

      5. Click ApplicationImpersonation.
      6. Then click the Add button below.
      7. When that role is added, click Save.

      ApplicationImpersonation Instructions Office 365

      8. Verify that ApplicationImpersonation now appears under Roles, then click the + icon over the Members section.

      Discovery Management Screen ApplicationImpersonation

      9. Find the user account we created above in the list, click on it and select the Add option below.
      10. Once you verified the account has been selected, click Save.

      Add Office 365 Impersonation Account

      11. Back in the Discovery Management detail window, ensure the user name appears in the Members section. If it does, click the Save button.

      Discovery Management Impersonation Office365

      12. You should see a pop-up informing you that settings are being updated. Wait for it to complete and you are done!

      Office 365 Update Complete Screen

      Good job! Your listed user now has Impersonation rights.

      Full Access Delegation

      If you still prefer to setup delegate access, Teem requires your management user to be a Full Access Delegate on the room resource account. Also, please ensure that this permission has been given to each room resource you wish Teem to interface with.

      Note: It may take 24-48 hours for the permission changes to take effect on the server.

      If you're looking for a more secure method to control these rooms, our Teem user account needs to be set as a delegate and an editor. To set the permissions as a delegate, follow these steps:

      1. Go to the Admin Center and click Resources.
      2. Then double-click on the room resource. There you will see an option for Exchange Settings. Please note that if the option is not there, the server likely needs more time to propagate the room creation.

      Full Access Delegation Office 365 Process

      3. In the room detail pop-up, click on Mailbox Delegation.

      Mailbox Delegation Details Office 365

      4. In the delegation window, scroll to the bottom and find the Full Access section. Here, you’ll click the + icon.
      5. In the next pop-up, click +Add and find your management account and click Okay.
      6. Verify it has been added and click Save.

      Mailbox Delegation Screen Office365

      7. Now that the user is assigned as a Full Access Delegate, login to the Outlook Web App using that user's credentials.
      8. Open that user’s calendar. On the top navigation, select the user account's drop-down menu.
      9. Select Open another mailbox.

      Office 365 Admin Details

      10. This will open a pop-up dialog window. In the input field, type or paste the email address for the shared calendar or resource you would like to integrate with Teem. If it doesn't come up immediately, you may need to click Search Contacts & Directory. In this example, the resource calendar is called "fakeroom."
      11. After selecting the appropriate calendar, click Open on the pop-up.

      Office 365 Mailbox Full Access Delegation

      Note: If you get an error, there's a chance the delegation changes made have not propagated throughout multiple servers.

      12. This will open a new window in your browser with you logged into the Room Resource's account. In the top navigation select Calendar.
      13. After doing this you will see a Share option at the top right of the page (next to the PRINT icon).Click on SHARE.

      Share Option for Calendars Office 365

      14. This will open up a Share Calendar dialogue. In the Share With field, type or paste the management account you've set up to use with Teem. If the account doesn't come up as you type it, you may need to select Search Contacts & Directory.

      Sharing Calendar Office 365

      15. After selecting that management account, you'll need to give it specific privileges. Teem requires the ability to read and write to calendars, so you must select Editor in this drop down.

      User Roles Shared Calendar OFfice 365
      16. After selecting the permission, press Send in the top of the dialogue window. This will send a share request to the Teem user account.
      17. To accept the request, log back into the Teem user account. Usually this account will still be open in another browser window/tab from the earlier steps. Once logged in, select Outlook in the top navigation.
      18. You'll have a new message from the room resource calendar, inviting you to subscribe to the shared calendar. Select + ADD CALENDAR in the email message.

      Received Share for Office 365 Calendar

      19. This will open the calendar tab. You should see the new room resource calendar listed on the left side of the page under Other Calendars. Ensure this calendar is checked.

      Your Calendars Views in Office 365

      Note: Calendars added here must appear under Other Calendars. If these calendars are in different sections we won't be able to discover that calendar.

      Repeat this process for each room/calendar that you would like to use with Teem.

      Note: Please note that it may take 24 hours for the settings we’ve made here to completely propagate through your Exchange environment.

      Connect exchange to your Teem Account

      Now that you’ve setup access, you’re ready to connect an Exchange/Office 365 account to your Teem account.

      1. Sign into your Teem account
      2. Go to the Manage section in the left menu.
      3. Click Calendars.
      4.  Look to the upper left corner and choose the + Account button.

      5. Select Office 365 depending on your build.

      6. After you choose the Office 365 option, you’ll see a screen to enter your information in order for us to import your calendars. Enter your Exchange or Office 365 login and password. For instance, if the email address is [email protected], but the Active Directory login domain is teem.local, [email protected] would be input into this field.

      Note: If you use Exchange, you must use the Active Directory login name of the management user for this field in the format of “[email protected].”

      7. Select Office 365 that your company uses.
      8. Select Impersonation or Delegate Access.
      9. Click the Authenticate button at the bottom.

      Note: If you get an error message such as “Unauthorized” or “Internal Server” error, the account is added into our system, but the account is considered inactive. We recommend you contact technical support at [email protected] or 415-830-6989, and they will be able to assist you in getting your account up and running.

      10. Once the account is added, you'll need to add your calendars. To do this, you’ll press the yellow Import button within the calendars section and provide a comma-separated list of all calendars that you wish to import to Teem. Alternatively, you can enter calendars to sync via a CSV file.

      Changing Room Resource Settings

      Details relating to an event on conference room displays like EventBoard help others know what current and upcoming meetings are about. A meeting that just says, “Sarah Smith” is not as helpful as “Sarah Smith Marketing Meeting.” However, when you schedule a Room Resource in Office 365, the default is to delete the subject of the meeting request and add the organizer’s name. In this small tutorial, we will walk you through how to change that.

      Powershell for Office 365

      While Office 365 exposes some management features through the web interface, most must be accessed through Windows PowerShell cmd-lets. To accomplish this, you'll need to have the Windows Azure AD Module. Instructions on getting to this module, as well as download links, can be found here.

      Once you have that installed, start the Azure Active Directory Module as Administrator from the start menu.

      Run Powershell for Office 365 Instructions

      Now that you have the PowerShell running, you’ll need to authenticate to our Office 365 setup and run the proper commands. To authenticate correctly we will need to run a few commands:

      Import-Module MSOnline

      The above command simply makes sure that we have the authentication cmd-let available.

      PowerSheel Windows Module for Office365

      $O365Cred = Get-Credential

      The above command will present us with a box to input our credentials and will then save that in the $O365Cred variable.

      $O365Session = New-PSSession –ConfigurationName Microsoft.Exchange -ConnectionUri -Credential $O365Cred -Authentication Basic -AllowRedirection

      The above command creates a remote session.

      Import-PSSession $O365Session

      The above command pulls in the cmdlets we will need to manage our exchange server.

      Note: If you get the following error:

      PowerShell Error Office 365

      Or if an error message shows that Running of Scripts is Disabled, you will need to run the following command:

      Set-ExecutionPolicy RemoteSigned

      And then run the Import-PSSession command again. Finally, run the following command:

      Connect-MsolService –Credential $O365Cred

      The command connects to the Office 365 services.

      Changing Resource Settings

      Now that we have completed those commands, we’re connected and ready to administer the calendar settings. There are several commands available to you as options here, and a more complete list can be found here. For now, we will just show a few commands so that event subjects are retained on the Room Resource calendar.

      First, let’s check the current settings of our calendar. This is done with this command:

      Get-CalendarProcessing -Identity "[alias or smtp]" | Format-List identity,deletesubject,addorganizertosubject

      PowerShell Changing Resource Settings

      You can see in the graphic above that Peter’s calendar has DeleteSubject set to True and that the AddOrganizerToSubject is also True. We will change the DeleteSubject parameter with the following command:

      Set-CalendarProcessing "[alias or smtp]" -DeleteSubject $false

      PowerShell Setting CalendarProcessing

      Now when we check the settings again we can see DeleteSubject is set to false.


      Event before change:
      EventBoard Display PowerShell Office 365

      Event after change:
      PowerShell Office 365 Event After Change

      The change is subtle, but makes a real difference in getting information about your event at a glance.

      If the Organizer’s Name is showing on the title of the meeting, you can run the following command to remove that name:

      Set-CalendarProcessing "[alias or smtp]" -AddOrganizerToSubject $false

      That will remove the organizer so the Subject of the meeting is all that is left.

      That’s it! Your Office 365 account is now integrated with Teem and you know how to change Room Resource settings. You should receive an email directed to the sync account informing you which calendars we’ve synced with.

      Now you’re ready to assign your Office 365 calendars to rooms!

      Was this article helpful?

      Send feedback

      Get In Touch With Us

      Start a Support Ticket