Microsoft Office 365 Calendar to Google Workspace Calendar Sync

Having multiple calendars with different events on each one is a sure path to double bookings. Get organized and reliable by subscribing to your Outlook Calendar in Google Calendars.

Microsoft Office 365 Calendar to Google Workspace Calendar Sync

Complete hypothetical here but imagine that you use Google Workspace for your email and calendar but your employer uses Microsoft Office 365/Outlook.

Let’s say hypothetically that you wanted to be able to see your upcoming work calendar together with your personal calendar such that you can look in one place to see what time you have events throughout the day. Can this even be done?

This is especially applicable when working from home, while also occasionally working flexible hours, sometimes outside of traditional business hours. Or like when you're trying to book a Doctor's appointment during the workweek.

Originally I found this method of sharing your Outlook Calendar using an ICS link however Google only allows you to sync every 6 to 24 hours. This delay makes the validity of the events in the calendar suspect so in practice, I ended up still checking both calendars, which kind of defeats the purpose.

Fortunately, someone has written a simple script, a script that reminds me of a sync script that I wrote while at Atlas Digital that syncs Sage Time and Attendance (Insperity TimeStar) time-off events to Google Calendar.

At first, I was suspect, the Stack Exchange post that referenced the script article had comments from someone in 2019 that said the Google Apps Script was not feature-complete. So I did some research and it turns out that it is now a feature-rich application and I gave it a shot. Although I wouldn’t mind running this as a function in Kubernetes, as a scheduled cronjob, similar to my CL renew job, I find that this Google Apps Script is sufficient.

And let me tell you it works, really well! I think a sync every 15 minutes is sufficient. But what’s great about this, I have it set up such that it will delete events, so and I don’t have any work events from the past, all I’m seeing on my personal calendar is work future events, which is all I need this for planning.

If this is your situation, give it a shot!
(The installation instructions are at the top of the script, it's pretty straightforward)