How to add an Outlook calendar to Google Calendar and keep it up to date
Getting an Outlook calendar into Google Calendar is either a two minute job or an impossible one, and which of the two depends on something most guides skip: whether the Outlook account is yours or your employer's. Personal Outlook.com accounts can publish a calendar and Google can subscribe to it. Many corporate accounts cannot publish at all, because an administrator turned that off, and no amount of clicking will reveal the option.
Start by finding out which situation you are in. Everything else follows from that.
The two routes, and what each one gives you
Google Calendar accepts an Outlook calendar in exactly two ways.
A file import copies events once. Microsoft's own page on exporting an Outlook calendar to Google Calendar states it plainly: you are exporting a snapshot, and changes you make to the Outlook calendar afterwards are not reflected in Google Calendar.
A URL subscription keeps updating. Google Calendar adds a calendar from a published address and refreshes it on its own schedule. Google's help is equally clear about its limit: adding a calendar by link only works when the other calendar is public.
| Import a file | Subscribe to a link | |
|---|---|---|
| Stays current | No | Yes, on a delay |
| Editable in Google Calendar | Yes, as copies | No, read only |
| Needs publishing permission | No | Yes |
| Keeps guests and meeting details | No | Shown as text |
| Right for | Leaving Outlook behind | Watching a schedule you do not own |
The choice is not really about convenience. If you are moving to Google Calendar permanently, import. If you need to keep seeing an Outlook schedule while it continues to change, subscribe.
Subscribing to a published Outlook calendar
This is the route that keeps working, so try it first.
In Outlook.com or Outlook on the web, open the calendar settings and find the publishing option under shared calendars. Choose the calendar, choose how much detail to publish, and publish it. Microsoft's own documentation on sharing describes publishing a calendar and sending people a link to a webpage or a file. Two addresses are produced: an HTML one for viewing in a browser, and an ICS one. The ICS address is the one Google needs.
Then in Google Calendar on a computer, look at the left column next to Other calendars, click the plus, and choose From URL. Paste the ICS address and add the calendar. Google's help describes this exact path and notes that the calendar then appears under Other calendars.
Three things to know before you rely on it.
Published means readable by anyone with the link. The address is unguessable, but it is not protected by a password. Publishing full details makes every event title, time and location readable by whoever holds it. Publishing availability only shares much less and is often enough.
The refresh is not immediate and cannot be forced. Google does not offer a button to refresh a subscribed calendar on demand, so a change made in Outlook minutes before a meeting will not be visible on the Google side in time.
It is read only. The events cannot be edited, moved or responded to from Google Calendar.
When publishing is not available
Open the sharing settings and the publish option is simply absent. That is not a bug. Administrators of Microsoft 365 organizations can turn off calendar publishing for the whole tenant, and many do, because a published calendar is readable by anyone who finds the link.
There is no user side workaround for this, and the guides that suggest one are usually describing an older version or a different account type. What remains:
Ask the administrator. Publishing can sometimes be allowed for availability only, which is enough to prevent double bookings and exposes nothing.
Ask to be invited properly. If the goal is to see meetings that colleagues organize, having them invite your Google address puts real events on your Google calendar, with updates and the ability to respond. This is better than any copy.
Use an approved sync service. Hosted services connect to both accounts and copy events in minutes rather than hours. They need permission to access the work account, so this is an administrator's decision too.
Read both calendars in one app. A desktop calendar that connects to each account shows them together without publishing or copying anything. What matters is which account types the app supports, so check that first.
Importing an Outlook calendar as a one time copy
If the aim is to move to Google Calendar, an import does the job.
In classic Outlook, open the Calendar, select the calendar, and choose File then Save Calendar. Microsoft's guidance describes naming the iCalendar file and using More Options to set the date range and the level of detail, warning that choosing the whole calendar can produce a large file that takes a while to generate.
Then in Google Calendar, open Settings, select Import and export, choose the file, pick which calendar receives the events, and import. Google's help confirms the file must end in .ics or .csv, and that a ZIP file has to be unpacked first so each .ics inside can be imported separately.
Two losses are worth naming before you do this.
Google's help states that when an event is imported, guests and conference data for that event are not imported. Meetings arrive as plain events with no attendee list and no join link in the conferencing field. If the Zoom or Teams details were typed into the body of the event, that text comes across, which is often the only thing that saves a migrated meeting.
Repeating events from a CSV file may not stay repeating. Google's help notes they can arrive as a series of one-time events, which looks correct but cannot be edited as a series afterwards.
Which Outlook calendar are you actually adding
Outlook accounts, especially work ones, hold more than one calendar, and the distinction decides whether any of this works.
Your own calendar is the straightforward case. You own it, so you can publish it if the organization allows publishing, and you can export it to a file.
A calendar someone shared with you is different. You can see it in Outlook, and you cannot publish it, because publishing is the owner's right. Exporting is usually possible only for calendars in your own mailbox, which is why the calendar people most want to bring across, a manager's or a team's, is often the one that cannot be moved. The owner has to publish it and give you the address.
Room and resource calendars behave the same way. They belong to the organization, and only an administrator can expose them outside it.
A group or shared mailbox calendar sits in between. Access depends on the permissions granted to you, and export options vary by Outlook version, so the practical test is simply whether Save Calendar is available when that calendar is selected.
Work through this before troubleshooting anything. A surprising share of failed setups are not technical failures at all: the calendar in question was never yours to export in the first place, and the correct next step is a message to its owner rather than another attempt at the settings screen.
Keeping the copy from going stale
Whichever route you take, the failure mode is the same: the Google side quietly falls behind and someone schedules over a meeting that moved.
Habits that prevent it:
- Treat the subscribed calendar as a reference, not as the schedule. Check the source for anything happening today.
- Name the calendar in Google so it says where it came from and that it is read only. A name such as Work (read only, delayed) does more than any amount of remembering.
- Give the subscribed calendar a distinct color, so an event from it never looks like one you can move.
- Turn its notifications off. The source calendar should be the one that alerts you, or you get two reminders at different times.
- Re-import rather than patch. If you took the file route and the calendar has drifted, delete the imported calendar and import a fresh export instead of fixing individual events.
For anything where the delay is genuinely unacceptable, the choice comes down to a paid sync service or an app that reads both accounts directly. Both cost something; neither has a refresh cycle to wait for.
A word on the direction you actually need
Many people who set out to add an Outlook calendar to Google Calendar are solving a visibility problem, not a data problem. They want to look at one screen and see the whole week.
Copying is one way to get there and the one with the most ways to fail: stale events, duplicates, lost invitations, doubled reminders. Connecting each account in a single calendar app gets to the same place with none of them, because the events are read live from each account rather than duplicated into one.
The constraint is account support. An app built around Google accounts shows every Google calendar beautifully and does nothing for an Exchange account that blocks outside access. The comparison page sets out which apps connect to which services, and the guide covers connecting more than one account and choosing where new events land.
If you cannot connect the work account in any app, the honest answer is the one nobody likes: use both systems, and make the work calendar the one that decides, since that is where other people book you.
Common failures and what they mean
Google accepts the address but no events appear. Give it a full refresh cycle first. If it stays empty, the address is probably the HTML viewing link rather than the ICS one. Publishing produces both, and only the ICS address works in Google Calendar.
Only a few weeks of events come across. Published feeds often carry a limited window rather than the entire calendar. That is a property of the feed, not of Google, and it cannot be widened from the subscribing side.
Events show as Busy with no title. The calendar was published with availability only. Republishing with more detail changes it, if the organization permits that level.
Times are an hour out. This appears around daylight saving changes and with calendars published from a different time zone. Check the time zone setting on the Google calendar receiving the events before assuming the feed is wrong.
The import produced hundreds of one-time events instead of a series. That is the documented behaviour for repeating events in CSV files. Re-exporting as ICS instead of CSV usually preserves the pattern.
Everything appears twice. Either the calendar was imported and then subscribed to as well, or the same feed was added to two Google calendars. Remove one of the two paths rather than deleting events.
What to change first
Check whether the Outlook account can publish a calendar at all, because that single answer decides your route. If it can, subscribe by ICS address rather than importing a file, and colour the result so it is never mistaken for something you can edit. If both calendars only need to be visible on a Mac, connect them in Caltimate instead of copying events at all.
Frequently asked questions
Why is there no publish option in my Outlook calendar settings?
Administrators of Microsoft 365 organizations can turn calendar publishing off for everyone, and many do. If the option is missing, ask whether publishing availability only can be enabled, or ask colleagues to invite your Google address to meetings instead.
How long does a subscribed Outlook calendar take to update in Google Calendar?
Google refreshes subscribed calendars on its own schedule and gives no way to force it. Expect delays measured in hours rather than minutes, and check the Outlook side for anything happening today.
Can I edit Outlook events after adding the calendar to Google?
Not if you subscribed by link: that calendar is read only. If you imported a file, the events are ordinary Google events you can edit, but your edits stay in Google and never reach Outlook.
Why did the guests disappear from my imported meetings?
Google's help states that guests and conference data are not imported with events. An imported meeting becomes a plain event, so attendee lists and join buttons do not survive the trip.
Is publishing a calendar safe?
A published calendar is readable by anyone who has the link, without signing in. Publish availability only rather than full details unless the contents are genuinely public, and stop publishing when you no longer need it.