Recently I thought it would be really helpful to be able to ask my Google Nest/Assistant what my meetings are tomorrow before I go to bed, or otherwise what my next meeting is during the day. I couldn’t find any solutions to this beyond enabling public and free access to my work calendar via the Internet, or otherwise to manually export and import calendar items on a regular basis.
The obvious issues here are:
- Security
- Lots of manual work
- Periods with out of sync calendars
I decided that there had to be some other way, maybe through Microsoft Power Automate – doing some googling didn’t find a lot in the way but I was able to find some templates that would pull data into Google Calendar so I figured that I could use this to bring the calendar data in to a work Google Calendar account and then share this with my personal Google Account. I then learnt that once I have done this I can expose this to Google Assistant and through this on my Google Nest devices.
To setup integration between your Office 365 (work) calendar and Google Assistant/Nest, follow these steps:
- Export existing calendar entries
- Open Outlook
- Select File -> Open & Export
- Select Import/Export
- Select Export to a file
- Export in your favour format
- Create a Google Account for free
- Navigate to https://accounts.google.com/signup
- Follow the instructions to create a work account with your work E-mail address
- If you do not have a personal account you will need to create this also
- Import calendar
- Go to work Google Calendar (https://calendar.google.com/)
- Go to Settings -> Import & export -> Import
- Select file from your computer
- Select earlier export and import
- Share calendar
- Select the main calendar
- Go to Share with specific people
- Select Add people
- Enter the E-mail address of your personal Google Account
- Expose Calendar to Google Home
- Go Google Home
- Go to Assistant Settings
- Go to Calendar
- Expand your account
- Select your work calendar
- Create the create and update flows
- Go to Microsoft Power Automate (https://flow.microsoft.com/)
- Create Power Automate Flows using below templates:
- Create Events Template: https://unitedkingdom.flow.microsoft.com/en-us/galleries/public/templates/10c5a140c24811e6b5549975d228694f/create-new-events-on-google-calendar-from-office-365/
- Updated Events: https://unitedkingdom.flow.microsoft.com/en-us/galleries/public/templates/0e21ee50b17a11e68af78d1a54677f1f/update-google-calendar-events-previously-created-from-office-365/
- Edit both flows and set the following:
- Start time: convertToUtc(triggerOutputs()?[‘body/start’], ‘GMT Standard Time’)
- End time: convertToUtc(triggerOutputs()?[‘body/end’], ‘GMT Standard Time’)
- Complete the options with the asterisk and save the new flows
- Create a delete flow
- Copy the Updated Events flow
- Delete the first trigger
- Replace it with “When an event is added, updated or delete”
- Add a Condition below the trigger
- Set a value of “Action Type” is equal to “deleted” (without quotes)
- Move the Calendar list and Apply to each actions into Yes
- Remove Html to text and the Update event actions
- Add a new action “Delete an event”
- Select your work Google Calendar
- Add “Event List Event ID” as the event ID
- Test all flows by creating, editing and deleting events from your Outlook calendar
- Create an event in Office 365
- Check that it has been created in Google Calendar (give it some time to process, this can take a few or even 10’s of minutes)
- Edit the name and time of the event in Office 365
- Check that it has been updated in Google Calendar
- Delete the event in Office 365
- Check that it has been removed from Google Calendar
You should now be all setup and can ask your Google Nest device or Google Assistant what time is your next meeting and what meetings you have tomorrow!
6 replies on “How to sync your Office 365 (work) calendar with Google Nest”
Hi Stephen, thanks for this. Looks promissing.
But I have just 1 small question: if you say: “Follow the instructions to create a work account with your work E-mail address” :
you mean just create a new google calendar (that actially has no link with the Office 365 account)?
Or am I mistaking
Hi Ruben,
Yes that’s correct. So in my implementation of this I have an Office 365 address e.g. [email protected], and then I created a Google account with the same E-mail address i.e. [email protected]. These are two separate accounts, of course, using the same E-mail address – you don’t necessarily have to do it this way, it just felt cleaner when I did it.
If you have any issues with implementing this please let me know and I’ll try to assist further. I have learnt a bit more since writing this article, especially I had an issue with calendar times being out of sync. I had also published my patterns but may need to update them.
Kind Regards,
Steve
Flow links seem broken? able to reshare pls?
does this work backwards? i.e. if you tell google assistant to delete an entry, will it remove it from outlook?
Hi Simon,
I did try sharing the Create Events flow but Microsoft don’t seem to have accepted it still. I will try again in the week.
Kind Regards,
Steve
Hi JL,
It should work via the Updated Event but I’m having issues with this not working properly and I’ve not had a chance to investigate yet. I will update this once I’ve managed to resolve it.
Kind Regards,
Steve