🔓 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

Google Sheets + Gmail: event reminders sent once

Lisa Granqvist Partner Workflow Automation Expert

Event signups look simple until your spreadsheet starts lying to you. Duplicate emails sneak in, confirmations get missed, and you only notice the mess when people show up confused (or don’t show up at all).

This kind of event reminder automation hits marketing managers first, because they’re the ones judged on attendance. But solo founders running webinars and ops coordinators managing in-person events feel the same pain. You need clean registrations and reliable reminders without babysitting a sheet all week.

This n8n workflow keeps Google Sheets as the source of truth, sends Gmail confirmations and timed reminders, and logs every send so nobody gets emailed twice. Below you’ll see how it works, what you get, and what to watch out for.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets + Gmail: event reminders sent once

The Problem: Event Emails Get Messy Fast

Most event teams start with “just put the registrations in Google Sheets.” It works right up until it doesn’t. Someone registers twice with the same email. Another person says they never got the confirmation, so you resend it manually, then they find it later and now they’ve received two. And the big one: reminders. You swear you’ll send them three days before and again on event day, but the week gets busy and that follow-up becomes a last-minute scramble.

None of these alone is the problem. Together, they are.

  • Duplicate registrations force you to clean lists by hand and you still miss some.
  • Manual confirmations get inconsistent when multiple people “help” from the same inbox.
  • Reminders are easy to forget, which means more no-shows and awkward “Did you get my email?” replies.
  • You have no reliable log of what was sent, so troubleshooting becomes guesswork.

The Solution: One Signup Flow, One Email History

This workflow automates the full registration-to-reminder loop using Google Sheets as the database and Gmail as the sender. When someone submits your event signup form, the workflow cleans up the form fields, checks your sheet for an existing email, and stops duplicates before they pollute your attendee list. If it’s a new registrant, n8n appends the row, assigns a confirmation status and event date, then sends a welcome email immediately. It also processes the send result and writes back to the sheet, so you can see that the confirmation actually went out.

Then the “set it and forget it” part kicks in. A daily schedule trigger reviews confirmed attendees, calculates how close each person is to the event, and routes them into the right reminder flow (three-day or event-day). Each email send is tracked and flagged in Google Sheets, which prevents double-sends even if the workflow runs daily.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you run one live webinar each week with 200 registrants. Manually, you might spend about 10 minutes a day checking duplicates, replying to “please confirm” emails, and preparing reminders, which turns into roughly an hour a week. Add the day-before scramble and it’s easily another 30 minutes. With this workflow, you spend maybe 5 minutes setting up the form and sheet once, then the daily scheduled check handles reminders automatically, while Sheets logs every confirmation and reminder send.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for storing registrations and send status.
  • Gmail to send confirmations and reminders.
  • Google account access (connect via Google OAuth in n8n).

Skill level: Beginner. You’ll connect Google, map a few fields, and test one registration end-to-end.

Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).

How It Works

A registration comes in. The workflow starts when someone submits your event signup form. n8n immediately normalizes the fields (name, email, anything else you collect) so your sheet stays consistent.

Your sheet gets checked before anything is saved. n8n reads existing rows from Google Sheets, compares emails, and stops the process if that email is already on file. No duplicate row, no accidental second reminder later.

Confirmations go out and get tracked. For new signups, the workflow appends the registration row, assigns a status and event date, and sends a welcome email from Gmail. It then records the send status back into Google Sheets, so you can see what happened without digging through inbox threads.

Daily reminders run automatically. A schedule trigger runs once per day, pulls confirmed attendees, calculates how many days are left, and sends either a 3-day reminder or an event-day message. After each send, the workflow updates “sent” flags in Sheets and includes waits to avoid hammering Gmail.

You can easily modify the reminder timing to match your event style. For example, swap “3-day” for “2-day,” or add a “1-hour before” reminder based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Form and Schedule Triggers

This workflow uses a form submission trigger for new registrations and a daily schedule trigger for reminders.

  1. Open Event Signup Form and set Path to 530dbca7-33ec-4add-a37b-e44ee5fe7e41, Form Title to Event Registration, and Form Description to Register for our upcoming event.
  2. In Event Signup Form, confirm the fields: First Name, Last Name, Email (type email), Company, and Interests (dropdown with n8n, automation, ai-agent, digital-worker).
  3. Open Daily Schedule Trigger and set the schedule rule to run at 09:00 (Trigger At Hour 9).
  4. In Set Source Form, add the assignment source = form and keep Include Other Fields enabled.
  5. In Set Source Schedule, add the assignment source = schedule.
  6. In Route by Source, ensure the rules check {{$json.source}} equals form and schedule to route registrations and reminder checks.

Step 2: Connect Google Sheets

All registration data and reminder flags are stored and updated in Google Sheets.

  1. Open Fetch Existing Entries and set Document ID to [YOUR_ID] and Sheet Name to gid=0.
  2. Open Append Registration Row and confirm Operation is append with column mappings like Email = {{$json.Email}} and First Name = {{$json["First Name"]}}.
  3. Open Record Welcome Email Status and confirm Operation is update with Matching Columns set to Email.
  4. Open Retrieve Confirmed Attendees, Update 3-Day Flag, and Update Event-Day Flag, and point each to the same [YOUR_ID] document and gid=0 sheet.
  5. Credential Required: Connect your Google Sheets credentials to all Google Sheets nodes (6 nodes handle reads, appends, and updates).

⚠️ Common Pitfall: The sheet columns include trailing spaces in preEventEmailSent and eventDayEmailSent . Keep the spaces exactly as shown in the sheet and node mappings.

