The document is intended for setting G-Suite and Exchange Calendar/Free/Busy Interop for user to allow sharing Free/ Busy and calendar across different organizations/domains. This can also be used to deploy the interop between O365 through on-premise exchange hybrid deployment in place.
On port 443, enable inbound Internet connectivity so that the Exchange server can be reached by Google Calendar
3. Allow G-Suite Calendar users to see Exchange free/busy Data
a. Create an Exchange role account
- Create an Exchange role account—The Exchange role account should be a low-privilege account without an associated mailbox (mail-enabled user). The account will only be used for free/busy lookups. Google Calendar uses this account to authenticate to your Exchange server to look up the free/busy details of Exchange users.
Note: If you have an existing account that you use for OrgWide free/busy lookups from untrusted forests, you can reuse that account.
- Run the Set-AvailabilityConfig -OrgWideAccount command in the Exchange PowerShell (also known as the Exchange Management Shell).
b. Set up the Admin console
- In the Admin console of your primary domain, go to Apps and then G Suite and then Calendar.
- Click Calendar Interop management.
- Under Exchange Web Services URL, enter the URL of the Exchange Web Services (EWS) server associated with your Exchange server. This is the same Exchange server where you created the role account.
- In the Exchange Role Account box:
- In the email@example.com format, enter the Exchange role account username.
- Click Enter Password and enter the password for the role account.
- Renter the password to confirm.
- Ensure the Enable user availability lookups box is checked. Click Save changes.
4. Allow Exchange users to see G-suite user's calendar free/busy data
a. Set up your G Suite users
- A G-Suite account with Google Calendar enabled.
- A mail contact on the Exchange server.
- Ensure that mail sent to the mail contact's address is delivered to the user's Gmail address for their G Suite account.
- Ensure that the mail contact appears in the Exchange Global Address List, so users can find it when setting up meetings.
- If a G Suite user also has an Exchange mailbox, make sure that the mailbox is hidden from the Global Address List. That way, the mail contact is selected (and the associated calendar availability is visible) when someone invites the user to a meeting.
- The Exchange server uses the role account to access G Suite so it can get the free/busy information of Calendar users. The account should be a standard user account and used only for Calendar interoperability.
- Open the credential generation tool >> https://calendar.google.com/Exchange/tools/authui
- Click Generate new credentials.
- When prompted, sign in as the Google role account, review the Terms of Service, and click Allow.
- Click Download to download the generated credentials. Save the credentials, as you'll need them to add the availability address space to Exchange.
b. Add the availability address space
Open the Configuration tool. >>> https://calendar.google.com/Exchange/tools/configurator
Upload the credentials file for the Google role account that you generated in the previous step.
Enter the email of the local account on exchange that G-suite calendar can use to make “OrgWide” free/busy request.
Enter the name of the Google availability address space you wish to add to exchange.
Click Show Exchange setup.
- You are given a fragment of PowerShell code that can be pasted into the Exchange Management Shell of your Exchange server to configure the availability address space for the server.
- It will look like below
5. Verifying Free/Busy with Troubleshooting Tool
- Open the troubleshooting tool - For Calendar Interop >> https://calendar.google.com/Exchange/tools
- In the User to make free/busy query for box, enter the email address of the user, using one of the following options:
- If you want to verify whether an Exchange user can query the free/busy status of a Google user, enter the email address of a user on Exchange.
- If you want to verify whether a Google user can query the free/busy status of an Exchange user, enter the email address of a Google user.
- Here we have tested to lookup availability of exchange user "firstname.lastname@example.org" and click on "Perform test"
- If any test fails then it will look like.
- It can be also tested from Exchange OWA and G-Suite email portal. In exchange OWA, we should check with "Schedule Assistant" at the time of creating meeting event or appointment.
Exchange to G-Suite
- In G-suite, we should check in "Find Time" adding in Guest area. Then it will show up the free/busy status.
G-Suite to Exchange: