🔓 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 to Gmail, every new lead followed up

Lisa Granqvist Partner Workflow Automation Expert

Your leads are sitting in a Google Sheet, marked “New,” and somehow they still don’t get contacted. Someone forgets. Someone thinks someone else handled it. Then a great lead goes cold and you only notice days later.

This Sheets Gmail follow-up problem hits marketing managers first, but small business owners and agency teams feel it too. You’ll stop missing first-touch emails, and you’ll stop sending duplicates because the sheet updates itself.

This workflow checks your Google Sheet every hour, emails only the “New” leads, then flips each lead to “Contacted.” Below, you’ll see exactly how it works, what you need, and what to tweak for your pipeline.

How This Automation Works

See how this solves the problem:

n8n Workflow Template: Google Sheets to Gmail, every new lead followed up

The Challenge: New leads go stale in a spreadsheet

A Google Sheet is a decent place to collect leads. It’s a terrible place to rely on human memory. The “I’ll do it later” follow-up turns into tomorrow, then next week, then an awkward “just circling back” email that screams you weren’t paying attention. And the worst part is the mental load: checking rows, sorting by Status, searching for who already emailed, and trying not to step on a teammate’s toes. Even if each check is quick, it interrupts real work and creates constant uncertainty about what’s actually been handled.

It adds up fast. Here’s where it breaks down in the real world.

  • Someone has to scan the sheet and decide what “New” means today.
  • First-touch emails get delayed, so the lead’s interest cools off before you reply.
  • Duplicates happen when two people work the same list, especially after a busy day.
  • Status fields get out of sync, which makes reporting and handoffs messy.

The Fix: Auto-email new leads and update the sheet

This workflow runs quietly in the background and does the one thing most teams struggle to do consistently: send the first follow-up on time. Every 60 minutes, it opens your Google Sheet, pulls in the lead rows, and checks the Status column. Only leads marked “New” move forward. Then it sends a personalized Gmail message using the lead’s name and email address, and immediately updates that same row to “Contacted.” So the sheet becomes your source of truth again, not a hopeful suggestion. It also processes leads one-by-one, which is a simple way to avoid email bursts that can trigger deliverability issues.

The workflow starts on a schedule, not a manual click. Google Sheets supplies the leads, Gmail sends the outreach, and Google Sheets is updated again so each lead is handled once. Clean loop, clear state, fewer surprises.

What Changes: Before vs. After

Real-World Impact

Say your sheet gets 15 new leads a day. Manually, you might spend about 5 minutes per lead to open the row, write the email, send it, then update Status, which is roughly an hour a day. With this workflow, the “work” is basically zero: the schedule runs every hour, Gmail sends messages in the background, and the sheet updates itself. You still handle replies, but you’re no longer spending a week’s worth of small interruptions every month.

Requirements

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets to store leads with a Status column.
  • Gmail to send personalized outreach emails.
  • Google account permissions (enable Sheets + Gmail access in n8n).

Skill level: Beginner. You’ll connect Google accounts and map a few fields like Name, Email, and Status.

Need help implementing this? Talk to an automation expert (free 15-minute consultation).

The Workflow Flow

A scheduled trigger runs every 60 minutes. You can keep it hourly, or change it to match how quickly you want first-touch emails to go out.

Google Sheets is queried for your lead rows. The workflow pulls the sheet data and immediately checks the Status field so only “New” leads continue. That one filter is what prevents accidental re-sends.

Leads are processed one at a time and emailed via Gmail. n8n takes the Name and Email columns and drops them into your subject line and message body so the email feels personal without you writing it from scratch.

The same row is updated to “Contacted.” This closes the loop, so the next hourly run ignores that lead and moves on to the next “New” row.

You can easily modify the email template to match your brand voice and offer, so the message feels like it came from your team. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Scheduled Trigger

Set the daily schedule that kicks off the outreach workflow.

  1. Add and open Scheduled Daily Trigger 🕒.
  2. Configure the schedule to run daily at your preferred time.
  3. Connect Scheduled Daily Trigger 🕒 to Retrieve Leads Spreadsheet 📄.

Step 2: Connect Google Sheets

Pull lead data and update the contacted status after sending emails.

  1. Open Retrieve Leads Spreadsheet 📄 and select the spreadsheet and sheet that contains your leads.
  2. Credential Required: Connect your Google Sheets credentials in Retrieve Leads Spreadsheet 📄.
  3. Open Update Lead Contacted ✅ and set it to update the same spreadsheet with your contacted status column.
  4. Credential Required: Connect your Google Sheets credentials in Update Lead Contacted ✅.

