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. For details, go to Turn Calendar on or off for users
  2. Has a mail contact on the Exchange server. Doing so 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, [email protected]) so the availability lookups are routed to Google Workspace using the user alias domain. The secondary address should use the primary domain (for example, [email protected]) so Exchange users can find this email address when searching the GAL and send email messages 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:

  • https://calendar.google.com/autodiscover/autodiscover.xml
  • https://calendar.google.com/Exchange/Exchange.ews
Step 3: Create a Google role account & generate credentials

The Exchange server uses a role account to access Google Workspace so it can get the availability information of Calendar users.

Before you begin

  • Create a role account in Google Workspace–This account is used by Exchange to access Google Calendar users' availability information. The account should be a standard user account and used only for Calendar interoperability. Make sure this account is not turned off or deleted. For details on setting up the account, go to Options for adding users.
  • Turn on Calendar for the account–For details, go to Turn Calendar on or off for users. After you do, make sure that the events you want to share are visible to the Google role account.
  • Give the Google role account sharing access to Google Calendar–Ensure it has either free/busy or event detail access to check availability for all users. Google role account settings must match the Calendar Interop settings (with the lowest permission set taking effect).

Generate credentials

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

  1. Sign in to your Google Admin console.

    Sign in using an account with super administrator privileges (does not end in @gmail.com).

  2. In the Admin console, go to Menu and then Appsand thenGoogle Workspaceand thenCalendar.
  3. Click Calendar Interop management.
  4. For Calendar availability in Exchange, click Generate Exchange Server configuration.
  5. Choose an option:
    • If you haven't created credentials or lost the file, click Generate a new one and move to step 6 in this task.
    • If you have the file, click Choose File and select your credentials file. Then, go to Step 4: Add an availability address space to Exchange (later on this page).
  6. To generate a new set of Exchange authentication credentials, enter the Google role account email address. 
  7. Check the agreement box.
  8. Click Generate new credentials.
  9. To get the generated credentials, click Download. Save the credentials, as you need them for the next step.

Important

  • The credentials can be downloaded only once. Make sure you 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 the user. To allow multiple Exchange servers to find Calendar user availability information (for example, if you're using a hybrid Exchange/Exchange Online (Microsoft 365) environment), generate the credentials once and use them for all your Exchange servers.
  • If the credentials are revoked, reconfigure your Exchange server as explained in the next step.
  • If you want to stop propagating free/busy information to your Exchange users, delete the role account.
Step 4: Add an availability address space to Exchange

Next, you must add an availability address space in Exchange to allow Exchange to query Google Workspace for availability information.

To do this, you need to run several commands in Exchange Server PowerShell (also known as Exchange Management Shell). The configuration tool in these steps generates the PowerShell code that you can copy and enter.

Add the availability address space

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

  1. Sign in to your Google Admin console.

    Sign in using an account with super administrator privileges (does not end in @gmail.com).

  2. In the Admin console, go to Menu and then Appsand thenGoogle Workspaceand thenCalendar.
  3. Click Calendar Interop management.
  4. For Calendar availability in Exchange, click Generate Exchange Server configuration.
  5. Upload the credential file for the Google role account you generated in the previous step.
  6. For Email of the local account, enter the email address of the Exchange role account. Google Calendar uses the account to make organization-wide free/busy requests to Exchange.

    Example: [email protected]

  7. For Google availability address space, enter the address space.

    Be aware of the following points:

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

    The tool generates both Exchange server settings and a fragment of PowerShell code.

  9. To set up the availability address space, copy and paste the code as a single line into Exchange Server PowerShell on your Exchange server and press Enter.

    For details, see the next example.

  10. If the availability space exists, you're prompted to remove it. You must remove an existing availability space before you can add a new one.

Example

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

The username and password in the example are for Exchange, not the Google role account.

if ((Get-AvailabilityConfig) -ne $null) { 
     Set-AvailabilityConfig -OrgWideAccount [email protected]
} else { 
    New-AvailabilityConfig -OrgWideAccount [email protected]
}
$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

Step 5: Wait or restart your Exchange server

After you enter command in PowerShell, it might take some time for the change to take effect. If you 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
Google apps
Main menu
15885915971860154838
true
Search Help Center
true
true
true
true
true
73010
false
false