Back to Integrations
integrationGoogle Calendar node
integrationNotion node

Google Calendar and Notion integration

Save yourself the work of writing custom integrations for Google Calendar and Notion and use n8n instead. Build adaptable and scalable Productivity workflows that work with your technology stack. All within a building experience you will love.

How to connect Google Calendar and Notion

  • Step 1: Create a new workflow
  • Step 2: Add and configure nodes
  • Step 3: Connect
  • Step 4: Customize and extend your integration
  • Step 5: Test and activate your workflow

Step 1: Create a new workflow and add the first step

In n8n, click the "Add workflow" button in the Workflows tab to create a new workflow. Add the starting point – a trigger on when your workflow should run: an app event, a schedule, a webhook call, another workflow, an AI chat, or a manual trigger. Sometimes, the HTTP Request node might already serve as your starting point.

Google Calendar and Notion integration: Create a new workflow and add the first step

Step 2: Add and configure Google Calendar and Notion nodes

You can find Google Calendar and Notion in the nodes panel. Drag them onto your workflow canvas, selecting their actions. Click each node, choose a credential, and authenticate to grant n8n access. Configure Google Calendar and Notion nodes one by one: input data on the left, parameters in the middle, and output data on the right.

Google Calendar and Notion integration: Add and configure Google Calendar and Notion nodes

Step 3: Connect Google Calendar and Notion

A connection establishes a link between Google Calendar and Notion (or vice versa) to route data through the workflow. Data flows from the output of one node to the input of another. You can have single or multiple connections for each node.

Google Calendar and Notion integration: Connect Google Calendar and Notion

Step 4: Customize and extend your Google Calendar and Notion integration

Use n8n's core nodes such as If, Split Out, Merge, and others to transform and manipulate data. Write custom JavaScript or Python in the Code node and run it as a step in your workflow. Connect Google Calendar and Notion with any of n8n’s 1000+ integrations, and incorporate advanced AI logic into your workflows.

Google Calendar and Notion integration: Customize and extend your Google Calendar and Notion integration

Step 5: Test and activate your Google Calendar and Notion workflow

Save and run the workflow to see if everything works as expected. Based on your configuration, data should flow from Google Calendar to Notion or vice versa. Easily debug your workflow: you can check past executions to isolate and fix the mistake. Once you've tested everything, make sure to save your workflow and activate it.

Google Calendar and Notion integration: Test and activate your Google Calendar and Notion workflow

2-way sync Notion and Google Calendar

This workflow syncs multiple Notion databases to your Google Calendar. And it works both ways.

What events are supported?

Everything except recurring events.

All day events, multiple day events, start and end date… these are all supported.

You set them in Notion and they stay in sync with Google. And vice versa.
Why doesn’t it support recurring events?

Notion doesn’t support recurring events yet.

So when you create a recurring event in Google, it will only consider the first date, ignoring future occurrences of the event.

Can I connect more than one Notion database?

Yes. You can have many Notion databases synced to one Google Calendar account.

You can see how to do it in the workflow instructions.

It is recommended that you create more calendars in your account, so that you can link each calendar to a different database in Notion. But that’s a choice.

What happens if I delete an event or page?

Notion page deleted → Deletes event in Google
Notion date property cleared → Deletes event in Google
Google event deleted → Clears the date property in Notion, but keeps the page, so you don’t lose your work.

Does it update the events?

Yes. When you update the event in Google or in Notion it syncs both ways.

How can I know what Notion item was linked to an event?

Either by the name or by clicking the hyperlink in the event description that says: 👉 View in Notion.

When I create a new event in Google, does it add an item to Notion?

Yes. When you create an event inside one of your calendars, the item is synced to the corresponding Notion database.

Does it sync event descriptions?

No. The event description will always be “View in Notion”. Even if you change it in Google Calendar it will be overwritten when you make a change to the Notion page.

🎉 When you buy this template you receive step-by-step instructions on how to set it up.

