5 minute read
Cloud Infrastructure Management

G-Suite and Exchange Interop

1. Introduction

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.

2. Prerequisites

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 username@domain.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 “user@domain.com” 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:

Arghya Roy

About Arghya Roy

Arghya Roy is a vibrant and performance-driven Microsoft Certified IT professional with 11 years of experience. He has enriched expertise in Project Execution, Implementation and Integration in Microsoft Technologies. He has gained hands-on experience in cloud computing, messaging, hypervisor migration, co-existence and migration working on different projects at Netwoven.

He started his career as a Junior Executive Engineer in Hardware & Networking domain and gradually moved towards technologies, which allowed to have footprints in SMBs and enterprise business markets. Arghya holds a Diploma and Certification in Computer Application & Hardware Engineering from IGNOU & IIHT respectively.


3 replies on “G-Suite and Exchange Interop”

This article was helpful in getting Free/Busy lookups working for us between Exchange 2013 and Google. Initially we were able to lookup Exchange contacts in Google but did have problems looking up Google contacts in Exchange. Below is what we did to fix it in case anyone experiences the same thing.

It is not immediately apparently but setting the Google Availability Name / ForestName correctly in step 4b is very important in order for the lookups to work. You must make sure that this uses the domain name of the email accounts in your Google environment so that when the powershell code is generated it sets -ForestName appropriately. As detailed here: https://blogs.technet.microsoft.com/exchange/2018/02/06/demystifying-hybrid-freebusy-what-are-the-moving-parts/ when Exchange does a Free/Busy look up on a contact, if it can not find a local trusted domain it will then eventually search for a matching AvailabilityAddressSpace based off of the domain name of the contact. If it can’t find one then it fails.

As an example if your Google email accounts use user@googledomain.com then you need to:
1. Configure all your contacts using user@googledomain.com
2. Configure your Google Availability Name / ForestName as googledomain.com

Lastly after setting up the AvailabilityAddressSpace you need to wait 30-45 minutes for it to take effect so be patient. We wasted a lot of time figuring all this out so hopefully this helps someone.

Leave a Reply

Your email address will not be published. Required fields are marked *

Enter Captcha Here :