How to Sync Outlook Calendar with Google Calendar

If you manage your work calendar in Outlook and your personal life in Google Calendar (or the other way around), staying on top of both can be difficult. Colleagues might schedule meetings during times you’ve blocked off in Google Calendar because they can’t see your other calendar. This guide covers three ways to keep Outlook and Google Calendar in sync.
Option 1: Subscribe to a calendar (read-only)
Both Outlook and Google let you subscribe to an external calendar via its ICS URL. This gives you a read-only overlay of events from the other calendar. It’s the simplest option if you only need to see events without the ability to edit or sync changes back.
Outlook → Google
- In Outlook, go to Settings > Calendar > Shared calendars
- Under Publish a calendar, select the calendar and choose Can view all details
- Copy the ICS link

- In Google Calendar, click + > From URL and paste it

Tips:
- Outlook’s published calendar URL is permanent — as long as you keep the calendar shared, Google Calendar will continue to receive updates
- If you revoke sharing in Outlook, Google Calendar won’t receive any more updates, and you’ll see a warning on the subscribed calendar
- Google refreshes Outlook ICS subscriptions less frequently than Outlook refreshes Google subscriptions. Expect delays of 12–24 hours for updates to appear
Google → Outlook
- In Google Calendar, go to Settings > [Calendar name] > Integrate calendar
- Copy the Secret address in iCal format

- In Outlook, go to Add calendar > Subscribe from web
- Paste the URL and click Import

