Answer · Scheduling

Can Microsoft Bookings check multiple calendars?

Last updated 5 min readPart of How Microsoft Bookings calculates availability7 sources

The question people ask
“Can Microsoft Bookings check more than one calendar to avoid double booking?”

Asked in Microsoft Learn (opens in a new tab) and Microsoft Tech Community (opens in a new tab)

Short answer

No. As of October 2026, Microsoft Bookings checks one calendar per staff member: the default calendar in that person's Microsoft 365 mailbox in your own tenant, and only while Events on Microsoft 365 calendar affect availability is on. Extra calendars in the same mailbox, a second mailbox, an account in another tenant, Google Calendar and iCloud are all invisible to it. To stop double booking you have to get the busy time into that one default calendar, add the second mailbox as its own staff member, or block the time inside Bookings.

What Bookings reads and what it ignores#

Microsoft Graph describes the check as Bookings verifying the staff member's availability "in their personal calendar in Microsoft 365" before making a booking. In practice:

CalendarBlocks Bookings slots?Why
Default calendar in the staff member's mailbox, events shown as Busy, Tentative or Out of officeYesThis is the free/busy Bookings reads
Events on that calendar shown as FreeNoFree time doesn't count
A second calendar created in the same mailbox ("Calendar 2", "Personal")NoFree/busy comes from the default calendar only; a Microsoft MVP put it as "that is the only calendar that is used for free/busy"
A calendar subscribed by URL, or a Google or iCloud account added to OutlookNoNot part of the mailbox free/busy; see Google Calendar
A colleague's, group or shared calendar you've opened in OutlookNoIt belongs to another mailbox
A second mailbox in your tenantOnly if added as its own staff memberBookings checks staff, not accounts you happen to use
A mailbox in another Microsoft 365 tenantNo"Staff from outside your tenant will not be able to share free/busy information with Bookings"
Appointments from another booking pageShould, through the staff calendarUsers report double booking anyway; see Outlook events and availability

Microsoft doesn't document any setting for a second calendar, in the staff settings, the service settings or the admin center.

Workarounds#

Copy busy time into the default calendar#

This works for any source that Power Automate can read. For a second calendar in the same mailbox, a second mailbox, or an account in another tenant, use the Office 365 Outlook connector:

  1. Create a flow with the trigger When an event is added, updated or deleted (V3) and set Calendar id to the calendar you want Bookings to respect. For another account, sign the connection in as that account.
  2. Add Create event (V4) on the staff member's default calendar with the same start and end, shown as Busy. A neutral subject such as "Busy (other calendar)" keeps details private.
  3. Use the trigger's Action Type to update or delete the copy when the original changes, so moved or cancelled events don't leave stale blocks.

Connector limits Microsoft documents that matter here:

  • One flow per mailbox or calendar you monitor.
  • The trigger fires for every occurrence of a recurring series, so a 15-occurrence series creates 15 copies.
  • Triggers usually fire almost at once, but in rare cases "may take up to one hour". A booking can land in that gap.
  • A 504 timeout can be retried and create a duplicate event.
  • Shared calendars only appear in the Calendar id drop-down if you have view and edit access.

Check your organization's policy before connecting an account from another tenant to a flow.

For Google Calendar, the same idea uses the Google Calendar connector; the steps and its 90-second polling are in the Google Calendar answer. For iCloud, Power Automate has no iCloud connector in Microsoft's connector list as of October 2026. The options are a third-party tool that writes into the Outlook default calendar (a subscription isn't enough), or adding Busy blocks by hand.

Add the second mailbox as a staff member#

If the second calendar belongs to a mailbox in your tenant, such as a second account for the same person or a team calendar mailbox, Bookings can check it directly:

  1. Staff → Add new staff, and add the second mailbox. Leave Events on Microsoft 365 calendar affect availability on and make sure that mailbox shares free/busy with the organization.
  2. On each affected service, open Assign staff, choose Multiple staff, and assign both the person and the second mailbox. Microsoft says a Multiple staff booking "can only" be created "when all assigned staff members are available".
  3. Untick Allow customers to choose a particular staff for booking so customers don't see the second mailbox as a person.

Side effects: every booking is added to both calendars, the second mailbox gets booking emails unless you turn its notifications off, it uses one of the 100 staff places, and every affected service needs this setup. It's the same pattern as booking a room as a staff member. Microsoft doesn't document using a shared mailbox as staff, and we haven't verified it; see shared mailboxes and Bookings.

Block the time in Bookings#

When the other commitment is regular, such as Fridays at another site, untick Use business hours for that person and give them hours that leave it out. For known absences, use Add time off in the Bookings calendar. See holidays and time off.

If you meant two people, not two calendars#

A 2021 Tech Community thread asked how to show one set of times across a salesperson's and a sales engineer's calendars. That's a staff setting, not a calendar one. Multiple staff offers only times when everyone assigned is free; see several staff on one appointment. "Anyone" offers times when at least one assigned person is free.

What we saw when testing (September 2026)#

We captured the public booking page and the calls it makes. The page never reads a calendar itself: it asks the Microsoft server for availability, and busy time arrives already applied. When we called the Microsoft service directly, it accepted a booking over a busy Outlook block, though it did reject one that clashed with another Bookings appointment for the same staff member. So the protection you get is the availability check when the page loads. A mirrored event that arrives late doesn't stop a booking that was already made.

Bookings with me pages (Microsoft now calls them Personal Bookings) check your own Outlook calendar, and Microsoft doesn't document reading any other calendar there either. See Bookings with me work hours.

BookingsXP is independent and not affiliated with or endorsed by Microsoft.

Questions people also ask

Sources

  1. Microsoft Learn: Add staff (opens in a new tab) · learn.microsoft.com
  2. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  3. Microsoft Learn: Define service offerings (opens in a new tab) · learn.microsoft.com
  4. Microsoft Learn: Bookings faq (opens in a new tab) · learn.microsoft.com
  5. Microsoft Learn (opens in a new tab) · learn.microsoft.com
  6. Microsoft Learn: Connector reference powerautomate connectors (opens in a new tab) · learn.microsoft.com
  7. Microsoft Tech Community: Advice on how to consolidate multiple calendars (opens in a new tab) · techcommunity.microsoft.com