Configure classic Calendar Interop
Classic Calendar Interop provides two services.
- Google Calendar users can view the free/busy calendar status of Exchange users within Google Calendar
- Exchange users can view the free/busy calendar status of Google Calendar users within Microsoft® Outlook®
The following instructions will enable both services.
Exchange server setup1. Create an Exchange public folder database
To create the public folder database, please refer to Microsoft's How to create a new public folder database article.
You need to create or use an existing Exchange role account that has both an Exchange mailbox and public folder write access. Google will use this account to authenticate to your Exchange server and write Google calendar f/b data to your Exchange public folder database.
You can grant a local service account public folder write access within the Exchange Management Shell by using the following command:
Add-PublicFolderClientPermission -Identity <Public Folder Identity> -User <Domain\user> -AccessRights Owner
Here's an example of what that should look like:
Add-PublicFolderClientPermission -Identity "\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY\EX:/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)" -User ALTOSTRAT\gcal_svc -AccessRights Owner
You can read Microsoft's full list of instructions in its Add-PublicFolderClientPermission article.
Tip: If you are unsure of the identity of the public folder store, use the following command to get the complete identity details:
Get-PublicFolder -Identity "\NON_IPM_SUBTREE\SCHEDULE+ FREE BUSY" -GetChildren | fl
Note: The Exchange Information Store caches permission data. Please wait for a few hours for the permissions to take effect.
If your primary domain name in Exchange and G Suite are different, you can use your G Suite primary domain name in this step, as opposed to a domain alias. If, however, your primary domain names in Exchange and G Suite are the same, you'll need to use a G Suite domain alias.
Next, add your G Suite domain alias as an availability address space in Exchange and assign it the public folder f/b access method using the following command in the Exchange Management Shell:
Add-AvailabilityAddressSpace -ForestName <Google Alias Domain> -AccessMethod PublicFolder
Here's an example of what that should look like:
Add-AvailabilityAddressSpace -ForestName example.com.test-google-a.com -AccessMethod PublicFolder
What is an availability address space? You can read Microsoft's Availability Address Space article for more information.
Create a mail-enabled contact (not a mail-enabled user) in Exchange for each G Suite user whose free/busy data you want to sync to Exchange. You must add a valid SMTP email address for each mail-enabled contact you create.
If you use the same primary domain name for both G Suite and Exchange, you'll need to add an email address within your G Suite domain alias to each of your mail-enabled contacts.Why use an alias domain name?
Exchange determines its f/b access method based on the availability address space (which corresponds to the domain name) of the user it's querying. The interop service stores Google users' f/b data in your Exchange public folder database, but the default f/b access method for your primary domain in Exchange does not query the public folder. As a result, Exchange will not find a Google user's f/b data if the user's mail-enabled contact email address is within your Exchange primary domain (and, thus, your default availability address space). Creating a second availability address space using your G Suite domain alias and assigning it the public folder f/b access method solves this problem.
You can read Microsoft's help center articles for more information about creating mail-enabled contacts.
Once you've finished creating a mail-enabled contact for each Google user whose f/b data you'd like to sync, you'll need to make note of each contact's legacy distinguished name (LegacyExchangeDN) information, which you'll use in step #7.
G Suite setup5. Configure classic Calendar Interop settings
- Click G Suite > Calendar > Calendar interop management.
Where is it?
In the Exchange Web Services url field, enter the Exchange Web Services URL for the Exchange Web Services server associated with your Exchange server. For example:
In the Admin account field, enter the Exchange server role account User Principal Name (UPN). Enter the username in email@example.com format (not in domain\username or username format). Click Enter password and enter the password for the role account.
Check the Enable Server Version of Free Busy Sync box.
Click Save changes.
Click the Users tab to enter the list of G Suite users whose f/b data you'd like to sync to Exchange.
Enter a list of Exchange mail-enabled contacts (created in step # 4) for G Suite users, along with their legacyExchangeDN attribute value in CSV format. Enter one email address per line, and use the full email address, including the domain name, such as firstname.lastname@example.org.
Here's an example:
email@example.com,GOOGLE, /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=jsmith
firstname.lastname@example.org,GOOGLE, /o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=bjones
email@example.com,GOOGLE,"/o=First Organization/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=Michael, Wise"It might take up to two hours for the sync to happen for the added users.