Exchange Online Cross Tenant Calendar Free/Busy Availability Information

I was recently asked how to enable cross tenant calendar lookup, for arranging meetings, where two organizations are running their email services in Exchange Online. This happened to be something I had not thought about before, however in a company merger situation this would be an invaluable tool. Fortunately within Exchange Online the building blocks are already in place, we just need to light up the correct features and configuration.

The following steps below need to run in each tenant, as each tenant creates a one-way Organization Relationship to the other tenant.

Step 1: First we will enable organization customization, lighting up the features.

 Enable-OrganizationCustomization

Step 2: We then need to create an Organization Relationship, lighting up the configuration.

Since both organizations in my scenario are in Exchange Online it is important to note the use of the .onmicrosoft.com in the -DomainName parameter. You will see the result in the TargetAutoDiscoverEpr attribute once the Organization Relationship is created; it should look like this:

 TargetAutodiscoverEpr : https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc/WSSecurity

Anyway back to creating that Organization Relationship. Let's say you are running the below Powershell command in tenant A, your -DomainName parameter will point to tenantB.onmicrosoft.com, similiarly you will probably want the name to be more in line with your organizational names.

 Get-FederationInformation -DomainName contoso.onmicrosoft.com | New-OrganizationRelationship -Name "Organization Relationship with contoso.com" -FreeBusyAccessEnabled $true -FreeBusyAccessLevel AvailabilityOnly

Notice the AvailabilityOnly on that last command? Check out https://technet.microsoft.com/en-us/library/ee332357(v=exchg.160).aspx. If you want your users to see more information, you could choose to use -LimitedDetails so your users can see 'Free/busy access with time, subject, and location'.

Step 3: Now our Organization Relationship is in place, we should check a couple of things, which will prevent us from tripping up as we test the configuration with Outlook and OWA.

Run the below (and copy the result to notepad to refer to as you go through the rest of these steps):

 Get-OrganizationRelationship "Organization Relationship with contoso.com" | FL

In this scenario both organizations are in the cloud, so confirm the TargetAutodiscoverEpr is set as below:

 TargetAutodiscoverEpr : https://autodiscover-s.outlook.com/autodiscover/autodiscover.svc/WSSecurity

Potentially it can look like the below (pointing to an On-Premise Exchange environment):

 TargetAutodiscoverEpr : https://autodiscover.contoso.com/autodiscover/autodiscover.svc/WSSecurity

If it is, you must have used -DomainName contoso.com instead of -DomainName -contoso.onmicrosoft.com when you ran the command to create the Organization Relationship. You can simply run the below command to remove the Organization Relationship, and start again from step 2.

 Get-OrganizationRelationship "Organization Relationship with contoso.com" | Remove-OrganizationRelationship

Getting back on track, when we created the Organization Relationship, we used the -DomainName contoso.onmicrosoft.com we need to add the vanity domain into the configuration, so as Free / Busy requests come in the tenant knows which Organization Relationship to use. To do this we run:

 Get-OrganizationRelationship "Organization Relationship with contoso.com" | Set-OrganizationRelationship -DomainNames contoso.mail.onmicrosoft.com, contoso.onmicrosoft.com, contoso.com

Note in the example above we are adding contoso.com, the vanity domain name to the Organization Relationship.

Step 4: Testing.

At this point we are done, we may just have to wait for Azure Active Directory replication.

We can now test the functionality in Outlook and OWA clients and see what results we get. With everything we have done above users can check cross tenant availability information using email addresses, you will need to create mail contacts in order for users to be able to search and select the other tenants contacts from the address book; Though this is another topic for another day.