Preparing Microsoft and Google Tenants for Admin-Managed Syncs
CalendarBridge does not store any calendar data; it only syncs availability into an existing calendar on the destination tenant. Therefore, each person/resource whose availability should be visible on a tenant must have a calendar object on that tenant. This article walks you through setting up calendars and accounts so you can sync availability between tenants.
Example scenario
Company X operates in a split environment:
- Microsoft 365 tenant:
contoso.com(some users live here) - Google Workspace tenant:
example.com(the rest of the users live here)
Current problem: Users in one tenant cannot see the free/busy (availability) of users in the other tenant. Goal: Allow cross-tenant availability visibility. For example, john.doe@contoso.com (M365) should be able to see the availability of sarah@example.com (Google), and vice versa if desired.
Concrete example: John (M365) needs to see Sarah (Google)
- Source (Google): Sarah’s primary calendar at
sarah@example.com. - Destination (M365): The
contoso.comtenant must have a calendar representing Sarah — either a full user mailboxsarah@contoso.com(requires an M365 license) or, recommended, a resource mailbox named “Sarah” to avoid licensing a new user. - CalendarBridge then syncs Sarah’s availability from Google → into the “Sarah” calendar on M365, so John (and other M365 users) can view it.
- If users on contoso.com will invite Sarah’s calendar to meetings, Sarah also needs a reverse sync connection (M365 → Google) so accepted meetings on the “Sarah” resource calendar are written back to her actual
sarah@example.comcalendar.
Reverse direction: Sarah (Google) needs to see John (M365)
- Source (M365): John’s primary calendar at
john.doe@contoso.com. - Destination (Google): The
example.comtenant must have a calendar representing John — either a full user mailboxjohn.doe@example.com(requires a Workspace license) or, recommended, a resource calendar named “John Doe” (no user license needed). Google assigns a resource address likec_188bp5b5u2np4ghmh4psh6ra7lfl6@resource.calendar.google.com. - CalendarBridge then syncs John’s availability from M365 → into the “John Doe” resource calendar on Google.
- If users on example.com will invite John’s calendar to meetings, John also needs a reverse sync connection (Google → M365).
| Direction | Source | Destination | Destination calendar needed | Notes |
|---|---|---|---|---|
| Google → M365 | sarah@example.com | contoso.com | User mailbox or resource mailbox “Sarah” | If M365 users will invite “Sarah,” also add reverse sync (M365 → Google) |
| M365 → Google | john.doe@contoso.com | example.com | User mailbox or resource calendar “John Doe” | If Google users will invite “John Doe,” also add reverse sync (Google → M365) |
Creating the necessary calendars on the destination tenant
On the destination tenant (where people need to view or invite the user), create a calendar that represents that person or resource.
- Microsoft 365 destination: create a user mailbox (requires an M365 license) or a resource mailbox (no license needed) for the person/resource. Resource mailboxes automatically receive a standard email address that CalendarBridge can use (e.g.,
confroom1@contoso.com), so no additional service account or sharing configuration is required. - Google Workspace destination: each calendar can be a user mailbox (e.g.,
john.doe@example.com) or a resource calendar. Resource calendars in Google do not have a usable email address (they look likec_…@resource.calendar.google.com), so a service account must be created:- Create a service account in the Google Workspace tenant (e.g.,
cb_svc@example.com). - In Google Calendar, logged in as a super admin, open the resource calendar’s Settings and sharing.
- Share the calendar with the service account and grant Make changes and manage sharing permissions.
- Create a service account in the Google Workspace tenant (e.g.,
@contoso.com addresses — no service account needed. Google Workspace resource calendars have @resource.calendar.google.com addresses — create and share with a service account (e.g., cb_svc@example.com).