Recently I decided to compliment my Alexa dominated Smart Home setup with a Google Home smart display (too many limitations with Echo Show right now). I decided to try the JBL Link View; I liked aspects of the Lenovo Smart Display and Google Home Hub better but ultimately passed due to poorer audio quality and screen size (too small or too big). One initial problem is that Google Home appeared to only support Google Calendar, while Alexa supported both my work Office 365 calendar and my personal Google Calendar.

While there are IFTTT Recipes to sync Office 365 Calendars with Google, I’ve found they tend to not be reliable long term. I was reminded of Microsoft Flow so I decided to give that a try instead.

Creating a New Google Calendar

First I created a new Google calendar for work events. Since this mixes work calendar events with personal ones in the same account, it’s best to have separation. Plus on my phone where I already have an O365 calendar I’d want to turn off the Google work calendar to prevent duplicate events but on Google Home I’d want the calendar turned on. It’s also worth mentioning that if your work calendar events have any confidential information you may need to consider that (more on this later).

From, I created a new calendar as follows.

Creating the Flow

From Office 365 Apps I then launched Microsoft Flow.

The next step was searching for the template “Sync events from Office 365 Calendar to Google Calendar”. Once selected I only had to select which calendars to sync (after authorizing access).

This template was the real key and is well done and easily consumed. My initial mistake was starting from a blank template and adding separate flows for when a calendar event is added, updated, and deleted. Add is trivial but update and delete are more involved that you might think (you can’t just directly match calendar ids etc.). You can see an idea of the steps with the flow open.

Flow is very similar to Azure Logic Apps which can be really handy; see also my post Exploring Azure Logic Apps with an IP Camera.

Advanced: Customizing the Flow

Optionally it can be handy to customize the template defaults. For example if your work events might contain confidential info you might just omit the description when syncing. In my case I decided to prefix sync’d event titles in Google Calendar with “Work: “; most of the time it’s obvious what’s a work event and what’s personal but it can be handy at a glance.

After saving the flow you can see its run history on the View Flow page. How often the flow will run will vary according to the Office 365 pricing plan but in my case it seemed to be 5 minutes or less which was more than sufficient for my needs.

After it runs I can now see my O365 calendar events on the home screen of my Google Home smart display along with my personal Google Calendar events.

Unfortunately it currently appears that event description / body doesn’t show up on Google Home when opening the event though the data is there. Practically speaking that’s rarely something I need but it could be handy at times.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.