How to Connect n8n to Google Calendar: The Complete Integration Guide (2025)

Google Calendar is the heartbeat of most teams — but on its own it just holds events. Connect it to n8n and it becomes a trigger and an action inside any automation: create events from form submissions, alert your team when a meeting is booked, or block focus time automatically. This guide walks through the full 2025 setup, from OAuth credentials to real workflows.

What you can do with the n8n Google Calendar node

  • Trigger workflows when an event is created, updated, started, or about to start.
  • Create events from CRM deals, form submissions, or support tickets.
  • Update or delete events when upstream data changes.
  • Look up availability before booking or sending a scheduling link.

Step 1 — Create Google OAuth credentials

Head to the Google Cloud Console, create (or pick) a project, and enable the Google Calendar API under APIs & Services → Library. Then create an OAuth 2.0 Client ID of type Web application.

In n8n, add a new Google Calendar OAuth2 API credential. n8n shows you an OAuth Redirect URL — copy it into the Authorized redirect URIs box in Google Cloud. Paste your Client ID and Secret back into n8n and click Connect my account.

If you self-host, make sure your WEBHOOK_URL environment variable points to a publicly reachable HTTPS address, or the OAuth redirect will fail.

Step 2 — Add the Google Calendar Trigger

Drop in the Google Calendar Trigger node, pick your calendar, and choose an event to watch — for example Event Created. n8n polls on the interval you set (every minute up to once a day). Each new event flows out as a JSON item with start/end times, attendees, and description ready to use downstream.

Step 3 — Create an event from another app

Use the regular Google Calendar node with the Create operation. Map the summary, start, and end fields from previous nodes. A classic pattern: a webhook receives a booking, and n8n creates the calendar event plus a Google Meet link in one step by enabling Add conferencing.

Start:  {{ $json.start_time }}
End:    {{ $json.start_time.plus({ minutes: 30 }) }}
Summary: Discovery call — {{ $json.name }}

⚡ Skip the build: Calendly → HubSpot + Slack Alert + Reminder Email

Every booked meeting lands in your CRM, pings Slack, and fires a reminder email — fully hands-off.

Get the template on Gumroad →

Three automations worth building today

1. Form → calendar event + reminder

A Typeform or website form triggers n8n, which creates the event and schedules a reminder email 24 hours before.

2. New CRM meeting → Slack briefing

When a sales call is booked, post the prospect’s details and last touchpoints into your deal channel so the rep walks in prepared.

3. Auto-block focus time

On a schedule, n8n scans your day and blocks any gap longer than 90 minutes as deep-work time — no more meeting creep.

Common pitfalls

  • Timezone mismatches: always set the event timezone explicitly instead of relying on the account default.
  • Polling delay: the trigger polls, so “instant” means within your interval. For true real-time, use Google’s push notifications via a webhook.
  • Token expiry: if a workflow suddenly 401s, reconnect the OAuth credential — refresh tokens can be revoked after password changes.

FAQ

Do I need Google Workspace? No — a free Gmail account works, though Workspace unlocks shared calendars and Meet conferencing.

Can I watch multiple calendars? Yes, add one trigger node per calendar or loop over calendar IDs.


Ready to automate this?

Don’t rebuild it from scratch. Calendly → HubSpot + Slack Alert + Reminder Email is a production-ready n8n workflow you can import in minutes — credentials in, activate, done.

Ready to automate? Get this template on Gumroad →