🔓 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

Gmail to Google Docs, Zoom meeting notes done for you

Lisa Granqvist Partner Workflow Automation Expert

You leave a Zoom call with good momentum, then lose it in the recap. Someone has to dig up the email, skim the transcript, pull action items, write a summary, format it, and send it. It is tedious. And it happens after every single meeting.

This Zoom notes automation hits project managers hardest, but team leads and meeting coordinators feel it too. The outcome is simple: consistent meeting notes in Google Docs plus a clean email summary, without copying and pasting for about an hour.

Below you’ll see exactly what the workflow does, what you need to connect, and how to think about customizing the output so it matches your team’s style.

How This Automation Works

Here’s the complete workflow you’ll be setting up:

n8n Workflow Template: Gmail to Google Docs, Zoom meeting notes done for you

Why This Matters: Zoom recaps are a hidden time sink

Most meetings don’t fail because the conversation was bad. They fail because the follow-up is inconsistent. One person writes a wall of text, another forgets decisions, and action items get buried in someone’s inbox. If you’re running multiple calls a week, the admin work becomes its own job: hunting the Zoom email in Gmail, pulling out the transcript, rewriting it into something readable, then reformatting it again so it works in Google Docs and in email.

It adds up fast. And the worst part is the context switching.

  • Meeting summaries often take about 30–60 minutes per call when you include formatting and sending.
  • Important decisions get paraphrased differently, which leads to “that’s not what we agreed” conversations later.
  • Action items come out incomplete because nobody wants to comb through a long transcript twice.
  • Google Docs becomes an afterthought, so searching past decisions turns into an inbox archaeology project.

What You’ll Build: Gmail-triggered Zoom summaries that land in Google Docs

This workflow watches your Gmail inbox for Zoom meeting notification emails and turns them into structured notes automatically. When a matching email arrives, n8n pulls the relevant fields, converts the content into a format the AI can reliably analyze, and then asks an AI Agent (using an OpenAI chat model) to extract what you actually care about: attendees, key discussion points, decisions, action items, and next steps. From there, the workflow generates two outputs in one run. You get Google Docs-friendly text saved as a document for your archive, and you get an email-safe HTML summary ready to send to participants, with consistent formatting every time.

The workflow starts with a Gmail trigger. It cleans and maps the email content, generates a meeting summary with the AI Agent, then renders it into two versions: one for Google Docs and one for email. Finally, it creates the Google Doc and dispatches the recap through Gmail so nobody waits on “I’ll send notes later.”

What You’re Building

Expected Results

Say you run 5 Zoom meetings a week. Manually, a recap often takes about 45 minutes: find the Zoom email, skim the transcript, write the summary, format it for email, then create a Google Doc. That’s roughly 4 hours a week. With this workflow, your time is closer to 5 minutes to review the generated summary (or just spot-check action items) while n8n does the rest in the background, so you get most of that time back and the notes don’t “mysteriously” slip to tomorrow.

Before You Start

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Gmail for detecting Zoom emails and sending recaps.
  • Google Docs (via Google Drive) to create and store meeting notes.
  • OpenAI API key (get it from your OpenAI dashboard under API keys).

Skill level: Beginner. You will connect accounts, set one Gmail filter, and paste an API key.

Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).

Step by Step

A Zoom email lands in Gmail. The workflow uses a Gmail trigger that’s filtered to Zoom meeting notification emails, so normal inbox traffic doesn’t start unnecessary runs.

The email content gets cleaned and mapped. n8n converts the raw email into a more consistent markdown-like format, then uses a “map fields” step to organize the useful parts (subject, date, transcript text, participants, and anything Zoom includes).

AI generates the meeting summary. An AI Agent powered by an OpenAI chat model reads the prepared content and produces a structured recap. This is where attendees, key points, decisions, action items, and next steps are pulled out in a predictable format.

