Setting Up Zoom Rooms with Office 365

Last Updated:

When a calendar resource is integrated with a Zoom Room, the room’s TV display, controller, and Scheduling Display can show the meetings scheduled for the room. Conference rooms are assigned as a calendar resource through a calendar service. Members of your organization can then schedule a meeting in a Zoom Room by inviting the room's calendar resource to the meeting. Authorizing Zoom to have access to calendar resources enables users to start and join meetings in the room using one touch.

Before you can add a calendar service for Zoom Rooms, an Office 365 administrator must create a dedicated service account user in Office 365 for the integration, create or locate a calendar resource for each Zoom Room, and then configure the dedicated service account user and the calendar resources for either impersonation or delegate access.

After the Office 365 administrator completes all steps in each section, they will then use the credentials of the dedicated user to provide authorization for the Zoom Rooms in your account to use the calendar service and all of its calendar resources.

This article covers:

Prerequisites for setting up Zoom Rooms with Office 365

  • An Office 365 Administrator Account with permission to create a new dedicated service account user and assign necessary permissions
  • The ability to list, create, and manage calendar resources for rooms
  • Admin Access for Windows PowerShell on Windows 10 or greater, or Windows Server 2016 or greater

How to create a dedicated service account user for Zoom to access Office 365 calendars

  1. Sign in to Office 365 as an admin.
  2. Add a user in your Office 365 account. See the Microsoft documentation Add users to Office 365 for instructions.
    Note: the dedicated service account user must be a licensed user in Office 365 with a mailbox. 
  3. Make note of the email address and password of the dedicated service account user.
  4. Proceed to the next section to create or locate a calendar resource for each room.

How to create or locate a calendar resource for each room

  1. Sign in to the Microsoft Exchange admin center (EAC) as an admin.
  2. In the navigation menu, click Recipients then Resources.
  3. Click on the plus (+) sign if you need to add a room.
    Zoom recommends that you use a prefix (such as ZR) for each room, or choose your own method to allow users to easily search for Zoom Rooms-enabled conference rooms.
  4. Make note of the display name and email address of each calendar resource.
  5. Proceed to the next section to link the user and resources to Zoom, via App-Level Impersonation or using Full Delegate Access

How to set up access permissions

Installing the Microsoft Exchange Online v2 Powershell Module

These instructions use the Microsoft Exchange Online v2 Powershell Module (AKA “EXO V2”). They are an abbreviated extract of the instructions found in Microsoft’s Install and maintain the EXO V2 module page. 

  1. Start Windows PowerShell using the Run as administrator option.
    Note: This option is available when you right-click the Windows PowerShell app without launching it.
  2. Prepare to install the EXO V2 module by executing this command:
    Set-ExecutionPolicy RemoteSigned
  3. Press Y to accept the change
  4. Install the EXO V2 module by executing this command:
    Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
    Note: If necessary, enter Y to accept installation of the Microsoft NuGet provider to facilitate installation of the EXO V2 module.
  5. If you receive an “untrusted repository” message and PowerShell prompts you to permit installation of the EXO V2 module the Microsoft PowerShell Gallery (“PSGallery”) repository, enter Y to accept.
  6. Keep the PowerShell window open for further commands.

Choosing between App-level Impersonation and Full Delegate Access

In general, Zoom recommends using App-level Impersonation, as this manner of configuration requires significantly less effort to setup and maintain on the part of the administrator, especially at scale, and is Microsoft’s recommended approach for Enterprise applications. Full Delegate Access remains an option, but requires more effort for initial setup and maintenance.

