Notification

Duet AI is now Gemini for Google Workspace. Learn more

Set up Calendar Interop

3. Allow Exchange users to see Calendar availability data

Next, set up Google Calendar availability sharing to allow Microsoft Exchange users to view availability information for Google Calendar users.

If you're using a Google Workspace domain with an alias, make sure you've set up your user alias domain correctly before continuing. For details, go to Decide whether to use a user alias domain.

You're on step 3 of 5

Set up Calendar availability sharing

Expand all  |  Collapse all

Step 1: Set up your Google Workspace users

Make sure each of your Google Workspace users:

  1. Has a Google Workspace account with Google Calendar turned on. Learn more
  2. Has a mail contact on the Exchange server. This helps Exchange retrieve availability information from Google. For details on creating a mail contact, consult this Microsoft article.

    Note: You can create mail contacts on Exchange not only for your Google Workspace users' primary calendars, but also for group calendars and calendar resources (if you want them to be visible from Exchange as well).

  3. Ensures mail sent to the mail contact's address on Exchange is delivered to the user's Gmail address for their Google Workspace account.
  4. Ensures the mail contact appears in the Global Address List (GAL) on Exchange, so users can find it when setting up meetings. Adding contacts can be scripted using a combination of Microsoft PowerShell and the Google Directory API.
  5. Ensures the mailbox is hidden in the GAL if a Google Workspace user also has an Exchange mailbox. This way, the mail contact is selected (and the associated calendar availability is visible) when someone invites the user to a meeting.

Note: If you’re using user alias domains, make sure the mail contacts on the Exchange server contain email addresses of both the primary domain and the user alias domain. The primary email address should use the user alias domain (for example, hao@googleworkspace.altostrat.com) so the availability lookups are routed to Google Workspace using the user alias domain. The secondary address should use the primary domain (for example, hao@altostrat.com) so Exchange users can find this email address when searching the GAL and send emails to it.

Step 2: Turn on internet connectivity

Turn on outbound internet connectivity so the Exchange server can communicate with Google servers. The Exchange server needs to be able to send HTTP (EWS SOAP) requests to the following URLs:

Step 3: Create a Google role account

The Exchange server uses the role account to access Google Workspace so it can get availability information of Calendar users. The account should be a standard user account and used only for Calendar interoperability.

  1. Create a user account in Google Workspace. This account is the Google role account which is used by Exchange to access Google Calendar users' availability information. For events to be visible to Exchange users, they must be visible to the Google role account. Make sure this account is not turned off or deleted.
  2. Turn on Calendar for the account and ensure it has either free/busy or event detail access to check availability for all domain users.

    For event detail lookups to work, the Google role account must have event detail access to Google Calendar. When setting permissions, the Google role account settings must match the Calendar Interop settings (with the lowest permission set taking effect).

  3. Open the Exchange authentication credential generation tool.

    You must be signed in as a super administrator for this task.

  4. Check the I understand that regenerating these credentials will revoke any old credentials for the Google Role Account box.
  5. Click Generate new credentials.
  6. When prompted, you must sign in as the Google role account to generate credentials for the new account created above. Do not sign in as the current user.
  7. Once signed in with the Google role account, review the Terms of Service and click Allow.
  8. Click Download to get the generated credentials. Save the credentials, as you'll need them to add the availability address space to Exchange.

Important

  • The credentials can only be downloaded once, so be sure to save the file and store it in a secure place.
  • Generating a new set of credentials for the Google role account revokes any existing credentials created for this user. If you want to allow multiple Exchange servers to find Calendar user availability information (for example, you're using a hybrid Exchange/Exchange Online (Microsoft 365) environment), generate the credentials once and use them for all your Exchange servers.
  • Use an account with non-administrator privileges.
  • If you want to stop propagating free/busy to your Exchange users, delete the role account.
  • If the credentials are revoked, reconfigure your Exchange server as explained in the next step.
Step 4: Add an availability address space to Exchange

Google Calendar must be added as an availability address space in Exchange to allow Exchange to query Google Workspace for the mail contacts you set up earlier.

For each Google Workspace domain, you need to run several commands in Exchange Server PowerShell (also known as Exchange Management Shell). When you run commands, you need to set certain parameters. The configuration tool provides PowerShell code with the parameters required.

Note: For details on how to connect to Exchange Server PowerShell, consult your Microsoft documentation.

Add the availability address space

You must be signed in as a super administrator for this task.

  1. Open the Exchange server configuration tool.
  2. Upload the credential file for the Google role account you generated in the previous step.
  3. Select the Exchange server version option you’re configuring.
  4. Specify the email of the local account on Exchange that Google Calendar can use to make organization wide free/busy requests to Exchange. These requests allow Google Calendar to get free/busy information of any account on Exchange within the organization. For example, interop-svc@altostrat.com.

    Note: The local account email address should be the Exchange role account.

  5. Specify the Google availability address space you wish to add to Exchange.

    Notes:

    • If connecting to your organization's own Exchange environment, the Google availability address space should be different from your Exchange domain, likely a separate Google Workspace user alias domain (for example, googleworkspace.altostrat.com if your Exchange domain is altostrat.com). For details, go to Decide whether to use a user alias domain.
    • If setting up interoperability between multiple companies, the Google availability address space should match your organization's Google Workspace domain (for example, solarmora.com).
    • In both instances, the Google availability address space should be a domain name without an account username. Don't use the Google role account.
  6. Click Show Exchange setup.

    The tool generates both Exchange server settings and a fragment of PowerShell code that can be pasted into Exchange Server PowerShell to configure the availability address space of your Exchange server.

    For details on adding an availability address space, consult your Microsoft documentation.

  7. Paste the code as one single line into Exchange Server PowerShell on your Exchange server and press Enter.

    Note: If the availability space exists, you'll be prompted to remove it. It must be removed for the new availability space to be added.

Example

If your Google users' addresses are in the Google Workspace user alias domain @alias.altostrat.com, and you’re setting up Calendar Interop for Exchange 2013 or later, or Exchange Online:

if ((Get-AvailabilityConfig) -ne $null) { 
     Set-AvailabilityConfig -OrgWideAccount interop@alias.altostrat.com; 
} else { 
    New-AvailabilityConfig -OrgWideAccount interop@alias.altostrat.com; 
}
$password = echo "vj4XJ711VM6uRfNUZQRzHsBd5rI9qtSwqR9XvDFBDYW_gDawBakTFWLJqqn3SHvZ" | ConvertTo-SecureString -asPlainText -force; 
$credentials = New-Object System.Management.Automation.PSCredential -argumentList "alias.altostrat.com\interop", $password; 
Remove-AvailabilityAddressSpace alias.altostrat.com -ErrorAction SilentlyContinue -Confirm:$false; 
Add-AvailabilityAddressSpace -forestName alias.altostrat.com -accessMethod orgwidefb -credentials $credentials-targetAutodiscoverEPR https://calendar.google.com/autodiscover/autodiscover.xml

Note: The username and password above are specific to Exchange, and are not the username and password of the Google role account.

Step 5: Wait or restart your Exchange server

After you run the Add-AvailabilityAddressSpace command, it might take some time for the change to take effect. If you experience a delay and want the changes to take effect immediately, restart your Exchange server.


Google, Google Workspace, and related marks and logos are trademarks of Google LLC. All other company and product names are trademarks of the companies with which they are associated.

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Main menu
5644297844836401018
true
Search Help Center
true
true
true
true
true
73010
false
false