I could not find an up to date question about how to sync an Office 365 calendar to Google calendar. I do not wan't to use an application designed to use the desktop version of Outlook like OggSync and similar software. I want it to be done only using the web apps without me having to update it every time I make a new calendar event, it should be done automatically.

  • 6
    I don't have enough reputation to answer this - but this can be done in Microsoft Flow (Microsoft's new web workflow app). Link to template: flow.microsoft.com/en-us/galleries/public/templates/…
    – pflodin
    Feb 28, 2017 at 4:33
  • 3
    I don't have enough reputation in this Stack to answer this either, but as of August 2020 Microsoft Flow does not work anymore (broken recipes). The accepted answer below (publishing an ICS URL) does not work either as it syncs very infrequently and goes out of sync. I rolled my own (open-source, reusable) solution with a Python script: it performs an ongoing one-way sync from my work Microsoft Office 365 Outlook calendar to my personal Google calendar, handling new, updated, and deleted events. Code, details, and instructions: geoffboeing.com/2020/08/outlook-google-calendar-sync
    – gboeing
    Sep 3, 2020 at 17:36

2 Answers 2


The solution is to log into Office 365 via https://portal.office.com, click on Calendar and then click on Calendar again under "My app settings". Go to publish calendar and publish the desired calendar. Copy the ICS url created.

Office 365 Calendar

Log into Google Calendar and click the arrow on "Other calendars". Click the button "Add by URL" and paste the .ics link from Office 365. Google Calendar is now automatically updated with new events from Office 365 calendar.

Google Calendar

  • 9
    Sharing via ICS link does not work very well, because Google updates the calendar only once every 12 hours or so.
    – Greg S
    Sep 10, 2016 at 19:19
  • 9
    It seems to be even more than 12 hours. I keep not seeing events :(
    – VitalyB
    Sep 27, 2016 at 6:34
  • 8
    I still can't understand why calendars are not properly addressed by Google or Outlook yet. Come on! We can put Santa Claus on our face but we can't sync calendars? Feb 15, 2017 at 7:43
  • 4
    This also doesn't work for some people - like me - whose organizations have Outlook configured to not allow sharing of anything more than "Free/busy" outside the organization. Jan 20, 2018 at 13:04
  • 1
    Is this really still a limitation 5 years later and with no good workaround?
    – Ahmed
    Jan 17, 2020 at 6:30

The best option I've found is to use Microsoft Flow with the Copy new events in Office 365 to Google Calendar and send a notification template.

Events doesn't show up immediately, but it takes around 5 minutes. Pretty good. It also handles event updates.

  • 4
    From the flow site: Every time you add, update, or delete an event in your Office 365 Calendar it will automatically copy over to your Google calendar. Please note: this is a one-way sync, so changes made to your Google calendar won’t sync back to Office 365. Also, reoccurring events will show up in your Google calendar as individual events.
    – John Hunt
    Dec 17, 2018 at 9:51
  • 3
    but sadly, this only works on newly added events - ie, adding the event is the trigger. is there a way to get it to do a one-time sync of all events the first time you set it up?
    – jaminto
    Feb 6, 2019 at 2:41
  • To get previous events, you could download and import the ics file from the accepted answer instead of pointing your Google calendar to the URL of that ics file. That would pull down existing events, and this answer would keep them synced after the fact.
    – Randy
    Oct 17, 2019 at 13:05
  • 3
    @JohnHunt I tried this, but I got this error. low save failed with code 'OpenApiOperationParameterValidationFailed' and message 'Input parameter 'newEvent' validation failed in workflow operation 'Create_an_event': The parameter with value '"@triggerOutputs()?['body/Start']"' in path 'newEvent/start' with type/format 'String/date-no-tz' is not convertible to type/format 'String/date-time'.'.
    – spindoctor
    Oct 28, 2019 at 19:31
  • 1
    Now it's not working again. What a piss off this all is. Like, it's the 21st century. People use Microsoft 365 and macs all the time. What a joke.
    – spindoctor
    Nov 21, 2019 at 16:11

Not the answer you're looking for? Browse other questions tagged or ask your own question.