Why I Loved Integrating With Exchange and Office 365 Calendars

Creating Appointment.one was an awesome exercise in how best to abstract away the differences across calendaring systems.  We learned a lot and ultimately came to love two undeniably unique features Microsoft implemented.

Getting Started

First let’s cover some background to put this all into perspective.  We have published integrations with the three major calendaring providers:

Sure, Google Apps, Office 365, and Exchange all offer the same basic concepts of appointments, attendees, etc.  The nuance lies in how their implementations differ, and successfully accounting for that.  Our abstraction layer smooths over these differences while at the same time exposing the best and unique functionality that each platform offers.

An example of this is HTML support within the appointment body.  The overwhelming majority of customers show a preference for styling their messages, whether to meet branding requirements, to make things easier to read, or to take advantage of the appointment People View functionality.

Implementing this was a struggle, considering that:

  • Google (until recently) did not support any formatting.
  • Office 365 and the newest release of Exchange supported most common HTML tags.
  • Older versions of Exchange (even only one to two years back) supported a small subset of the HTML tags and rendered those inconsistently.

Our abstraction layer is able to untangle this mess by determining what platform and version is in use.  From here we offer different options within our event and calendar-specific settings and in the actual engine that schedules appointments.

So given the above, what are the two areas where Microsoft calendars blow their competition out of the water?

Reporting on All Meeting Attendees, Not Just a Select Few

Google and Microsoft alike keep a record of who was originally invited to a meeting.  That’s where the similarities end.  Google has a number of unexpected behaviors involving forwarded invitations that result in a diminished experience using the Google calendar.

Forwarded Invitations are a matter of public record.  When a Microsoft invitation is forwarded, the meeting host’s calendar is updated to reflect the net new attendee.  This is immensely valuable when strategizing how best to run an effective meeting, even if the new attendees don’t respond to the invitation.

Unsolicited attendees are incorporated when they respond.  Not all calendar systems share if a meeting invitation has been forwarded, and that’s just fine.   What Microsoft does to mitigate this is to add new attendees to invitations that respond Accept / Decline / Maybe to invitations they were forwarded.

See the screenshot below, since this calendar in based on a Microsoft system we know the invitation was forwarded to a new attendee and they will not make it to the meeting.

Now you know two new pieces information:

  • Jane wants her manager Joe Mendez to attend.  Hmm, that’s interesting, why would someone else need to be part of the discussion?
  • Joe Mendez is unable to attend.  Maybe we should reschedule so the meeting has the right people to be productive.

Contrast this with a Google calendar implementation in which we would know nothing about Joe getting the invitation or how he responded to it.  Imagine your surprise when someone unexpected shows up!

Exposing Detailed Attendee Response Information

Microsoft exposes when an Accept / Decline / Maybe response was received, which can be exceedingly helpful when planning just prior to your meeting.

Consider two scenarios:

  • Jane responded just minutes before the meeting was due to start.
  • Joe responded days before the meeting.

Jane’s response is a touch useless, isn’t it?  Everything is already locked and ready to go.  Then at the last minute a critical attendee forces everyone to change.

Is this poor etiquette?  Will sharing this info apply social pressure?

Either way Microsoft has given hosts access to more information, and that helps everyone be more successful.

What Happens Next

After integrating Appointment.one with the Microsoft calendar endpoints I gained access to one of the most empowering tools as a meeting attendee – the same visibility that hosts have about other attendees!

Hosts know everyone invited to the meeting (especially those who were forwarded the invitation) – now attendees know this.

Hosts know when attendees responded and what their response was – now attendees know this.

By packaging this into the appointment management screen we were able to empower everyone, and that’s just cool.