Zoom + Gmail: follow-ups sent while details are fresh
Your meeting ends, and the best part of the conversation starts slipping away. Names, commitments, next steps. Then you open Zoom, copy the attendee list, paste into an email, try to remember what you promised, and somehow an hour disappears.
Account managers feel this after back-to-back client calls. Marketing leads doing strategy sessions deal with it too. Even a solo consultant ends up retyping the same recap. This Zoom Gmail follow-ups automation sends a clean, personal follow-up to every attendee while the details are still fresh.
Below, you’ll see exactly what the workflow does, what you need to connect, and how to adapt it to your own meeting types.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Zoom + Gmail: follow-ups sent while details are fresh
flowchart LR
subgraph sg0["Flow 1"]
direction LR
n0["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/webhook.dark.svg' width='40' height='40' /></div><br/>Zoom Meeting Webhook"]
n1["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/code.svg' width='40' height='40' /></div><br/>Normalize Participants"]
n2["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/openAi.dark.svg' width='40' height='40' /></div><br/>Generate Follow-Up Email"]
n3@{ icon: "mdi:message-outline", form: "rounded", label: "Send Email", pos: "b", h: 48 }
n0 --> n1
n1 --> n2
n2 --> n3
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n0 api
class n1 code
classDef customIcon fill:none,stroke:none
class n0,n1,n2 customIcon
Why This Matters: Post-meeting follow-ups fall through
Sending follow-ups sounds simple until your calendar is full. One meeting runs long, the next starts early, and suddenly “I’ll send a recap today” becomes “I’ll do it tonight,” then “tomorrow morning.” Meanwhile, attendees forget what was decided, internal stakeholders don’t have clarity, and you end up answering the same “Just checking… what’s next?” message later in the week. It’s not just time. It’s the mental load of reconstructing what happened, plus the reputation hit when your process feels sloppy.
It adds up fast. Here’s where it breaks down in real life.
- You waste about 10 minutes per attendee copying names, hunting emails, and writing “custom” lines that aren’t actually custom.
- Follow-ups get delayed, which means action items don’t start until days later.
- Small mistakes creep in, like missing one participant or mixing up who owns which next step.
- Consistency is hard, so your recaps vary wildly depending on how busy you are.
What You’ll Build: Zoom attendee follow-ups drafted by AI, sent via Gmail
This workflow listens for a Zoom meeting ended event, grabs the attendee list, and turns it into ready-to-send follow-up emails. When the meeting finishes, Zoom triggers the workflow through a webhook. n8n then standardizes the attendee data (names and email addresses) so it’s clean and consistent, even if Zoom sends slightly different fields across meetings. Next, GPT-4 drafts a short, professional follow-up that includes a thank-you, a quick recap, and clear next steps. Finally, Gmail sends each participant their own message automatically, so nobody gets missed and you’re not stuck copying the same recap five times.
The workflow starts at Zoom and ends in Gmail. In the middle, AI does the heavy lifting on wording, while n8n handles the “who gets what” logic so each attendee receives the right email without manual sorting.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you run three Zoom calls a day with an average of 6 attendees. Manually, you might spend about 10 minutes per attendee between copying details and writing a recap, which is roughly 3 hours daily. With this workflow, the trigger happens instantly when the meeting ends, GPT-4 drafts the emails in a couple minutes, and Gmail sends them out automatically. Most days, your “work” becomes a quick skim for accuracy, maybe 10 minutes total.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Zoom to send the meeting.ended webhook.
- Gmail to deliver follow-ups from your account.
- OpenAI API key (get it from the OpenAI dashboard)
Skill level: Beginner. You’ll mostly connect accounts and paste a webhook URL into Zoom.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A Zoom meeting ends and triggers the workflow. Zoom sends a “meeting.ended” webhook to n8n, including the participant list (and optionally transcript context if your Zoom setup includes it).
Attendee data gets cleaned up. n8n standardizes fields like name and email so the rest of the workflow works reliably, even if the payload has inconsistencies or extra fields you don’t need.
GPT-4 drafts the follow-up. The AI node creates a short, professional email with a thank-you, key points, and next steps. You can steer the tone so it sounds like you, not like a template.
Gmail sends each message. Every attendee receives their own email, which keeps it personal and avoids awkward “reply-all” chains.
You can easily modify the email prompt to include your standard agenda items or a CTA, based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
Set up the webhook endpoint so Zoom can send meeting-ended payloads into the workflow.
- Add and open Zoom Meeting Hook.
- Set HTTP Method to
POST. - Set Path to
zoom-meeting-ended. - Copy the test webhook URL from Zoom Meeting Hook and register it in your Zoom app’s event subscription for meeting ended events.
Tip: Run a test event from Zoom after saving the webhook to confirm the payload reaches Zoom Meeting Hook.
Step 2: Connect Email Service
Configure Gmail so the workflow can send follow-up emails to participants.
- Open Dispatch Email Notice.
- Credential Required: Connect your Gmail credentials.
- Set Subject to
Follow-Up: {{ $('Standardize Attendees').item.json.topic }}. - Map the recipient field to
{{ $('Standardize Attendees').item.json.participant_email }}so each attendee receives their message.
Step 3: Set Up Processing & AI Drafting
Normalize Zoom data for each attendee and generate a follow-up message using AI.
- Open Standardize Attendees and confirm the JavaScript code formats each participant into individual items using the meeting metadata.
- Ensure the output includes
participant_email,participant_name,topic, andtranscriptas defined in the code. - Open Draft Follow-Up Message and keep Resource set to
chatand Operation set tocreate. - Credential Required: Connect your OpenAI credentials in Draft Follow-Up Message.
⚠️ Common Pitfall: If the Zoom payload doesn’t include participants, Standardize Attendees will output nothing and no emails will send. Confirm your Zoom webhook event includes participant details.
Step 4: Configure Output Actions
Finalize the email content using the AI output and send it to each attendee.
- In Dispatch Email Notice, map the email body to the AI response from Draft Follow-Up Message (for example, the generated message content field).
- Confirm the workflow sequence: Zoom Meeting Hook → Standardize Attendees → Draft Follow-Up Message → Dispatch Email Notice.
Step 5: Test and Activate Your Workflow
Validate the end-to-end flow from Zoom to Gmail, then activate the workflow for live usage.
- Click Execute Workflow and trigger a test meeting-ended event from Zoom.
- Verify that Standardize Attendees outputs one item per participant and Draft Follow-Up Message generates a response.
- Confirm that Dispatch Email Notice sends an email with the subject
Follow-Up: {{ $('Standardize Attendees').item.json.topic }}. - Toggle the workflow to Active to enable production processing.
Troubleshooting Tips
- Zoom webhooks can fail if the app isn’t permitted to include attendee email/name. Double-check your Zoom app settings and the event subscription payload options first.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Quick Answers
About 30 minutes once your Zoom and Gmail accounts are ready.
No. You’ll paste a webhook URL into Zoom and connect Gmail/OpenAI in n8n.
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, which are usually a few cents per meeting depending on your prompt and transcript size.
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.
Yes, and you should. The easiest win is updating the prompt in “Draft Follow-Up Message” to match your voice and meeting type (sales demo, onboarding, internal sync). You can also adjust “Standardize Attendees” to filter out internal teammates, route VIP attendees to a different template, or add extra context like a meeting title. If you want approvals, swap the final Gmail send for a draft step so you can review before it goes out.
Usually it’s the Zoom app configuration, not n8n. Confirm the webhook is subscribed to the meeting.ended event and that your payload includes attendee email/name fields. If the webhook test works but real meetings don’t trigger, check Zoom’s event delivery logs and make sure your n8n webhook URL is reachable from the public internet.
A typical n8n setup can handle dozens of meetings per day easily, and the main limiter is how many attendees you email at once and your provider rate limits. On n8n Cloud Starter, you’re working within your monthly execution allowance; higher plans support more. If you self-host, there’s no execution cap, but your server resources still matter. In practice, this workflow sends one email per attendee, so a meeting with 50 attendees is 50 sends. If you routinely run large webinars, consider batching or adding throttling.
For this workflow, n8n has a few advantages: more complex logic with unlimited branching at no extra cost, a self-hosting option for unlimited executions, and native webhook handling that scales nicely when meetings fire events at the same time. It’s also easier to keep the whole “data cleanup → AI draft → send” chain in one place. Zapier or Make can still work if you prefer their UI and you only need a very simple follow-up template. The moment you want conditions (VIP routing, internal attendees excluded, different templates per meeting type), n8n tends to feel less cramped. Talk to an automation expert if you’re not sure which fits.
Once this is live, your follow-ups stop being a “later” task. The workflow handles the repetitive part, and you get the consistency (and the time back) after every single Zoom 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.