Step 3: Set Up Registration Processing and Duplicate Checks

This path detects duplicate registrations, appends new rows, and assigns status and dates.

  1. Confirm Fetch Existing Entries flows into Detect Duplicate Email, which compares Event Signup Form email data with sheet records.
  2. In Check Non-Duplicate, use the boolean condition value {{$json.isDuplicate}} to gate new registrations.
  3. In Assign Status and Date, set fields: Status to confirmed, preEventEmailSent to false, and Event Date to 20-12-2025.
  4. In Verify Registration Result, confirm the condition checks {{$json.Status}} equals confirmed to proceed.

Step 4: Configure Welcome Email and Failure Notifications

Successful registrations trigger a welcome email and a status update. Failures notify an admin.

  1. Open Dispatch Welcome Email and set Send To to {{$json.Email}} and Message to =<h2>Hello {{ $json['First Name'] }}</h2><p>Your registration is confirmed.</p>.
  2. Credential Required: Connect your gmailOAuth2 credentials for Dispatch Welcome Email.
  3. Keep Process Email Response after Dispatch Welcome Email to add fields like welcomeEmailSent and emailSentAt.
  4. In Record Welcome Email Status, confirm update mappings include welcomeEmailSent and preEventEmailSent .
  5. Open Notify Admin Failure and set Send To to [YOUR_EMAIL], with subject ⚠️ Registration Failed for {{ $json.firstName }} {{ $json.lastName }}.
  6. Credential Required: Connect your Gmail credentials for Notify Admin Failure and all other Gmail email nodes in this workflow.

Step 5: Configure Reminder Routing, Batches, and Delays

The reminder flow runs on schedule, filters attendees, and sends 3-day and event-day notices with sheet updates.

  1. Ensure Daily Schedule Trigger routes through Set Source ScheduleRoute by SourceRetrieve Confirmed AttendeesFilter Reminder List.
  2. In Route Reminder Type, keep the rules that check {{$json.reminderType}} equals 3-day or event-day.
  3. For 3-day notices, confirm Batch 3-Day Reminders feeds Send 3-Day Notice, then Prepare 3-Day Sheet UpdateDelay After 3-DayUpdate 3-Day Flag.
  4. In Send 3-Day Notice, set Send To to {{$json.Email}} and use the message template with {{$json['First Name']}} and {{$json.Interests}}.
  5. For event-day notices, confirm Batch Event-Day Reminders feeds Send Event-Day Notice, then Prepare Event-Day Sheet UpdateDelay After Event-DayUpdate Event-Day Flag.
  6. In both Delay After 3-Day and Delay After Event-Day, keep Unit set to seconds (adjust timing as needed).
  7. Credential Required: Connect your Gmail credentials for Send 3-Day Notice and Send Event-Day Notice.

Step 6: Test and Activate Your Workflow

Validate each path, then enable the workflow for production use.

  1. Use Event Signup Form to submit a test registration and verify Fetch Existing EntriesDetect Duplicate EmailAppend Registration Row runs successfully.
  2. Confirm that Dispatch Welcome Email sends an email and that Record Welcome Email Status updates the sheet.
  3. Manually run the reminder path by executing Retrieve Confirmed Attendees and confirm routing through Route Reminder Type into either 3-day or event-day batches.
  4. A successful execution should show Gmail messages sent and updated flags in Update 3-Day Flag or Update Event-Day Flag.
  5. Turn the workflow Active to enable scheduled reminders and live form processing.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets credentials can expire or need specific permissions. If things break, check the connected Google account and OAuth consent in n8n 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.

Frequently Asked Questions

How long does it take to set up this event reminder automation?

About 30 minutes if your Sheet and Gmail account are ready.

Do I need coding skills to automate event reminders?

No. You’ll mostly connect Google, map fields, and test a signup. The only “code” parts are already included in the workflow.

Is n8n free to use for this event reminder 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 Gmail/Google Workspace costs if you’re sending from a paid domain inbox.

Where can I host n8n to run this event reminder 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 customize this event reminder automation workflow for different reminder timing?

Yes, and it’s a common tweak. You can change the date math in the “Filter Reminder List” code step, then adjust routing in “Route Reminder Type” so attendees flow into the right batch. Some teams add a “1-day before” email, others move the 3-day notice to 7 days for bigger events. If your event date lives in another system, you can also swap the Google Sheets lookup for HubSpot and still write the send flags back to Sheets.

Why is my Google Sheets connection failing in this workflow?

Usually it’s an expired Google OAuth connection or the connected account lost access to the spreadsheet. Reconnect Google in n8n, then confirm the Sheet is shared with that same account. Also double-check the spreadsheet ID and tab name because a renamed tab can look like a “broken API” when it’s really just pointing at the wrong place.

How many registrations can this event reminder automation handle?

For most small events, hundreds or a few thousand registrations are fine.

Is this event reminder automation better than using Zapier or Make?

Often, yes, if you care about “send once” logic and tracking. This workflow uses branching, batching, and status flags in Google Sheets, which is where Zapier and Make setups tend to sprawl into multiple zaps/scenarios. n8n also makes scheduled processing straightforward, so you’re not paying extra for every tiny filter step. That said, Zapier or Make can be faster to set up for a simple confirmation-only flow with no reminder routing. If you want the cleanest option for your specific event volume and email cadence, Talk to an automation expert.

Once this is in place, confirmations and reminders become boring. Honestly, that’s the goal. Your sheet stays clean, your emails go out on time, and you stop chasing attendance at the last minute.

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