Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Workflow Identifier: 1833
NODES in Use: googleSheets, set, code, gmail, filter, executeWorkflow, executeWorkflowTrigger, stickyNote

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

What this workflow does

This workflow helps send personalized emails and follow-ups automatically from Google Sheets using Gmail.

It stops you from sending emails too early, repeats, or missing replies.

You save time and keep good contact with your leads.

Inputs

  • Google Sheet: Contains lead emails and info like name, company, plus tracking columns.
  • Gmail account: Used to send and read emails for follow-up decisions.
  • n8n instance: Runs the automation and uses OAuth2 credentials.

Processing steps

  • Reads lead data from Google Sheets.
  • Sends first email personalized with placeholders replaced.
  • Checks Gmail threads to see if a reply came.
  • If no reply and timing fits, sends follow-up emails.
  • Updates Google Sheets with first email sent date.
  • Stops emails on weekends to avoid bothering contacts.
  • Manages multiple follow-ups based on schedule in email sequence node.

Outputs

  • Sent emails to leads with personalized content.
  • Updated Google Sheet keeping outreach status.
  • Kept Gmail threads organized for tracking replies.

Who should use this workflow

Anyone who sends many emails to leads from a contact list in Google Sheets.

Good for sales or marketing teams needing to save hours each week and avoid mistakes in follow-up timing.

No coding required, but some basic n8n knowledge helps.


Tools and services used

  • Google Sheets API: Read and write contact and tracking data.
  • Gmail API: Send emails and get threads for reply states.
  • n8n Workflow: Automates the logic and timing of sending messages.

Beginner step-by-step: How to build this in n8n

Step 1: Import the workflow

  1. Download the workflow file using the “Download” button on this page.
  2. Open the n8n editor.
  3. Click “Import from File” and upload the downloaded workflow.

Step 2: Add credentials and settings

  1. Add Google Sheets OAuth2 credentials in the Get emails and Update last contacted time nodes.
  2. Add Gmail OAuth2 credentials in the Get previous message threads, Get thread details, Reply to message, and Send new message nodes.
  3. Go to the Settings node and update the sheet_url, email subject, sender_name, email column name, and mail_id to your values.

Step 3: Adjust email templates (optional)

  1. Edit the Email sequence node to change email content or timing.
  2. Make sure placeholders like {name} match your Google Sheet columns.

Step 4: Test the workflow

  1. Run the workflow manually for a small set of contacts.
  2. Check if emails send and updates happen in the sheet.

Step 5: Activate for production

  1. Turn on the workflow by clicking the Activate toggle at the top right.
  2. The scheduled trigger node will run hourly and send emails automatically.

For more control or faster runs, consider self-host n8n.


How the workflow works

Input

Uses Google Sheets with columns: email, first_emailed, and any custom info you want in emails.

Process

On schedule, the workflow reads all leads.

Sends initial email if not already sent.

Searches Gmail threads by subject to find if they replied.

If no reply after set days, sends follow-ups using stored templates.

Updates Google Sheet with send dates to track progress.

Skips sending on weekends based on filter node.

Output

Emails sent with correct personalization.

Sheets updated with latest contact info.

Gmail keeps conversation threads updated.


Customization ideas

  • Change message text or add HTML in the Email sequence node JSON.
  • Add more placeholders by editing Google Sheet columns and updating the Fill message placeholders code node.
  • Change follow-up days by editing send_on_day in Email sequence.
  • Modify or disable weekend filter node to send emails on Saturdays or Sundays if wanted.
  • Use different Google Sheet URL in Settings to switch contact list.

Troubleshooting common issues

Missing data for placeholder error

Your Google Sheet may miss a column matching your email placeholders like {name}.

Add the missing columns and rerun the workflow.

No emails send

Check if OAuth2 credentials for Google Sheets and Gmail are set correctly.

Look if the weekend filter node blocks sending on current day.

Replies not detected for follow-ups

Review the thread classification code node.

Make sure mail_id and sender_name in Settings exactly match your email details.


Pre-production checklist

  • Confirm Google Sheet contains all needed columns matching placeholders.
  • Verify Google Sheets and Gmail credentials are authorized and working.
  • Test the workflow with few contacts first.
  • Check no emails send on weekends unless desired.
  • Backup Google Sheet data before running bulk messages.

Deployment guide

  • Activate the workflow in n8n with the schedule trigger running hourly.
  • Monitor execution logs for success or errors.
  • Watch Gmail API quota in Google Cloud Console to avoid limits.
  • Update message templates or timing as campaign needs change.

Summary of outcomes

✓ Save hours weekly by automating email sequences.

✓ Avoid errors sending too early or forgetting follow-ups.

✓ Send clear, personalized emails using real lead data.

✓ Keep updated records in Google Sheets.

→ Maintain smooth, professional communication with leads.


Frequently Asked Questions

No. This workflow uses Gmail nodes only. To use Outlook, replace Gmail nodes with Office 365 Email nodes and update credentials.
Yes. Each sent email counts against Gmail API limits. Monitor usage in Google Cloud Console.
Data stays in your Google Sheets and Gmail. Only an authorized n8n instance accesses it with OAuth2 credentials.
Yes. n8n can process hundreds or thousands of contacts, but watch resource use and execution time.

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation Workflows in n8n

A complete beginner guide to building an AI SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free