Tips:
- Your Outlook subscription will auto-refresh every 12–24 hours. If a meeting is urgent, you can manually refresh by clicking the calendar in the sidebar
- The subscribed calendar appears as a separate calendar in your sidebar, so you can toggle its visibility if it clutters your view
- On Outlook mobile, subscribed calendars appear in your calendar list and refresh during the app’s sync cycle (typically every 30 minutes to 2 hours)
Limitations
- Read-only — you can see events but can’t edit them from the subscribed view. If you try to edit an event in the subscribed calendar, you’ll get an error
- Slow updates — ICS subscriptions refresh every 12–24 hours depending on the provider. Changes made to the source calendar won’t appear immediately
- No privacy controls — all event details are visible, or nothing is. You can’t selectively hide sensitive information
- One direction only — you need to set up both sides separately if you want to see both calendars
- No bi-directional sync — changes don’t flow back to the source. Deleting an event from the subscribed view doesn’t delete it from the original calendar
- Limited on mobile — some mobile calendar apps handle ICS subscriptions differently or not at all
This works for a quick overview of your other calendar, but it’s not a real sync. It’s best used for viewing someone else’s availability or checking a read-only calendar like holidays or sports schedules.
Option 2: Use Hetk for automatic two-way sync
Hetk connects to both Outlook and Google Calendar via their official APIs and syncs events between them in real time. Unlike ICS subscriptions, Hetk uses webhooks and event polling to keep your calendars constantly synchronized with minimal latency.
Setup
- Go to app.hetk.io and sign in with your Microsoft account
- Add your Google account (you’ll be prompted to sign in to Google and grant permissions)
- Select which Outlook and Google calendars to sync
- Choose the sync direction — one-way (events flow in one direction only) or bi-directional (events sync both ways)
- Configure privacy settings (optional — mark synced events as private, show as busy only, or transform attendee information)
The entire process takes about 2 minutes. Events sync automatically within seconds via webhooks. When you create, update, or delete an event in one calendar, the change appears in the other almost instantly.
How syncing works
Hetk uses a combination of webhooks and polling to catch every change:
- Outlook → Google: Hetk polls Outlook every 30–60 seconds for changes, so updates typically appear within a minute
- Google → Outlook: Google sends webhooks immediately when you create, edit, or delete an event. Hetk receives the notification and syncs it to Outlook within 1–3 seconds
- Conflict resolution: If the same event is edited in both calendars simultaneously, Hetk keeps the version that was changed more recently
- Deletion handling: Deleting an event in the source calendar removes it from the synced destination. If you delete it from the destination, Hetk creates it again on the next sync (the source is authoritative)
What you get
- Real-time sync — changes appear in seconds, not hours. No more refreshing a calendar to see if a meeting was added
- Bi-directional — edit in either calendar and changes flow to the other. This flexibility is crucial for people who use both calendars actively
- Privacy controls — choose to show full event details, just “Busy”, or strip all content. Sensitive event information can be hidden while still blocking time
- Identity transform — synced events show your target calendar’s email as the organizer, so attendees don’t see cross-calendar sync happening
- Duplicate detection — Hetk won’t create duplicate events if the same meeting exists in both calendars. This prevents the common problem of seeing the same meeting twice
- Sync window — Hetk syncs events from 3 months in the past to 12 months in the future. Older events are ignored to reduce clutter
Privacy features in detail
When you enable Mark as Private, Hetk strips sensitive information from synced events:
- Event title is replaced with “Busy”
- Event description and location are completely removed
- Attendee list is hidden
- Meeting URL (Zoom, Teams, etc.) is removed
This means your coworkers can see that you’re unavailable during a personal appointment, but they can’t see what the appointment is. Free/busy scheduling tools correctly show you as busy during these times.
Pricing
The Personal plan covers up to 3 calendars for $15/year. If you only need Outlook ↔ Google sync, that’s all you need. The Professional plan ($50/year) supports up to 8 calendars, which is useful if you manage multiple work or personal calendars.
Option 3: Manual ICS export/import
You can export events from one calendar as an .ics file and import them into the other. This is a manual, one-time approach useful for moving events between systems, but not for ongoing sync.
Steps
In Outlook, go to Settings > Calendar > Import & export
Select the calendar you want to export and download the .ics file
In Google Calendar, go to Settings > Import & export > Import & export
Click Select file from your computer and choose the .ics file
This will import all events from the .ics file into the selected Google Calendar. Google will display a progress indicator as it processes the file.
Tips:
- You can filter events before export in Outlook by selecting a specific calendar and exporting only that one
- Google will ask which calendar to import into. Choose the correct calendar or create a new one for imported events
- Large .ics files (1,000+ events) may take a few minutes to import
- On Google Calendar mobile, you typically can’t import files directly — use Google Calendar web instead
Limitations
- One-time snapshot — you need to repeat this every time events change. If someone updates a meeting in Outlook, you need to re-export and re-import
- No sync — there’s no ongoing connection between the calendars. Changes made after the export don’t flow to Google Calendar
- Duplicates — importing the same file twice creates duplicate events. Google won’t detect that an event already exists; it will create a new one
- No deletions — if you delete an event in the source, the imported copy stays. The export is a snapshot at the moment you run it
- No privacy controls — all event details (title, description, attendees) are preserved during import
- Manual effort — you’re responsible for remembering to re-export and re-import when you want updates
This is only useful for a one-time migration (e.g., changing jobs and moving work events to a personal calendar), not for ongoing sync. The manual effort quickly becomes impractical if events change frequently.
Which option should you use?
| Need | Best option |
|---|---|
| Quick read-only view of the other calendar | ICS subscription |
| Real-time two-way sync with privacy controls | Hetk |
| One-time event migration | ICS export/import |
For most people who use both Outlook and Google Calendar daily, a real sync solution like Hetk saves time and prevents double-booking. The 21-day free trial lets you test it before committing.
Troubleshooting
ICS subscription doesn’t refresh
Problem: Events added to Outlook or Google Calendar aren’t appearing in the subscribed view after hours or days.
Solution: ICS subscriptions refresh on the recipient calendar’s schedule, which can be 12–24 hours. If you need to force a refresh:
- In Google Calendar, click the three-dot menu next to the subscribed calendar and select “Refresh”
- In Outlook, click the calendar and select “Refresh” (not available in all versions)
- For immediate visibility of new events, manually re-add the calendar by copying the URL again and re-importing it
If the subscription never refreshes, the source calendar’s sharing settings may have changed. Verify the calendar is still published in the original service.
Google Calendar not showing Outlook events
Problem: You’ve added an Outlook calendar ICS subscription to Google Calendar, but events aren’t appearing.
Causes and fixes:
- Wrong URL format: Make sure you’re using the HTTPS URL from Outlook’s “Publish a calendar” settings, not a webcal:// URL
- Calendar is not published: Outlook Calendar won’t generate an ICS URL for a calendar that isn’t shared or published. The calendar must be set to “Can view all details” in shared calendar settings
- Google Calendar web vs mobile: Google Calendar web and mobile sometimes handle ICS subscriptions differently. If one doesn’t work, try the other
- Subscription failed silently: In Google Calendar, look at your calendar list on the left. If the subscribed Outlook calendar shows an error icon, try removing and re-adding it with a fresh URL copy
Confused about sync direction
Problem: You’ve set up ICS subscriptions in both directions (Outlook → Google and Google → Outlook) and aren’t sure why changes aren’t syncing back, or you’re seeing duplicates.
Clarification: ICS subscriptions are one-way and read-only. If you subscribe to Outlook in Google Calendar, you see Outlook events in Google Calendar, but editing or deleting them in Google Calendar doesn’t affect Outlook. Setting up subscriptions in both directions gives you a two-way view, but not a two-way sync. Changes don’t flow back to the source; you’re simply reading a snapshot from each calendar independently.
If you want true two-way sync where changes flow back to the source, use Hetk instead.
Frequently asked questions
How long does ICS sync take?
ICS subscriptions typically refresh every 12–24 hours, though the exact timing depends on the calendar provider. Outlook is generally faster (12–18 hours), while Google can take up to 24 hours. There’s no way to speed up ICS refresh rates since they’re controlled by the provider. If you need real-time updates, Hetk syncs changes within seconds using webhooks.
Can I edit Outlook events from Google Calendar (or vice versa)?
No, not with ICS subscriptions. ICS subscriptions are read-only. If you try to edit an event in a subscribed calendar, you’ll get an error message. To edit the event, you must go to the original calendar where it was created. With Hetk’s real-time sync, you can edit events in either calendar and changes flow back to the source automatically.
Does Hetk sync recurring events?
Yes, Hetk fully supports recurring events. When you sync a recurring event, the entire series is synced, not just individual instances. If you edit one instance of a recurring event (e.g., move a single meeting to a different time), Hetk treats it as a separate event and syncs that change separately. If you modify the entire series (change the recurrence pattern or delete the series), Hetk syncs the entire series change.
What happens to events I manually moved or edited?
If you have a synced event that you manually edit in one calendar, Hetk detects the change and syncs it to the other calendar. However, if you’ve edited the same event in both calendars simultaneously (before Hetk could sync), the most recent change wins—Hetk compares timestamps and keeps the version that was changed last.
Related
Try Hetk free for 21 days — sync your calendars across Google, Outlook, and iCloud.
Start Free Trial