Check out my other templates
👉 https://n8n.io/creators/solomon/

Nodes used in this workflow

Popular Google Calendar and Notion workflows

Automated Client Onboarding System with Notion, Email & CRM Integration

Graceful Client Onboarding Concierge — Pro A warm, reliable onboarding system for small businesses and studios. Captures a form submission via webhook, creates a Client record in Notion, sends a concierge-style welcome email (with scheduler + optional contract link), optionally pings the owner on Telegram, mirrors the lead to Airtable/HubSpot, places a temporary Google Calendar hold, and includes a double opt-in confirmation link. Made for: coaches, designers, boutique agencies, e-commerce and service providers who want consistent follow-up without manual busywork. What it does (flow) Trigger:** Form ➜ POST /client-intake (or Manual Trigger for instant demo) Normalize & Score:** Map fields, auto-generate optInToken, compute score and tier Create in Notion:** Clients page (Name, Email, Package, Notes, Status, Score, Tier, OptInToken, Consent=false) Welcome Email:** industry-tuned copy + scheduler link (+ contract link for Growth/Pro/Custom packages) Owner Notify (optional):** Telegram ping with tier + score CRM Mirrors (optional):** Create Airtable row and/or HubSpot contact Calendar Hold (optional):** 30-min “Intro Hold” event (e.g., now + 48h) Double Opt-In:** /optin-confirm?token=...&email=... sets Consent=true & Status=Confirmed in Notion Error Handling:** On failure, send an email to the owner flowchart TD A[Form → Webhook /client-intake] --> B[Map Intake + Score Lead] B --> C[Notion: Create Client] B --> D[Build Welcome Email] D --> E[Email: Send Welcome] D --> F{Optional actions} F -->|Telegram| G[Telegram: Notify Owner] F -->|Airtable| H[Airtable: Create Row] F -->|HubSpot| I[HubSpot: Create Contact] F -->|Calendar Hold| J[Google Calendar: Create Hold] K[GET /optin-confirm] --> L[Find Notion by OptInToken] --> M[Update: Consent=true, Status=Confirmed] ER[Error Trigger] --> EH[Email Owner] Prerequisites Notion* database Clients* with properties: Name (title), Email (email), Package (select), Notes (rich text), Status (select), Score (number), Tier (select), OptInToken (text), Consent (checkbox) (CSV header provided in the Sticky note on canvas.) Email** (SMTP or Gmail OAuth) Optional:** Telegram Bot + Chat ID, Airtable (Base ID + Table), HubSpot (Contacts), Google Calendar (Calendar ID) Configuration (Set these in Set: User Config) NOTION_DB_ID = your Notion Clients DB ID FROM_EMAIL = sender address for welcome email OWNER_EMAIL = where error notifications go SCHEDULER_URL = booking link (Calendly, Once, etc.) BASE_URL = your public n8n domain (for opt-in link) CONTRACT_BASE_URL = (optional) proposal/contract URL base ENABLE_TELEGRAM = true|false TELEGRAM_CHAT_ID = (if enabled) ENABLE_AIRTABLE = true|false AIRTABLE_BASE_ID = (if enabled) AIRTABLE_TABLE = (if enabled) ENABLE_HUBSPOT = true|false ENABLE_CAL_HOLD = true|false CALENDAR_ID = "primary" or calendar ID HOLD_HOURS_FROM_NOW = number of hours (default 48) INDUSTRY = coaching | design_studio | ecommerce | services Credentials: Attach in node credentials panels (no secrets in JSON). How to use Import the workflow JSON. Open Set: User Config and fill required values (see above). Attach credentials: Notion + Email; optional Telegram/Airtable/HubSpot/Google Calendar. Run Manual Trigger to simulate an intake and verify: Notion page created Welcome email received Optional Telegram/CRM/Calendar actions Switch your form to the Production Webhook URL shown in the Client Intake Webhook node. Sample JSON (for testing the live webhook): {"name":"Ava Laurent","email":"[email protected]","package":"Growth","message":"Excited to begin!"} Double opt-in: The welcome email includes a link like https://YOUR-N8N-DOMAIN/webhook/optin-confirm?token=...&email=... Clicking it sets Consent=true and Status=Confirmed on the Notion record. Industry-tuned welcome copy Set INDUSTRY to control phrasing automatically: coaching – gentle goals/blocks framing design_studio – asset handoff + milestone language ecommerce – store link + quick-win focus services – general service language Submission compliance ✅ Manual Trigger path for instant demo ✅ Markdown sticky notes with clear H2 sections (README, Prereqs + CSV, Setup, Testing, Compliance, Changelog) ✅ No hardcoded API keys (credentials only) ✅ Timezone-safe ISO times for calendar hold ✅ Clear placeholders and copy-paste CSV headers included Troubleshooting (quick) No email:** attach Email creds; ensure FROM_EMAIL is allowed by your provider. No Notion page:** verify NOTION_DB_ID and property names; check Notion permissions. Webhook issues:* ensure your form sends JSON*; adapt mapping for form-encoded payloads. Opt-in link fails:** BASE_URL must be your public n8n domain; workflow must be active. Calendar hold not created:** set ENABLE_CAL_HOLD=true, attach Google Calendar creds, confirm CALENDAR_ID. Tags: onboarding, notion, email, crm, telegram, airtable, hubspot, calendar, double-opt-in, small business, concierge, women-led brands Version: v3 (see Changelog sticky on canvas)
+6