Update role management and assignments 

  1. Start Windows PowerShell using the “Run as administrator” option.
    Note: This option is available when you right-click the Windows PowerShell app without launching it.
  2. Enter the following command:
    Connect-ExchangeOnline -UserPrincipalName <UPN>
    Note: Change the value of <UPN> to the Office 365 administrator's user principal name (usually appears in the form of an email address).
  3. Enter the Office 365 administrator username/password in the dialog box.
    Make sure that this account has permissions for both “Organization Management” and “Recipient Management”.
  4. Execute the following command to create a new management role:
    New-ManagementRoleAssignment -Role:ApplicationImpersonation -User: "DedicatedUser"
    Note: Replace the text DedicatedUser with the email address of the Dedicated Service Account User.
  5. Execute the following command to create a new Management Scope restricted to calendar resources (of the types “RoomMailbox” and “EquipmentMailbox”):
    New-ManagementScope -Name "ResourceMailboxes" -RecipientRestrictionFilter {RecipientTypeDetails -eq "RoomMailbox" -or RecipientTypeDetails -eq "EquipmentMailbox" -or UserPrincipalName -eq 'DedicatedUser'}
    Note: Replace the text DedicatedUser with the User Principal Name of the Dedicated Service Account User (this usually matches the Dedicated Service Account User's email address).
  6. Run the following command to create a relationship between the new Management role, the dedicated service account user, the and the new Management scope:
    New-ManagementRoleAssignment -Name "ResourceImpersonation" -Role ApplicationImpersonation -User "DedicatedUser" -CustomRecipientWriteScope "ResourceMailboxes"
    Note: Replace the text DedicatedUser with the email address of the Dedicated Service Account User.

Delegate rooms to the dedicated service account user

  1. Start a Windows PowerShell using the “Run as administrator” option.
    Note: This option is available when you right-click the Windows PowerShell app without launching it.
  2. Enter the following command:
    Connect-ExchangeOnline -UserPrincipalName <UPN>
    Note: Change the value of <UPN> to the Office 365 administrator's user principal name (usually appears in the form of an email address).
  3. Enter the Office 365 administrator username/password in the dialog box.
    Make sure that this account has permissions for both “Organization Management” and “Recipient Management”.
  4. Execute the following command to grant the dedicated service account user full delegate access to the calendar of a calendar resource:
    Add-MailboxPermission -Identity CalendarResource -User DedicatedUser -AccessRights FullAccess
    Note: Replace the text DedicatedUser, enter  with the email address of the Dedicated Service Account User.  Replace the text CalendarResource with the email address of a calendar resource.
  5. Execute the following command to grant the dedicated service account user full delegate access to the calendar of a calendar resource:
    Add-MailboxFolderPermission -Identity CalendarResource:\Calendar -User DedicatedUser -AccessRights Editor -SharingPermissionFlags Delegate
    Note: Replace the text DedicatedUser, enter  with the email address of the Dedicated Service Account User.  Replace the text CalendarResource with the email address of a calendar resource (but leave the “:\Calendar” text in place; example: conferenceroom@contoso.com:\Calendar).
  6. Repeat steps 4-5 for each room’s calendar resource.
  7. Proceed to the next section to update the calendar resource settings using Windows PowerShell.

How to update the calendar resource settings using Windows PowerShell

For Zoom Rooms to display the calendar information and generate a one touch join button for Zoom meetings, you must update some calendar resource settings.

  1. Start a Windows PowerShell using the “Run as administrator” option.
    Note: This option is available when you right-click the Windows PowerShell app without launching it.
  2. Enter the following command:
    Connect-ExchangeOnline -UserPrincipalName <UPN>
    Note: Change the value of <UPN> to the Office 365 administrator's user principal name (usually appears in the form of an email address).
  3. Enter the Office 365 administrator username/password in the dialog box.
    Make sure that this account has permissions for both “Organization Management” and “Recipient Management”.
  4. Check the settings for the calendar resource by executing the following command:
    Get-CalendarProcessing -Identity CalendarResource | Format-List Identity,DeleteComments,DeleteSubject,AddOrganizerToSubject,RemovePrivateProperty,DeleteAttachments
    Note: Replace the text CalendarResource with the email address of a calendar resource.
  5. Note the data returned for the following values:
    "DeleteSubject", "AddOrganizerToSubject", "DeleteComments", and "RemovePrivateProperty"
    In most cases, these values are set to True.
    Identity : [domain].com/Users/CalendarResource
    DeleteSubject : True
    AddOrganizerToSubject : True
    DeleteComments : True
    RemovePrivateProperty : True
    DeleteAttachments : True
  6. Change the settings for the room with the following command:
    Set-CalendarProcessing -Identity CalendarResource -AddOrganizerToSubject $false -OrganizerInfo $true -DeleteComments $false -DeleteSubject $false -RemovePrivateProperty $false
    Notes: Replace the text CalendarResource with the email address of a calendar resource.
    • If you do not want to show the Calendar topic, change DeleteSubject $false to DeleteSubject $true
    • If you see an error such as “The operation couldn't be performed because object 'Room' couldn't be found on '[domain].onmicrosoft.com'.”, that means the scope of the role group that grants you permission to run the cmdlet does not include the user/room. Make sure you are logged in with an admin account, as required in Step 3.
    • If you see an error such as “Set-CalendarProcessing command not found”, make sure the administrator account you used to log in to PowerShell has permissions in “Organization Management” and “Recipient Management”.
  7. Validate the settings for the room after the change by executing the following command:
    Get-CalendarProcessing -Identity CalendarResource | Format-List identity,deletesubject,addorganizertosubject,DeleteComments,RemovePrivateProperty
    Note: Replace the text CalendarResource with the email address of a calendar resource.
    The following settings will be set:
    Identity : [domain].com/Users/CalendarResource
    DeleteSubject : False
    AddOrganizerToSubject : False
    DeleteComments : False
    RemovePrivateProperty : False
  8. Repeat Steps 4-7 for each calendar, changing only the CalendarResource in each command.
  9. Disconnect the session with the following command:
    Disconnect-ExchangeOnline
  10. Close Windows PowerShell.

How to add the Calendar Service to Zoom

  1. Sign in to the Zoom web portal as a Zoom Rooms administrator.
  2. Choose Calendar Integration, and then click Add Calendar Service.
    The Add a Calendar Service dialog appears.
  3. Click Office 365.
  4. By default, the integration will use Microsoft Exchange Web Services (EWS).  If all Zoom Rooms in the account are version 5.9.0 or higher, you may instead opt for Microsoft Graph API. If you would like to know more about these options see this documentation from Microsoft.
    Note: If necessary, enter a non-default EWS URL
  5. Under Account Permission Type, select App-level Impersonation or Full Access Delegate depending on which permission setup you used above.
  6. Click Authorize.
    Note: If Office 365 users can consent to enterprise applications accessing company data on their behalf is disabled in Account Settings, this option will need to be enabled in the settings, or enabled for the Zoom app in Azure.
  7. The Calendar Integration page shows the calendar service that you added.

Note: See Add a Zoom Room for information on configuring a calendar resource with a Zoom Room.

Zoom Community

Join the 100K+ other members in the Zoom Community! Login with your Zoom account credentials and start collaborating.