🔓 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, follow ups sent on schedule

Lisa Granqvist Partner Workflow Automation Expert

Your leads don’t go cold because you’re bad at sales. They go cold because follow-ups slip. A day turns into a week, the thread gets buried, and you’re back to “Just checking in” with zero context.

This is the kind of mess that hits marketers trying to nurture inbound interest, and agency owners juggling too many “hot” prospects at once. Even a busy founder can keep a clean pipeline with this Sheets Gmail follow ups automation running in the background.

You’ll see how a simple Google Sheet becomes a daily follow-up engine that sends the right email on Day 1, 3, 7, and 14, then updates your tracker automatically.

How This Automation Works

The full n8n workflow, from trigger to final output:

n8n Workflow Template: Google Sheets to Gmail, follow ups sent on schedule

The Problem: Follow-Ups Fall Apart Without a System

Manual follow-up tracking looks harmless at first. You add a lead to a sheet, maybe set a reminder, and tell yourself you’ll “circle back.” Then real work happens. A client call runs long. Someone replies in a different thread. A new batch of leads comes in and your tracker turns into a graveyard of half-updated rows. Honestly, the worst part is the mental load: you’re not just doing outreach, you’re constantly wondering who you forgot.

It’s not one big failure. It’s dozens of small ones.

  • You waste about 10 minutes per lead just figuring out what to send next.
  • Follow-ups go out in bursts, which makes your outreach feel inconsistent and rushed.
  • One missed “next date” silently kills a deal you could have revived with a simple Day 7 touch.
  • Your sheet stops being trustworthy, so you end up managing everything from your inbox instead.

The Solution: A Daily Google Sheets → Gmail Follow-Up Sequence

This n8n workflow runs every morning at 9 AM, reads your “Follow-Up Tracker” Google Sheet, and pulls only the leads that are due today. Then it processes each lead one at a time (so your Gmail account doesn’t get hammered), checks their current stage, and sends the matching email template for Day 1, Day 3, Day 7, or Day 14. After the email is sent, the workflow updates your sheet with the “Last Sent Date” and calculates the next follow-up date automatically. If a lead has reached the end of the sequence, it can mark them complete, so your tracker stays clean.

The workflow starts with a simple daily schedule. From there, Google Sheets acts like your source of truth, and Gmail is the delivery channel. Finally, the sheet gets updated so tomorrow’s run is always accurate.

What You Get: Automation vs. Results

Example: What This Looks Like

Say you’re nurturing 40 active leads and around 8 are due for follow-up on a typical day. Manually, it’s maybe 10 minutes per lead to open the sheet, check the stage, copy a template, personalize, send, then update the “last sent” field, which is about 80 minutes. With this workflow, you spend about 5 minutes adding leads and scanning for odd cases, then the daily run sends and updates everything automatically. You just got more than an hour back, and it happens again tomorrow.

What You’ll Need

  • n8n instance (try n8n Cloud free)
  • Self-hosting option if you prefer (Hostinger works well)
  • Google Sheets for your Follow-Up Tracker table.
  • Gmail to send the staged follow-up emails.
  • Google OAuth credentials (create them in Google Cloud Console).

Skill level: Beginner. You’ll connect accounts, paste your Sheet ID, and edit a few email templates.

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

How It Works

A daily schedule kicks it off. The workflow runs every morning at 9 AM, so follow-ups go out consistently even when your calendar is chaos.

Your Google Sheet becomes the queue. n8n reads the “Follow-Up Tracker” tab, then filters down to rows where the “Next Follow-Up Date” is today.

Each lead is handled individually. A batching loop processes one row at a time, then a simple stage check routes that lead to the correct Gmail email (Day 1, 3, 7, or 14).

The tracker updates itself. After sending, it writes back the “Last Sent Date” and calculates the next follow-up date (or marks the sequence complete), so you don’t have to keep the spreadsheet “in sync” by hand.

You can easily modify the four-stage timing to match your sales cycle based on your needs. See the full implementation guide below for customization options.

Step-by-Step Implementation Guide

Step 1: Configure the Schedule Trigger

Set the daily trigger that starts the follow-up workflow each morning.

  1. Add the Morning Schedule Trigger node as your trigger.
  2. Set the Interval to cron and use 0 9 * * * so the workflow runs daily at 9:00 AM.
  3. Connect Morning Schedule Trigger to Retrieve Follow-Up Leads.

Step 2: Connect Google Sheets

Pull lead records and update follow-up tracking fields in your spreadsheet.

  1. Open Retrieve Follow-Up Leads and set Document ID to [YOUR_ID] and Sheet Name to Follow-Up Tracker.
  2. Credential Required: Connect your googleSheetsOAuth2Api credentials in Retrieve Follow-Up Leads.
  3. Configure Update Last Contact Date with Operation set to update, and map columns: Email{{ $json['Email'] }}, Last Sent Date{{ $now.format('yyyy-MM-dd') }}.
  4. Credential Required: Connect your googleSheetsOAuth2Api credentials in Update Last Contact Date.
  5. Configure Compute Next Follow-Up with Operation set to update and map: Stage{{ $json['Stage'] === 'Day 1' ? 'Day 3' : $json['Stage'] === 'Day 3' ? 'Day 7' : $json['Stage'] === 'Day 7' ? 'Day 14' : 'Complete' }}, Status{{ $json['Stage'] === 'Day 14' ? 'Completed' : 'Active' }}, Next Follow-Up Date{{ $now.plus({ days: $json['Stage'] === 'Day 1' ? 2 : $json['Stage'] === 'Day 3' ? 4 : $json['Stage'] === 'Day 7' ? 7 : 0 }).format('yyyy-MM-dd') }}.
  6. Credential Required: Connect your googleSheetsOAuth2Api credentials in Compute Next Follow-Up.