Automate Google Meet Notes with GPT-4.1-mini, Notion, Slack & Gmail Distribution

🧾 An intelligent automation system that turns Google Meet recordings into structured meeting notes — integrating Fireflies.ai, OpenAI GPT-4.1-mini, Notion, Slack, Google Drive, and Gmail via n8n. 🎥 Demo: Watch the Loom walkthrough ⚙️ What It Does The Google Meet Notes Generator & Distributor automates the entire post-meeting workflow. Workflow Summary: Fetches Google Meet transcript via Fireflies.ai webhook. Aggregates and summarizes transcript using OpenAI GPT-4.1-mini into: Title Summary Decisions Action Items Risks Questions Stores the transcript as a text file on Google Drive and generates a shareable link. Creates a Notion page with all the meeting details. Posts the summary in #meeting Slack channel. DMs each attendee on Slack with personalized meeting notes. Sends email recap to all attendees via Gmail. Result: No more manual note-taking or scattered updates — everything centralized, formatted, and instantly shareable. 💡 Use Cases | Scenario | Description | | --------------------------- | --------------------------------------------------------------------------------------- | | Team Meeting Summaries | Automatically summarize and distribute meeting notes for internal teams. | | Project Management | Keep structured decisions, action items, and risks documented for each project meeting. | | Remote Teams | Notify distributed teams in Slack and via email without extra effort. | | Client Updates | Share polished meeting summaries with clients instantly. | | Knowledge Base / Notion | Archive structured notes in Notion for reference and compliance. | 🔧 Setup Accounts and Tools Needed | Tool | Purpose | | -------------------------- | ---------------------------------------------- | | 🤖 Fireflies.ai API | Fetch Google Meet transcripts via webhook | | 🧠 OpenAI API | Summarize and structure transcript into notes | | 📓 Notion API | Create structured meeting pages | | 💬 Slack OAuth/Bot | Post summaries in channel and DM attendees | | 🗂 Google Drive OAuth2 | Store transcripts and generate shareable links | | ✉️ Gmail OAuth2 | Email meeting recaps to attendees | Fireflies.ai Setup Get API key from Fireflies.ai. Configure n8n → Credentials → Fireflies API. Ensure webhook triggers are set to send meetingId to n8n. OpenAI Setup Generate API key at OpenAI. Add to n8n → Credentials → OpenAI API. Use model GPT-4.1-mini in Agent and Generate Slack Message nodes. Notion Setup Create a Notion integration and share your workspace. Add API token in n8n → Credentials → Notion API. Map workspace/page IDs to Notion Page node. Slack Setup Create Slack Bot in workspace with chat:write and users:read permissions. Add OAuth token in n8n → Credentials → Slack API. Connect to Send a message #meeting and DMs to Attendees nodes. Google Drive Setup Create a folder for transcripts. Enable Google Drive API in Google Cloud Console. Add OAuth2 credentials to n8n → Google Drive. Gmail Setup Enable Gmail API in Google Cloud. Add OAuth2 credentials in n8n → Gmail. Connect to Email to Attendees node. n8n Workflow Setup Import provided n8n workflow JSON. Configure all credentials: Fireflies, OpenAI, Notion, Slack, Google Drive, Gmail. Activate workflow. Test by sending a meeting ID via webhook. Workflow automatically: Fetch → Summarize → Store → Notion → Slack → DM → Email 🧠 Result A fully automated AI pipeline that transforms Google Meet recordings into polished, shareable meeting notes — eliminating manual note-taking and keeping your team informed in real time. 📞 Support & Contact If you face any issues during setup or execution, contact: 📧 Email: [email protected] 🔗 LinkedIn: Atharva Jaiswal

