Gmail + Google Sheets, event reminders that stick
You promote an event, people sign up… and then the admin spiral starts. Confirmation emails get missed, the Zoom link lives in three places, and your “final reminder” turns into a last-minute panic send.
This is where event managers feel it first. Marketers running webinars deal with the same mess. And if you’re an agency owner hosting client trainings, you already know how quickly “just one event” becomes constant follow-up. This event reminder automation keeps registrations organized and sends a consistent reminder sequence without you babysitting it.
You’ll see exactly how the workflow captures registrations, sends Gmail confirmations and timed reminders, and logs every registrant to Google Sheets so your list stays clean.
How This Automation Works
Here’s the complete workflow you’ll be setting up:
n8n Workflow Template: Gmail + Google Sheets, event reminders that stick
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/>Event Registration Webhook"]
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Event Settings", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-horizontal", form: "rounded", label: "Validate Registration", pos: "b", h: 48 }
n3["<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/>Process Registration"]
n4@{ icon: "mdi:message-outline", form: "rounded", label: "Send Confirmation Email", pos: "b", h: 48 }
n5@{ icon: "mdi:cog", form: "rounded", label: "Wait Until Week Before", pos: "b", h: 48 }
n6@{ icon: "mdi:message-outline", form: "rounded", label: "Send Week Reminder", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "Wait Until Day Before", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Send Day Before Reminder", pos: "b", h: 48 }
n9@{ icon: "mdi:cog", form: "rounded", label: "Wait Until 2h Before", pos: "b", h: 48 }
n10@{ icon: "mdi:message-outline", form: "rounded", label: "Send Final Reminder", pos: "b", h: 48 }
n11@{ icon: "mdi:database", form: "rounded", label: "Track Registration", pos: "b", h: 48 }
n1 --> n2
n6 --> n7
n3 --> n4
n3 --> n11
n9 --> n10
n2 --> n3
n7 --> n8
n5 --> n6
n4 --> n5
n8 --> n9
n0 --> n1
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 n2 decision
class n11 database
class n0 api
class n3 code
classDef customIcon fill:none,stroke:none
class n0,n3 customIcon
Why This Matters: Event no-shows and messy registration lists
Most attendance problems aren’t marketing problems. They’re follow-up problems. Someone registers, doesn’t get the calendar invite right away, and forgets. Or they find the confirmation email but can’t find the link on event day. Then you spend the morning replying to “Can you resend the access details?” while trying to host the thing you worked hard to fill. It’s draining, and honestly it’s avoidable. A simple, reliable reminder sequence plus a single source of truth for registrants changes everything.
It adds up fast. Here’s where it usually breaks down.
- Registrations land in multiple places, so you end up reconciling lists by hand before every event.
- Confirmation emails go out late (or not at all), which leads to confused attendees and support requests.
- Reminder emails are inconsistent because someone has to remember to send them during a busy week.
- You lose useful context after the event because sign-ups and email activity were never logged cleanly.
What You’ll Build: Gmail reminders + a Google Sheets registration log
This workflow gives you a dependable registration-to-reminder system that runs in the background. It starts when someone submits your registration form (through a webhook), then it fills in the event details you want included in every message. Next, it validates the registration so you’re not sending emails to bad entries or missing required fields. Once the registration looks good, it processes the data, sends a Gmail confirmation immediately, and logs that registrant into Google Sheets. After that, the workflow waits until specific milestones before your event and sends a week-prior email, a day-prior email, and a final two-hours-before reminder with the critical access details.
Everything follows the same rhythm. New sign-up comes in, Gmail confirms right away, and Google Sheets becomes your running roster. Then the timed reminders fire automatically, so you don’t rely on memory (or a sticky note) to protect attendance.
What You’re Building
| What Gets Automated | What You’ll Achieve |
|---|---|
|
|
Expected Results
Say you run one webinar each week with 80 registrants. Manually, you typically send 4 emails (confirmation, week prior, day prior, two-hour reminder), and each send takes about 15 minutes once you find the right list and double-check links, so that’s roughly 1 hour of work per event. With this workflow, the “work” is basically checking your form once and letting n8n run. The emails still go out on schedule, and your Google Sheets log stays updated automatically, which means you get that hour back every single week.
Before You Start
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Gmail for sending confirmations and reminders
- Google Sheets to store and track registrants
- Registration form webhook (from your form tool’s webhook settings)
Skill level: Beginner. You’ll connect accounts, paste a webhook URL, and edit email templates.
Want someone to build this for you? Talk to an automation expert (free 15-minute consultation).
Step by Step
A new registration comes in. The workflow begins with an incoming webhook from your registration form, so every sign-up arrives in n8n the moment it happens.
Event details are applied and the entry is checked. n8n sets the event name, date/time, location or access link, and any other fields you want reused across emails. Then an “if” validation step makes sure required details (like email address) are present before continuing.
Confirmation goes out, and the registrant is logged. After a short processing step (formatting fields, cleaning names, and preparing email content), Gmail sends the confirmation email immediately. In parallel, the workflow appends a new row to Google Sheets so you have a live roster.
Timed reminders send automatically. n8n waits until the week-prior milestone, then sends the next Gmail message, waits again until the day before, and finally waits until about two hours before the event for the “don’t miss this” reminder with the key link/details.
You can easily modify the reminder timing or email copy to match your event style. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Webhook Trigger
This workflow starts when a registration is posted to a webhook endpoint.
- Add a Incoming Registration Hook node as your trigger.
- Set HTTP Method to
POST. - Set Path to
event-registration. - Save the node to generate the webhook URL and use it in your registration form or app.
Step 2: Connect Google Sheets
Registrations are logged to a spreadsheet for tracking and reporting.
- Add the Log Registration Row node.
- Set Resource to
sheetand Operation toappendRow. - Set Sheet Name to
Event Registrations. - Set Document ID to
[YOUR_ID]. - Map the row values as shown:
{{ $json.registrationId }},{{ $json.name }},{{ $json.email }},{{ $json.company }},{{ $json.eventDetails.eventTitle }},{{ $json.registeredAt }},{{ $json.status }}. - Credential Required: Connect your Google Sheets credentials.
Step 3: Set Up Registration Processing
This step sets event details, validates submissions, and creates reminder scheduling data.
- Configure Configure Event Details with event metadata. Set maxCapacity to
100, eventDate to2025-07-25T14:00:00Z, and eventEndDate to2025-07-25T16:00:00Z. - In Registration Validation, add conditions for required fields:
{{ $json.email }}is not empty,{{ $json.name }}is not empty, and{{ $json.email }}contains@. - In Registration Processing, paste the provided JavaScript to generate
registrationId, reminder dates, calendar metadata, and access credentials. - Connect the flow: Configure Event Details → Registration Validation → Registration Processing.
eventTitle, eventLocation, and organizerEmail. Add these fields to Configure Event Details so your emails and calendar links render correctly.Step 4: Configure Output & Reminder Actions
This workflow sends confirmation and multiple reminders, then logs the registration. Reminder actions are time-delayed.
- Set up Dispatch Confirmation Email with Send To as
{{ $json.email }}, Subject as✅ Confirmation d'inscription - {{ $json.eventDetails.eventTitle }}, and enable Content Type ashtml. - Configure Delay Until Week Prior with Unit
days, Amount7, and Resume set to{{ $json.reminderDates.weekBefore }}. - Configure Send Week Prior Notice with Send To
{{ $json.email }}and Subject📅 Rappel - {{ $json.eventDetails.eventTitle }} dans 7 jours. - Configure Delay Until Day Prior with Unit
days, Amount6, and Resume{{ $json.reminderDates.dayBefore }}. - Configure Send Day-Prior Notice with Send To
{{ $json.email }}and Subject🚨 Demain - {{ $json.eventDetails.eventTitle }} - Dernières infos. - Configure Delay Until Two Hours with Unit
hours, Amount22, and Resume{{ $json.reminderDates.twoHoursBefore }}. - Configure Send Final Reminder Email with Send To
{{ $json.email }}and Subject🏁 MAINTENANT - {{ $json.eventDetails.eventTitle }} commence dans 2h. - Registration Processing outputs to both Dispatch Confirmation Email and Log Registration Row in parallel.
- Credential Required: Connect your Gmail credentials to Dispatch Confirmation Email, Send Week Prior Notice, Send Day-Prior Notice, and Send Final Reminder Email.
Step 5: Test and Activate Your Workflow
Validate the full reminder sequence before enabling production use.
- Use the Incoming Registration Hook test URL to send a sample payload containing
nameandemail. - Confirm Registration Validation passes and Registration Processing outputs enriched fields like
registrationIdandreminderDates. - Verify the confirmation email arrives and a new row is appended by Log Registration Row.
- Check that the wait nodes are scheduled using the computed resume timestamps.
- When successful, switch the workflow to Active for production use.
Troubleshooting Tips
- Gmail credentials can expire or need specific permissions. If things break, check the Gmail connection inside n8n’s Credentials list 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 if your form and Gmail are ready.
No. You’ll mostly connect accounts and edit a few fields like event name, dates, and email copy.
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 Gmail and Google Sheets usage (usually no extra cost).
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. You can change the “Configure Event Details” step to support multiple event types, then swap the Gmail templates to match each format. Common tweaks include different timing (like D-3 instead of D-7), separate reminder paths for “online” vs “in-person,” and logging extra columns in the Google Sheets row (like company, role, or ticket type).
Most of the time it’s expired authorization in n8n. Reconnect your Gmail credential, then rerun a single test registration to confirm it sends. If it still fails, check that the Gmail account is allowed to send from the “From” address you’re using and that you haven’t hit daily send limits.
A typical small team can run hundreds of registrations per event without issues, as long as your email sending limits support it. On n8n Cloud, capacity depends on your plan’s monthly executions; on self-hosted n8n there’s no execution cap, but your server and Gmail rate limits will be the real bottleneck. If you’re expecting thousands of sign-ups, you’ll want batching, a dedicated sending service, and a slightly more defensive “retry on failure” setup.
Often, yes. This workflow uses multiple waits and branching logic, and n8n handles that kind of sequence cleanly without turning it into a spaghetti mess. You also get the option to self-host, which matters when reminders turn into lots of executions over time. Zapier or Make can still be fine for a simple confirmation email plus a single reminder, but multi-touch sequences get pricey and harder to maintain. If you want help picking the right stack for your volume, Talk to an automation expert.
Once this is live, your event follow-up stops depending on memory and “someone on the team.” The workflow handles the repetitive parts so you can focus on the session itself.
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.