Two outputs get produced and delivered. The workflow renders email-safe HTML for the recap email, and it also formats a Google Docs-compatible version, creates a new Google Doc, inserts the content, then sends the recap through Gmail. It also flags the triggering email as read so you don’t reprocess it later.

You can easily modify the Gmail search filter to match your Zoom setup, and adjust the summary format to match your internal template. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Email Inbox Trigger

Set up the workflow to watch your inbox for new meeting-related emails.

  1. Add the Email Inbox Trigger node.
  2. Credential Required: Connect your gmailOAuth2 credentials.
  3. Set Filters → Query to subject: 'Meeting assets', 'Zoom', 'Meeting Assets'.
  4. Set Filters → Read Status to unread.
  5. Set Poll Times to everyMinute.
  6. Confirm Simple is false to receive full message data.
Tip: Keep the search query tight so only meeting asset emails are processed and summarized.

Step 2: Connect Email Parsing and Field Mapping

Convert email content to Markdown and normalize fields for downstream AI processing.

  1. Add the Convert to Markdown node and set HTML to ={{ $json.html || $json.textAsHtml}}.
  2. Connect Convert to Markdown to Map Email Fields.
  3. In Map Email Fields, add assignments with these values:
  4. Set subject to ={{ $json.subject }} and from to ={{ $json.headers.from }}.
  5. Set date to ={{ $json.date }}.
  6. Set metadata['received-spf'] to ={{ $json.headers['received-spf'] }}.
  7. Set metadata['delivered-to'] to ={{ $json.headers['delivered-to'] }}.
  8. Set metadata['authentication-results'] to ={{ $json.headers['arc-authentication-results'] }}.
  9. Set data to ={{ $json.data || $json.textPlain}}.
⚠️ Common Pitfall: If data is empty, the AI summary will be incomplete—ensure the trigger pulls full email content.

Step 3: Set Up AI Meeting Summarization

Use the AI agent to generate the meeting summary and trigger the email tool.

  1. Add the Create Meeting Summary node and set Text to ={{ $json.data }}.
  2. Set Prompt Type to define to use the built-in system prompt.
  3. Add the LLM Chat Engine node and connect it as the language model for Create Meeting Summary.
  4. Credential Required: Connect your openAiApi credentials to LLM Chat Engine.
  5. Configure LLM Chat Engine with Model gpt-4o and Temperature 0.3.
  6. Ensure Dispatch Summary Email is connected as the AI tool for Create Meeting Summary.
  7. In Dispatch Summary Email, set Send To to ={{ $('Email Inbox Trigger').item.json.headers.to }}.
  8. Set Subject to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Subject', ``, 'string') }} and Message to ={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Message', ``, 'string') }}.
  9. Credential Required: Connect your gmailOAuth2 credentials for the Dispatch Summary Email tool inside Create Meeting Summary (configure on the parent tool setup, not the sub-node).

Step 4: Format Output and Build the Google Doc

Transform the AI output into clean markup and store it in a Google Doc.

  1. Connect Create Meeting Summary to Render Output Markup and set HTML to ={{ $json.output }}.
  2. Connect Render Output Markup to Docs Text Formatter.
  3. In Docs Text Formatter, keep JSON Output enabled (true).
  4. Credential Required: Connect your openAiApi credentials to Docs Text Formatter.
  5. Set the Model to gpt-4.1 and Temperature to 0.3.
  6. Connect Docs Text Formatter to Generate Doc File and set Title to ={{ $json.message.content.title }}.
  7. Set Folder ID to default in Generate Doc File.
  8. Credential Required: Connect your googleDocsOAuth2Api credentials to Generate Doc File.
  9. Connect Generate Doc File to Insert Doc Content and set Document URL to ={{ $json.id }}.
  10. In Insert Doc Content, set the insert Text to ={{ $('Docs Text Formatter').item.json.message.content.content }}.
  11. Credential Required: Connect your googleDocsOAuth2Api credentials to Insert Doc Content.