Generate Daily Business Digest with Notion, Gmail, Stripe, Calendar, and GPT-4o

💬 "I used to start my day reacting to emails… now I start with purpose." What if you could wake up and know exactly what to focus on — without checking 5 different apps? This soft-tech workflow delivers a personalized morning digest every day that shows you ✅ Today’s top 3 priorities (from Notion or Google Tasks) ✅ Yesterday’s income (from Stripe, PayPal, or invoices) ✅ Upcoming client meetings (from Google Calendar) ✅ One motivational note (AI-generated, based on your mood) ✅ One household reminder (optional: groceries, chores, family) All sent to your email or Telegram — before you even open your laptop 🎯 Perfect for: Tax preparers during busy season Consultants, coaches, and freelancers Salon owners, shopify store operators, daycare providers Anyone running a solo business who wants to start strong 🔧 Tools Used: Notion • Google Calendar • Gmail • Stripe/PayPal • GPT-4o • Cron 📦 What You Get: Ready-to-import n8n JSON workflow Step-by-step setup guide (PDF) Notion Daily Dashboard template Customizable AI prompt library 5-minute video walkthrough (optional) 💡 Why You’ll Love It: No more “Where do I even start? Build momentum with a clear, calm morning ritual Stay aware of income without being obsessive Blend business + personal in a healthy way Feel like a CEO — even if you’re a team of one 🚀 Set it up once. Get clarity every morning. Forever 👉 Start your day with focus — not frenzy.

Track and schedule Notion tasks using Google Sheets and Calendar

How it works This workflow monitors a Notion database for new or updated tasks and checks if the scheduled time is available in Google Calendar. It logs every task into Google Sheets for tracking and auditing. Based on availability, it either creates a calendar event or sends a conflict notification email. The workflow also updates the task status in Sheets to reflect success or failure. Step-by-step Trigger task updates from Notion** Get Task – Watches for new or updated tasks in the Notion database. Check Availability – Queries Google Calendar to check if the selected time slot is free. Log data and evaluate availability** Record – Stores task details in Google Sheets for tracking. If – Checks whether the time slot is available based on calendar results. Create calendar event if available** Create an event – Adds the task as an event in Google Calendar. Update Status – Marks the task as successfully scheduled in Google Sheets. Handle scheduling conflicts** Send Error – Sends an email notification about the calendar conflict. Update Status1 – Updates the task status as failed or unavailable in Google Sheets. Why use this? Prevents double-booking by checking calendar availability automatically Keeps a centralized log of all tasks and their scheduling status Sends instant alerts when scheduling conflicts occur Reduces manual effort in managing tasks across tools Improves visibility and reliability of task scheduling workflows