⚠️ Common Pitfall: If your sheet has header changes or renamed columns, the update in Update Lead Contacted ✅ may fail. Verify the exact column names.

Step 3: Set Up Lead Filtering and Batching

Ensure only new leads are processed and send emails in controlled batches.

  1. Open Validate New Lead Status 🔍 and define the condition that identifies a new, uncontacted lead.
  2. Connect Retrieve Leads Spreadsheet 📄 to Validate New Lead Status 🔍.
  3. Open Process Leads in Batches 🔁 and set your batch size to avoid sending too many emails at once.
  4. Ensure Validate New Lead Status 🔍 routes true results to Process Leads in Batches 🔁.

Step 4: Configure Email Sending and Status Updates

Send an outreach email and then mark the lead as contacted.

  1. Open Dispatch Lead Email ✉️ and configure the recipient, subject, and body using fields from the lead data.
  2. Credential Required: Connect your Gmail credentials in Dispatch Lead Email ✉️.
  3. Connect Process Leads in Batches 🔁 to Dispatch Lead Email ✉️ and then to Update Lead Contacted ✅.
  4. Verify that Update Lead Contacted ✅ writes back the contacted flag or timestamp to the correct row.

Tip: Keep outreach content short and personalized by mapping lead name and company fields into the email body.

Step 5: Test & Activate Your Workflow

Validate the workflow end-to-end before turning it on.

  1. Click Execute Workflow to run a manual test.
  2. Confirm that Retrieve Leads Spreadsheet 📄 loads rows, Dispatch Lead Email ✉️ sends emails, and Update Lead Contacted ✅ marks leads as contacted.
  3. If emails or updates fail, recheck your credentials and the lead status condition in Validate New Lead Status 🔍.
  4. Turn on the workflow using the Active toggle to enable daily automation.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Watch Out For

  • Google Sheets credentials can expire or need specific permissions. If things break, check the n8n credentials screen and your Google account security alerts first.
  • If you’re batching lots of leads, Gmail can throttle you. Processing one-by-one helps, but you may still need to slow the schedule or reduce daily volume if sends start failing.
  • Your Status values must match exactly (for example, “New” vs “new”). A small typo in the sheet can silently skip leads, which is honestly the hardest kind of failure.

Common Questions

How quickly can I implement this Sheets Gmail follow-up automation?

Usually about 30 minutes if your Google accounts are ready.

Can non-technical teams implement this Sheets Gmail follow-up?

Yes. You’ll connect Google Sheets and Gmail, then map the Name, Email, and Status fields.

Is n8n free to use for this Sheets Gmail follow-up 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 on a paid plan.

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.

How do I adapt this Sheets Gmail follow-up solution to my specific challenges?

You can customize it without changing the overall logic. Most people start by editing the Gmail email body to match their offer and tone, then adjusting the Google Sheets column names if their sheet uses different headers. If you want more lead sources, replace the “Retrieve Leads Spreadsheet” step with a different input (like a webhook from a form) and keep the same Status update pattern. You can also change the schedule to every 15 minutes during business hours, then slow it down overnight.

Why is my Google Sheets connection failing in this workflow?

Most of the time it’s expired Google authorization or missing access to the specific spreadsheet. Reconnect your Google credentials in n8n, then confirm the sheet is shared with the right Google account. Also check the sheet ID and tab name, because a renamed tab can break lookups. If it fails only sometimes, you may be hitting Google API quotas during busy periods.

What’s the capacity of this Sheets Gmail follow-up solution?

Plenty for most small teams: it runs hourly and processes leads one-by-one, so it’s naturally paced.

Is this Sheets Gmail follow-up automation better than using Zapier or Make?

Often, yes, if you want more control and fewer surprise limits. n8n makes it easier to add logic like “only send when Status is New,” loop through rows safely, and update the same record afterward, all in one place. Self-hosting is also a big deal if you don’t want to pay more as your lead volume grows. Zapier or Make can still be a fine fit for a simple two-step “new row, send email” flow, especially if you never expect branching or batching. Talk to an automation expert if you want a quick recommendation based on your volume and tools.

Once this is running, “New” stops being a worry and becomes a process you can trust. The workflow handles the repetitive follow-up so you can spend your time where it actually matters: replies and conversations.

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