⚠️ Common Pitfall: Replace every [YOUR_ID] in Google Sheets nodes with your actual spreadsheet ID, or reads/updates will fail.

Step 3: Set Up Filtering and Batching

Filter the daily queue and batch process leads before routing them by follow-up stage.

  1. In Filter Today's Queue, set the first condition to Left Value {{ $json['Next Follow-Up Date'] }} and Right Value {{ $now.format('yyyy-MM-dd') }} with Operation equals.
  2. Add the second condition in Filter Today's Queue with Left Value {{ $json['Status'] }} and Right Value Active.
  3. Connect Retrieve Follow-Up LeadsFilter Today's QueueBatch Through Leads.
  4. Connect Batch Through Leads to Route by Stage for stage-based routing.

Step 4: Configure Output Email Routing and Updates

Send stage-specific emails and update the tracking sheet after each email is sent.

  1. In Route by Stage, ensure each output is defined with conditions: Stage equals Day 1, Day 3, Day 7, and Day 14 using {{ $json['Stage'] }}.
  2. For Dispatch Day 1 Email, set Send To to {{ $json['Email'] }}, Subject to Quick Follow-Up - {{ $json['Name'] }}, and use the provided HTML message with expressions.
  3. Credential Required: Connect your gmailOAuth2 credentials in Dispatch Day 1 Email.
  4. Repeat the email setup for Dispatch Day 3 Email, Dispatch Day 7 Email, and Dispatch Day 14 Email with their respective subjects and message templates.
  5. Credential Required: Connect your gmailOAuth2 credentials in Dispatch Day 3 Email, Dispatch Day 7 Email, and Dispatch Day 14 Email.
  6. Connect each email node to Update Last Contact Date, then connect Update Last Contact Date to Compute Next Follow-Up.

Tip: Replace any [YOUR_ID] links in the email templates with your booking or resource URLs before going live.

Step 5: Test and Activate Your Workflow

Run a manual test to verify email delivery and spreadsheet updates, then enable the automation.

  1. Click Execute Workflow and confirm that Retrieve Follow-Up Leads returns rows for today’s follow-up date.
  2. Verify that a lead routes to one of the email nodes and that the email is delivered using the correct template.
  3. Check the spreadsheet to confirm Update Last Contact Date and Compute Next Follow-Up updated the Last Sent Date, Stage, Status, and Next Follow-Up Date fields.
  4. When satisfied, toggle the workflow to Active so Morning Schedule Trigger runs daily.
🔒

Unlock Full Step-by-Step Guide

Get the complete implementation guide + downloadable template

Common Gotchas

  • Google Sheets access can fail if your Google OAuth permissions change. If it stops reading rows, check the Google credential in n8n first, then confirm the Sheet ID is still correct.
  • If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
  • Gmail has daily sending limits (about 500/day on many free accounts). If sends start failing, look at your Gmail “Sent” volume and slow the workflow down by batching fewer leads per run.

Frequently Asked Questions

How long does it take to set up this Sheets Gmail follow ups automation?

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

Do I need coding skills to automate Sheets Gmail follow ups?

No. You’ll mostly edit email copy and connect Google credentials in n8n.

Is n8n free to use for this Sheets Gmail follow ups 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 want to consider Gmail account limits (many free accounts cap around 500 emails/day).

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 customize this Sheets Gmail follow ups workflow for a different sequence timing?

Yes, and it’s a practical tweak. You’ll update the stage routing in the “Route by Stage” switch and adjust what gets written in “Compute Next Follow-Up” so the “Next Follow-Up Date” matches your cadence. Common customizations include adding a Day 30 check-in, changing Day 3 to Day 2 for faster cycles, or stopping after Day 7 for shorter sales windows.

Why is my Gmail connection failing in this workflow?

Most of the time it’s expired or missing OAuth permissions in your Gmail credential inside n8n. Reconnect the Gmail account, then confirm the email nodes are using the updated credential. If you’re sending a lot in one day, Gmail can also temporarily block or throttle sends, so check your recent sending volume and try again the next run.

How many leads can this Sheets Gmail follow ups automation handle?

It can handle hundreds of leads in the sheet, but daily sends are limited by your Gmail account (often around 500/day on free accounts).

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

Often, yes, if you care about running a real sequence and keeping a tracker updated in one pass. n8n makes it easier to loop through many rows, route by stage, and write back changes without paying extra for every little branch. It’s also flexible: you can self-host and run as many executions as your server can handle. Zapier or Make can still be a fine choice if you only want a simple “new row → send email” setup and you don’t need staged follow-ups. If you’re torn, Talk to an automation expert and we’ll point you to the cleanest option.

This is what “organized follow-up” looks like when it’s actually automatic. Set it up once, keep your sheet clean, and let the workflow do the repeating work.

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