Set up Calendar Interop

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 alias domain correctly before continuing. For details, go to Decide whether to use a domain alias.

Set up Calendar availability sharing

Open all   |   Close 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 your Microsoft documentation.
  3. Ensures mail sent to the mail contact's address is delivered to the user's Gmail address for their Google Workspace account.
  4. Ensures the mail contact appears in the Exchange Global Address List, so users can find it when setting up meetings. Adding contacts can be scripted using a combination of Microsoft PowerShell and Google Directory API.
  5. Ensures the mailbox is hidden from the Global Address List, 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 domain aliases, make sure mail contacts contain primary and secondary email addresses. The primary address should use the alias domain (so the availability lookup uses the alias address). The secondary address should use the main Exchange domain (so users searching the Global Address List can find the contact).

Step 2: Turn on internet connectivity

Turn on outbound internet connectivity so the Exchange server can communicate with Google servers.

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 is the Google role account and is used by Exchange to access Google Calendar users' availability information. For events to be visible to Exchange users, events must be shared with 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.


  • 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 (Office 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,

    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.


    • 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 alias domain (for example, if your Exchange domain is For details, go to Decide whether to use a domain alias.
    • If setting up interoperability between multiple companies, the Google availability address space should match your organization's Google Workspace domain (for example,
    • 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.


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

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

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.

Next step

Verify the user availability setup

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?

Need more help?

Sign in for additional support options to quickly solve your issue

Clear search
Close search
Google apps
Main menu
Search Help Center