🔓 Unlock all 10,000+ workflows & prompts free Join Newsletter →
✅ Full access unlocked — explore all 10,000 AI workflow and prompt templates Browse Templates →
Home n8n Workflow
January 22, 2026

Google Calendar to Outlook, no more double booking

Lisa Granqvist Partner Workflow Automation Expert

Your calendar says you’re free. You’re not. Then someone drops a “quick” meeting right on top of a dentist appointment, a school pickup, or something you simply don’t want to explain to your whole team.

This calendar sync automation hits busy founders hardest, but account managers and ops leads feel it too. You need your work Outlook availability to be accurate, without copying events by hand or leaking private details.

This n8n workflow copies events from a private Google Calendar into Outlook as “busy” blocks, then cleans up Outlook when you cancel. You’ll see how it works, what you need, and what to tweak to match your setup.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Calendar to Outlook, no more double booking

The Problem: Double Booking Happens in the Gaps

Most people don’t double book because they’re disorganized. It happens because your “real life” calendar and your “work” calendar live in different places, and they don’t talk. So you either do the daily copy-paste dance (and still miss things), or you overshare by putting personal details into your work calendar just to block time. Then cancellations make it worse. You delete the Google event, forget to clean up Outlook, and you stay “busy” on paper even though you’re available again.

The friction compounds. Small misses create big scheduling pain.

  • You end up manually recreating private events in Outlook, which is easy to forget during a busy week.
  • If you include details so you remember what the block is for, coworkers can see more than they should.
  • Canceled plans leave stale “busy” blocks behind, so your availability becomes unreliable.
  • One mistake can cascade into reschedules, apology messages, and lost focus for the rest of the day.

The Solution: Copy Busy Blocks from Google Calendar to Outlook

This workflow gives you a simple bridge: create private events in a dedicated Google Calendar, and n8n automatically mirrors them into your Outlook work calendar. When a new Google event appears, the workflow grabs the key event fields and creates a matching Outlook event so your work availability is accurate. When you cancel a Google event, a second trigger kicks in, searches Outlook for the matching event, deletes it if it exists, and emails you a cancellation summary so you know the cleanup happened. The end result is boring in the best way: fewer conflicts, fewer explanations, and a work calendar that finally reflects reality.

The workflow starts with two Google Calendar triggers: one for new events, one for cancellations. Outlook handles the heavy lifting on the other side, creating events, locating old ones, and removing them when needed. A Merge node combines the right details so the cancellation email contains the context you actually care about.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you add 5 private blocks per week in Google Calendar (appointments, school stuff, personal errands). Manually copying each one into Outlook takes maybe 5 minutes when you include switching accounts, setting “busy,” and fixing the title, which is about 25 minutes a week. Then add one cancellation or reschedule, another 5–10 minutes to clean up. With this workflow, you create the event once (about 1 minute), and the rest runs in the background. Your “busy” time stays accurate without the weekly maintenance.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Calendar for your dedicated private calendar.
  • Microsoft Outlook to create and delete busy blocks.
  • Google Calendar OAuth2 (get it from Google Cloud Console credentials).

Skill level: Beginner. You’ll connect Google and Outlook accounts, then confirm which calendar to watch and which Outlook calendar to write into.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

New event detected in Google Calendar. When you create an event in your private Google Calendar, the workflow triggers instantly (as long as it’s active). It collects the event details n8n receives from Google.

Event details are mapped for Outlook. The workflow prepares the fields Outlook needs (time, duration, title, and any notes you choose to pass through). This is where you decide what coworkers might see.

Outlook “busy block” is created. n8n uses the Microsoft Outlook node to create the calendar event in your work calendar, so your availability updates without you touching Outlook.

Cancellations get cleaned up. If you cancel the Google event, a separate trigger runs, searches Outlook for the matching event, deletes it if found, and sends a cancellation email so you have a paper trail.

You can easily modify the event title and description to share less (or more) based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Google Calendar Triggers

Set up the two Google Calendar triggers that listen for new events and cancellations.

  1. Open New Event Listener and set Trigger On to eventCreated.
  2. Set Calendar to [YOUR_EMAIL] in New Event Listener.
  3. Credential Required: Connect your googleCalendarOAuth2Api credentials in New Event Listener.
  4. Open Cancellation Listener and set Trigger On to eventCancelled.
  5. Set Calendar to [YOUR_EMAIL] in Cancellation Listener.
  6. Credential Required: Connect your googleCalendarOAuth2Api credentials in Cancellation Listener.

Step 2: Connect Microsoft Outlook for Event Creation

Create corresponding Outlook events when a new Google Calendar event is detected.

  1. Open Generate Outlook Event and set Resource to event and Operation to create.
  2. Set Calendar to [YOUR_ID] in Generate Outlook Event.
  3. Set Subject to ={{ "From private: " + $json.summary }}.
  4. Set Start Date Time to ={{ $json.start.dateTime != undefined ? $json.start.dateTime : $json.start.date }}.
  5. Set End Date Time to ={{ $json.end.dateTime != undefined ? $json.end.dateTime : $json.end.date }}.
  6. Under Additional Fields → Body, set the value to ={{ $json.description != undefined ? $json.description + "\n" : "" + $json.htmlLink }}.
  7. Credential Required: Connect your microsoftOutlookOAuth2Api credentials in Generate Outlook Event.