Send pre-meeting Slack briefings using Google Calendar, Notion, GitHub, and Jira

This n8n template from Intuz provides a complete and automated solution for preparing and delivering context-rich briefings directly to attendees before every meeting. It acts as an AI-powered executive assistant, gathering relevant information from all your key work tools to ensure everyone arrives prepared and aligned. Who's this workflow for? Engineering Managers & Team Leads Product Managers & Project Managers Scrum Masters & Agile Coaches Any team that holds regular status, planning, or technical meetings. How it works Trigger on New Calendar Event: The workflow starts automatically whenever a new meeting is created in a designated Google Calendar. Fetch Previous Context: It immediately connects to Notion to retrieve the notes from the most recent past meeting, ensuring continuity. Wait for the Right Moment: The workflow calculates a time 15 minutes before the meeting's scheduled start and pauses its execution until then. Gather Real-Time Project Data: Just before the meeting, the workflow wakes up and: Extracts keywords from the meeting title. Searches GitHub for recent Pull Requests (PRs) relevant to those keywords. Searches Jira for any tickets or issues that match the meeting's topic. Build the Intelligent Briefing: It assembles all the gathered information—previous notes from Notion, current PRs from GitHub, and relevant tickets from Jira—into a single, beautifully formatted Slack message. Deliver to Each Attendee: The workflow identifies all attendees from the Google Calendar invite, finds their corresponding Slack profiles via email, and sends the personalized briefing as a Direct Message (DM) to each one, ensuring everyone is prepared just in time. Key Requirements to Use This Template n8n Instance: An active n8n account (Cloud or self-hosted). Google Calendar Account: To trigger the workflow on new events. Notion Account: With a dedicated database for storing meeting notes. GitHub Account: To search for relevant pull requests. Jira Cloud Account: To search for relevant project tickets. Slack Workspace & App: A Slack workspace where you have permission to install an app. You will need a Bot Token with the necessary permissions. Setup Instructions Google Calendar Trigger: In the "Capture New Google Calendar Event" node, connect your Google Calendar account and select the calendar you want to monitor. Notion Connection: In the "Get Last Meeting Notes" node, connect your Notion account. Select the Notion Database ID that contains your meeting notes. GitHub & Jira Connections: In the "Get PRs from Repo" node, connect your GitHub account and select the repository to search. In the "Get Jira Issues Related to Meeting" node, connect your Jira Cloud account. You can customize the JQL query if needed. Slack Configuration (Crucial Step): Create a Slack App: Go to api.slack.com/apps, create a new app, and install it to your workspace. Set Permissions: In your app's "OAuth & Permissions" settings, add the following Bot Token Scopes: chat:write (to send messages) and users:read.email (this is critical for looking up attendees). Reinstall the app to your workspace. Get Bot Token: Copy the "Bot User OAuth Token" (it starts with xoxb-). Connect in n8n: In the "Get User Slack Info from Email" node, click "Header Parameters" and replace {{ slack oauth token }} with your actual Bot Token. In the "Send Meeting Context in Slack DM" node, connect your Slack credentials using the same Bot Token. Activate the Workflow: Save the workflow and toggle the "Active" switch to ON. Your automated pre-meeting bot is now live! Connect with us Website: https://www.intuz.com/n8n-workflow-automation-templates Email: [email protected] LinkedIn: https://www.linkedin.com/company/intuz Get Started: https://n8n.partnerlinks.io/intuz For Custom Workflow Automation Click here: Get Started
+10

Generate client quotes from call transcripts with Claude/GPT, Google Drive, and PandaDoc