Tip: The Google Doc title comes from the AI formatter. If titles look odd, adjust the formatting rules in Docs Text Formatter.

Step 5: Configure Email Status Updates and Idle Nodes

Mark processed emails as read and keep the workflow paths aligned with idle steps.

  1. Note that Email Inbox Trigger outputs to both Convert to Markdown and Flag Email Read in parallel.
  2. In Flag Email Read, set Operation to markAsRead and Message ID to ={{ $json.id }}.
  3. Credential Required: Connect your gmailOAuth2 credentials to Flag Email Read.
  4. Connect Flag Email Read to Idle Step 2 to complete the parallel branch.
  5. Keep Idle Step after Insert Doc Content as a placeholder for future extensions.

Step 6: Test and Activate Your Workflow

Validate the end-to-end flow before enabling it for production.

  1. Click Execute Workflow and send a test email that matches the Email Inbox Trigger query.
  2. Confirm the email is marked as read by Flag Email Read and that both parallel branches complete.
  3. Verify Create Meeting Summary produces content and triggers Dispatch Summary Email with a valid subject and message.
  4. Check that Generate Doc File creates a new Google Doc and Insert Doc Content populates it.
  5. When successful, toggle Active to enable the workflow for continuous operation.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Troubleshooting Tips

  • Gmail credentials can expire or need specific permissions. If things break, check the Gmail node’s connected account and scopes in n8n’s Credentials first.
  • If your Zoom email includes links or attachments (like transcript PDFs), extraction can vary by meeting. If summaries look thin, verify the workflow is pulling the transcript text you expect before it reaches the AI Agent.
  • Default prompts in AI nodes are generic. Add your brand voice and your required headings (Decisions, Action Items, Next Steps) early or you will be tweaking every recap by hand.

Quick Answers

What’s the setup time for this Zoom notes automation?

About 30 minutes if your Gmail, Google, and OpenAI accounts are ready.

Is coding required for this Zoom notes automation?

No. You’ll connect accounts, set a Gmail filter, and adjust the summary template if you want.

Is n8n free to use for this Zoom notes 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 OpenAI API costs (usually a few cents per meeting, depending on transcript length).

Where can I host n8n to run this 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 modify this Zoom notes automation workflow for different use cases?

Yes, and you should. Most teams tweak the Gmail trigger filter, then adjust the “Create Meeting Summary” AI Agent prompt to match their headings (like Risks, Blockers, or Customer Requests). You can also change the Google Docs steps (“Generate Doc File” and “Insert Doc Content”) to save into a specific folder, add a naming convention, or append to an existing running doc instead of creating a new one each time.

Why is my Gmail connection failing in this workflow?

Usually it’s expired OAuth access or the wrong Google account connected. Reconnect the Gmail credential inside n8n, then confirm the trigger account and the “Dispatch Summary Email” account are the ones you actually use for meeting invites. If it still fails, check your Google security settings and make sure the workflow has permission to read inbox messages and send email.

What volume can this Zoom notes automation workflow process?

Plenty for normal team meeting volume. On self-hosted n8n there’s no hard execution limit (it depends on your server), and on n8n Cloud the cap depends on your plan. Practically, this workflow handles one meeting email per run, so even a busy calendar of a few dozen meetings a week is fine as long as you’re comfortable with the OpenAI usage.

Is this Zoom notes automation better than using Zapier or Make?

Often, yes. n8n is nicer for multi-step formatting (email-safe HTML plus Google Docs text), and it’s easier to keep the “logic” in one place when you start adding conditions like “only send recaps for client meetings” or “route to a different folder by project.” Self-hosting is a big deal too if you don’t want to think about task limits. Zapier or Make can still work if you only need a lightweight version, but complex summarization chains tend to get expensive or awkward. If you’re torn, Talk to an automation expert and we’ll map the simplest option.

Once this is live, your meeting notes stop depending on someone’s memory and free time. The workflow handles the repetitive cleanup and documentation, and you keep the momentum from the call.

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