Step 3: Configure Cancellation Lookup and Removal

When a Google Calendar event is cancelled, locate the matching Outlook event and remove it.

  1. Open Locate Event for Removal and set Resource to event with Limit set to 1.
  2. Set Calendar to [YOUR_ID] and keep From All Calendars set to false.
  3. In Filters → Custom, set the filter to =contains(subject, '{{ $json.summary }}').
  4. Credential Required: Connect your microsoftOutlookOAuth2Api credentials in Locate Event for Removal.
  5. Open Remove Outlook Event and set Resource to event with Operation set to delete.
  6. Set Event ID to ={{ $json.id }} and Calendar to [YOUR_ID].
  7. Credential Required: Connect your microsoftOutlookOAuth2Api credentials in Remove Outlook Event.

Locate Event for Removal outputs to both Remove Outlook Event and Combine Data Streams in parallel.

Step 4: Merge Cancellation Data and Send Notifications

Combine the cancellation data flow and send an Outlook email notification.

  1. Open Combine Data Streams and set Mode to combine.
  2. Set Combine By to combineAll.
  3. Open Dispatch Cancellation Email and set Subject to ={{ $json.subject + " Cancelled" }}.
  4. Set Body Content to <h1>Event cancelled via Google Calendar</h1> and To Recipients to [YOUR_EMAIL].
  5. Set Additional Fields → Body Content Type to html.
  6. Credential Required: Connect your microsoftOutlookOAuth2Api credentials in Dispatch Cancellation Email.

Step 5: Test and Activate Your Workflow

Validate event creation and cancellation flows before turning the workflow on.

  1. Click Execute Workflow and create a new Google Calendar event to verify New Event Listener triggers Generate Outlook Event.
  2. Cancel a Google Calendar event to confirm Cancellation Listener triggers Locate Event for Removal, which runs to Remove Outlook Event and Combine Data Streams in parallel.
  3. Check Outlook for the event removal and the cancellation email sent by Dispatch Cancellation Email.
  4. When successful, toggle the workflow to Active for continuous syncing.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Microsoft Outlook credentials can expire or need specific permissions. If things break, check the n8n credential test inside the Microsoft Outlook node first.
  • Google Calendar triggers only fire when the workflow is active. If you’re testing, use n8n’s “Test step” in the Google Calendar Trigger node and confirm the correct calendar is selected.
  • Event matching on cancellations can fail if your Outlook calendar has lots of similar blocks. Make the copied Outlook event title consistent (even something generic like “Busy – Personal”) so the “Locate Event for Removal” search is more reliable.

Frequently Asked Questions

How long does it take to set up this calendar sync automation?

About 30 minutes if your Google and Outlook accounts are ready.

Do I need coding skills to automate calendar sync?

No. You connect Google Calendar and Microsoft Outlook, then choose which calendars the workflow should read and write. Most of the work is just testing one event and confirming it shows up correctly.

Is n8n free to use for this calendar sync automation workflow?

Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in $0 for API costs here, since this workflow relies on Google and Microsoft OAuth connections (not paid AI calls).

Where can I host n8n to run this calendar sync automation?

Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.

Can I customize this calendar sync automation workflow for hiding event titles?

Yes, and you probably should. In the “Generate Outlook Event” step, set the Outlook subject to something generic like “Busy” and move the real details into a private note (or remove them entirely). Many teams also standardize categories (for example, “Personal”) and force “Show as: Busy” so Outlook availability stays consistent.

Why is my Microsoft Outlook connection failing in this workflow?

Usually it’s expired OAuth consent or the wrong account connected. Reconnect the Microsoft Outlook credentials in n8n and confirm the calendar permissions were approved. If it fails only on cancellations, check the “Locate Event for Removal” search: it may not be finding the event if the subject or time fields don’t match what Outlook stored.

How many events can this calendar sync automation handle?

A typical setup handles hundreds of events per month without drama. On n8n Cloud Starter, you’re limited by monthly executions, so heavy calendar traffic can push you to a higher plan. If you self-host, there’s no execution cap; it mostly depends on your server and how fast the Outlook search runs when cancellations happen.

Is this calendar sync automation better than using Zapier or Make?

Often, yes, because cancellations and “find then delete” logic tends to get messy (and pricey) in simpler tools. n8n makes it easier to branch, merge data, and control exactly what happens when Outlook can’t find a matching event. You also get the self-hosting option, which matters if you run a lot of automations. Zapier or Make can still be fine for a basic “create event” sync if you never need cleanup on cancellations. If you’re unsure, Talk to an automation expert and you’ll get a straight recommendation.

Once this is running, your work calendar stops lying to you. The workflow handles the repetitive cleanup, and you get your time (and privacy) back.

Need Help Setting This Up?

Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.

Lisa Granqvist

Workflow Automation Expert

Expert in workflow automation and no-code tools.

×

Use template

Get instant access to this n8n workflow Json file

💬
Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Get a free quote today!
Get a free quote today!

Tell us what you need and we'll get back to you within one working day.

Launch login modal Launch register modal