Who is this for? Agencies, consultants, and service providers who conduct discovery calls and need to quickly turn conversations into professional proposals. What it does: This workflow transforms meeting transcripts into complete, professional quotes using a sophisticated multi-agent AI architecture. It handles the entire quote lifecycle: from transcript analysis to client signature and onboarding. How it works: Trigger: Google Drive detects a new VTT/transcript file in a designated folder Extraction: The transcript is cleaned and parsed, then matched with calendar data to identify the client AI Analysis: A main orchestrator agent analyzes the call and delegates tasks to specialized sub-agents: SOW Agent: Generates problems, solutions, and action items Pricing Agent: Creates competitive pricing based on service catalog and market research Document Creation: PandaDoc API creates the quote with all tokens populated Review & Approval: Quote is sent to Slack for human review with approve/reject buttons Delivery: Approved quotes are sent via Gmail with custom HTML templates Post-Signature: Webhook triggers CRM update and welcome email upon signature Key Features: Multi-agent architecture with specialized AI agents Automatic pricing calculation with 80%+ margin targeting Market research integration via Perplexity API Human-in-the-loop approval via Slack Professional HTML email templates CRM integration (Notion) for client status tracking Requirements Google Drive account (for transcript storage) Google Calendar (for meeting context) PandaDoc account (for quote generation) OpenRouter API (for LLM access - Claude/GPT models) Perplexity API (for market research) Slack workspace (for approval workflow) Gmail account (for client communication) Notion database (for CRM) Setup Instructions Configure Google Drive trigger folder Set up PandaDoc template with required tokens Add API credentials for OpenRouter and Perplexity Connect Slack workspace for approval notifications Configure Gmail for outbound emails Set up Notion CRM database with required properties

Build your own Google Calendar and Notion integration

Create custom Google Calendar and Notion workflows by choosing triggers and actions. Nodes come with global operations and settings, as well as app-specific parameters that can be configured. You can also use the HTTP Request node to query data from any app or service with a REST API.

Google Calendar supported actions

Availability
If a time-slot is available in a calendar
Create
Add a event to calendar
Delete
Delete an event
Get
Retrieve an event
Get Many
Retrieve many events from a calendar
Update
Update an event

Notion supported actions

Append After
Append a block
Get Child Blocks
Get many child blocks
Get
Get a database
Get Many
Get many databases
Search
Search databases using text search
Get
Get a database
Get Many
Get many databases
Create
Create a page in a database
Get
Get a page in a database
Get Many
Get many pages in a database
Update
Update pages in a database
Create
Create a pages in a database
Get Many
Get many pages in a database
Update
Update pages in a database
Create
Create a page
Get
Get a page
Search
Text search of pages
Archive
Archive a page
Create
Create a page
Search
Text search of pages
Get
Get a user
Get Many
Get many users

Google Calendar and Notion integration details

integrationGoogle Calendar node
Google Calendar

Google Calendar is a time-management and calendar service created by Google Workspace. It helps you schedule and organize events and meetings, send notifications, and synchronize with your team. It is widely used by both individuals and organizations.

FAQs

  • Can Google Calendar connect with Notion?

  • Can I use Google Calendar’s API with n8n?

  • Can I use Notion’s API with n8n?

  • Is n8n secure for integrating Google Calendar and Notion?

  • How to get started with Google Calendar and Notion integration in n8n.io?

Need help setting up your Google Calendar and Notion integration?

Discover our latest community's recommendations and join the discussions about Google Calendar and Notion integration.
Justin Cheu
Cris A. Works
jake chard
Martin
Liam Skaff

Looking to integrate Google Calendar and Notion in your company?

Over 3000 companies switch to n8n every single week

Why use n8n to integrate Google Calendar with Notion

Build complex workflows, really fast

Build complex workflows, really fast

Handle branching, merging and iteration easily.
Pause your workflow to wait for external events.

Code when you need it, UI when you don't

Simple debugging

Your data is displayed alongside your settings, making edge cases easy to track down.

Use templates to get started fast

Use 1000+ workflow templates available from our core team and our community.

Reuse your work

Copy and paste, easily import and export workflows.

Implement complex processes faster with n8n

red iconyellow iconred iconyellow icon