Editor's Note: The following is a guest post by Office 365 MVP Loryan Strant as part of the MVP Award Program Blog's "MVPs for Office 365" series. Loryan Strant is passionate about the cloud and the opportunities it brings. Having with spent most of his 15 year career in IT delivering on-premise business productivity solutions, he founded Paradyne in early 2010 to focus on BPOS and more recently Office 365. Loryan was one of the first people in the world (that didn’t work at Microsoft or Nortel) to be certified on Microsoft OCS 2007. His passion for productivity means that he is constantly making use of the latest Microsoft offerings to further enhance the way his customers do business. Loryan frequently shares tips & tricks on his blog http://www.bpossibility.com, as well as regularly posting on Twitter (@strant).
As I personally have a passion for human productivity and the ability for people to communicate and collaborate more effectively, one of the features I’m extremely excited about with Office 365 is the ability for customers (or ‘tenants’) to be able to share calendar information between each other.
Sharing calendars isn’t a new thing, and individuals have been able to do this on a case-by-case basis previously. In Exchange Online this behaviour is actually allowed by default (you can turn it off with a policy).
What I’m going to focus on here is the ability for entire organisations to ‘federate’ and share calendars. This allows customers/suppliers/partners to work together more closely especially when scheduling meetings as it negates the need for people to call/email each other and discuss when they should book the appointment in.
This functionality is done from the PowerShell console, so our first step is establish our Office 365 tenant administrative credentials :
$cred = Get-Credential
The next step is to establish a remote PowerShell connection to Exchange Online:
$s = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://ps.outlook.com/powershell -Credential $cred -Authentication Basic -AllowRedirection
This can sometimes take a few moments, so be patient.
After the connection has been established we need to import the PowerShell commands to our local session:
$importresults = Import-PSSession $s
This process can take a few minutes and may even time out, so make sure it completes successfully before continuing further.
Now we can start getting into the guts of Exchange Online and have fun! The first step is to actually allow customizations to occur on our tenant, by way of a simple enough command:
Our final step is to actually establish the relationship between tenants. The following command will establish the relationship from your tenant to the remote tenant, but is only one way. This means that after performing the next command your calendars will be accessible by the other tenant (but not vice versa yet):
Get-FederationInformation -DomainName <other domain>.com | New-OrganizationRelationship -Name "<company name>" -FreeBusyAccessEnabled $true -FreeBusyAccessLevel AvailabilityOnly
The previous command will only share Free/Busy information. If you want to share that as well as other calendar information (eg. subject, location) then replace AvailabilityOnly with LimitedDetails.
Repeat the above on the remote tenant to set up bi-directional calendar sharing.
If all goes well, you should just be able to add the remote user as an attendee to your meetings and see at least their Free/Busy, such as the following screenshot between myself and fellow Office 365 MVP Brett Hill:
Very nice and useful post!
Looks like a helpful writeup -- thanks! -- but at Enable-OrganizationCustomization, I just get an error starting with "This operation is not available in current service offer."
Perhaps it's a $6/month limitation?
if you happen to have a fix I'd like very much to hear of it. Thanks again for the post!
Have you tried this between different Plans, such as Enterprise and Academic?
Many municipalities, at least in the Nordic want to establish both a Enterprise tenant for the employees in the municipality administration and Academic tenant for the employees of schools.
Due to Microsoft refuse of mixing plans within tenants, which I find strange since it would be an easy task to count different users and different licenses based on object properties, and the technical issue of having federation between a domain and more than one tenant, I would like to see if this can be done.
I will probably be able to solve the issue with Domain synchronization using DotNetInternals product LifeCycleServer (LCS). www.dotnetinternals.net/.../life_cycle_server