Zoom Rooms integrates with Microsoft Exchange Online (Office 365) calendars to display room schedules and enable one-tap meeting join. Once connected, each Zoom Room maps to an Exchange room resource mailbox — users book the room from Outlook like normal, and the Zoom Room hardware automatically shows the day’s schedule, upcoming meetings, and a “Join” button that connects the room to the meeting with a single tap.
What Calendar Integration Does
Here’s exactly what happens once a Zoom Room is connected to Exchange:
For users booking rooms in Outlook:
- User creates a meeting in Outlook and adds a conference room (clicks “Add a room” and selects the room).
- Exchange checks the room resource mailbox for availability and accepts or declines the booking.
- The meeting appears on the Zoom Room’s display, showing the meeting title, time, and organizer.
- When it’s time for the meeting, the Zoom Room shows a “Join” button on the touchscreen.
- Tapping “Join” connects the room’s cameras, microphones, and display to the Zoom meeting.
What the Zoom Room display shows:
- Current room status (available / occupied / next meeting in X minutes)
- Today’s full schedule from the Exchange calendar
- “Join” button for the current or next Zoom meeting
- Room release timer — if nobody joins within a configurable window, the room is automatically released back to available
What admins get:
- Centralized room scheduling through Exchange (no separate booking system)
- Real-time room status visible in the Zoom admin portal
- Usage analytics — how often rooms are booked vs. actually used
Prerequisites
- Zoom Rooms license for each room
- Microsoft 365 with Exchange Online (or on-premises Exchange Server 2013+)
- Room resource mailboxes created in Exchange for each conference room
- Zoom admin access (Room Management permissions)
- Exchange admin access (to create a service account and set impersonation rights)
Step 1: Create a Service Account in Microsoft 365
A dedicated service account prevents the integration from breaking when an admin leaves or changes their password.
- In the Microsoft 365 admin center, go to Users > Active users > Add a user.
- Create a new account:
- Name: Zoom Rooms Calendar Service
- Username:
zoom-rooms@yourcompany.com - License: Assign a Microsoft 365 license that includes Exchange Online (E1 or higher)
- Password: Set a strong password, uncheck “require password change on first sign-in”
- Disable MFA for this service account (MFA blocks programmatic calendar access). If your security policy requires MFA for all accounts, create a conditional access exclusion for this service account.
Step 2: Grant ApplicationImpersonation Rights
The service account needs permission to read room mailbox calendars. Run this in Exchange Online PowerShell:
# Connect to Exchange Online
Connect-ExchangeOnline -UserPrincipalName admin@yourcompany.com
# Grant impersonation rights to the service account
New-ManagementRoleAssignment -Name "ZoomRoomsCalendarAccess" -Role "ApplicationImpersonation" -User "zoom-rooms@yourcompany.com"
Alternative (more restrictive): Instead of granting impersonation to all mailboxes, scope it to only room mailboxes:
# Create a scope limited to room mailboxes
New-ManagementScope -Name "ZoomRoomsScope" -RecipientRestrictionFilter {RecipientTypeDetails -eq "RoomMailbox"}
# Grant impersonation only within that scope
New-ManagementRoleAssignment -Name "ZoomRoomsCalendarAccess" -Role "ApplicationImpersonation" -User "zoom-rooms@yourcompany.com" -CustomRecipientWriteScope "ZoomRoomsScope"
Step 3: Verify Room Resource Mailboxes Exist
Each conference room needs a room resource mailbox in Exchange. Check existing rooms:
# List all room mailboxes
Get-Mailbox -RecipientTypeDetails RoomMailbox | Select-Object DisplayName, PrimarySmtpAddress
If a room doesn’t have a mailbox, create one:
# Create a room mailbox
New-Mailbox -Name "Conference Room A" -Room -PrimarySmtpAddress "confroomA@yourcompany.com"
Note the email address of each room mailbox — you’ll need these when mapping in Zoom.
Step 4: Configure Calendar Integration in Zoom
- Sign in to the Zoom web portal as an admin.
- Go to Room Management > Calendar Integration.
- Select Office 365 as the calendar service.
- Enter the service account credentials:
- Email:
zoom-rooms@yourcompany.com - Password: The service account password
- Email:
- Click Authorize — Zoom will verify it can connect to Exchange Online.
Step 5: Map Each Zoom Room to Its Exchange Mailbox
- In the Zoom web portal, go to Room Management > Zoom Rooms.
- Click on a room to open its settings.
- Under Calendar Resource, enter the Exchange room mailbox email:
- Calendar resource email:
confroomA@yourcompany.com
- Calendar resource email:
- Click Save.
- Repeat for each Zoom Room.
The Zoom Room will now pull its schedule from the Exchange room mailbox.
Step 6: Verify the Integration
From the Zoom Room Hardware
- Look at the Zoom Room display/touchscreen.
- It should show today’s calendar with any booked meetings.
- The room status should show “Available” (green) or the next meeting’s info.
From Outlook
- Create a test meeting in Outlook.
- Add the conference room (click “Add a room” or “Scheduling Assistant” > Room Finder).
- Send the meeting invitation.
- Within 1-2 minutes, the meeting should appear on the Zoom Room’s display.
From the Zoom Admin Portal
- Go to Room Management > Zoom Rooms.
- Select the room — you should see its calendar events listed.
- The room’s status should reflect whether it’s currently booked or available.
Room Scheduling Settings
Configure how rooms handle bookings:
In Exchange (Room Mailbox Settings)
# Auto-accept meetings (recommended for conference rooms)
Set-CalendarProcessing -Identity "confroomA@yourcompany.com" -AutomateProcessing AutoAccept
# Set maximum booking duration (e.g., 4 hours)
Set-CalendarProcessing -Identity "confroomA@yourcompany.com" -MaximumDurationInMinutes 240
# Allow recurring meetings
Set-CalendarProcessing -Identity "confroomA@yourcompany.com" -AllowRecurringMeetings $true
# Remove the subject from the calendar (for privacy)
Set-CalendarProcessing -Identity "confroomA@yourcompany.com" -DeleteSubject $false -AddOrganizerToSubject $true
In Zoom (Room Settings)
- In the Zoom web portal, go to Room Management > Zoom Rooms > select a room > Settings.
- Configure:
| Setting | What It Does | Recommended |
|---|---|---|
| Room release timer | If nobody joins the meeting within X minutes, the room is released back to “available” | 10 minutes |
| Upcoming meeting alert | Shows a notification X minutes before the next meeting | 5 minutes |
| Display meeting subject | Show the meeting title on the room display | Yes (unless privacy concerns) |
| Check-in required | Attendees must confirm they’re using the room | Optional — reduces ghost bookings |
Scheduling Displays
If you have Zoom Rooms Scheduling Displays (tablets mounted outside conference rooms):
- In the Zoom web portal, go to Room Management > Zoom Rooms.
- Select the room that has a scheduling display attached.
- Under Scheduling Display, the display automatically inherits the room’s calendar.
- The display shows:
- Room availability (green = free, red = occupied)
- Current meeting info (title, organizer, time remaining)
- Upcoming meetings
- “Book now” button for ad-hoc reservations
Common Issues
- Zoom Room shows “No calendar configured” — Verify the calendar resource email is correctly entered in the Zoom Room’s settings. Check for typos. Also verify the service account can access that room mailbox (test by trying to open the calendar in OWA using the service account credentials).
- Calendar shows wrong timezone — The Zoom Room’s timezone and the Exchange room mailbox’s timezone must match. Check both: Zoom Room timezone in Zoom admin portal (Room Management > Zoom Rooms > Settings > Time Zone), and Exchange mailbox timezone via PowerShell:
Get-MailboxCalendarConfiguration -Identity "confroomA@yourcompany.com" | Select-Object WorkingHoursTimeZone. - Meetings appear on the display but “Join” button is missing — The meeting must have a Zoom meeting link. If someone booked the room for an in-person meeting (no Zoom link), there’s no meeting to join. The “Join” button only appears for meetings that include a Zoom meeting URL.
- Calendar sync delays — Changes in Exchange can take 1-5 minutes to appear on the Zoom Room display. If a meeting was just created, wait a few minutes. For persistent delays, check the service account’s connection status in Zoom Room Management > Calendar Integration.
- Service account password expired — If the integration suddenly stops working, the most common cause is the service account password expiring. Set the password to never expire:
Set-MsolUser -UserPrincipalName zoom-rooms@yourcompany.com -PasswordNeverExpires $true(requires MSOnline PowerShell module). - Room mailbox rejecting Zoom meeting invitations — Some Exchange room mailbox policies reject meetings from external organizers or meetings longer than a set duration. Check the room’s calendar processing rules:
Get-CalendarProcessing -Identity "confroomA@yourcompany.com". Look atMaximumDurationInMinutes,AllowConflicts, andBookInPolicysettings. - Duplicate rooms appearing — If you migrated rooms or recreated mailboxes, you might have stale room mappings. Delete the old Zoom Room mapping, remove the calendar resource email, and re-add it with the correct mailbox address.