Automate Gmail Campaigns with Google Sheets & n8n

This workflow automates sending personalized emails via Gmail using data filtered from Google Sheets based on current date and status, saving hours on manual outreach and ensuring accurate communication timing.
googleSheets
gmail
filter
+4
Workflow Identifier: 2033
NODES in Use: Filter, Set, Sticky Note, Schedule Trigger, Google Sheets, Gmail, Merge

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 n8n workflow reads customer messages from Google Sheets, checks if they need to be sent today, sends emails by Gmail, and marks messages as sent in the sheet.
It removes the need for manual checking, sending, and updating data every day.

The workflow runs every minute to catch and send messages right on their scheduled date.
This saves time and stops mistakes in sending emails to wrong people or missing messages.


Who Should Use This Workflow

People who manage many customer emails daily and use Google Sheets to plan messages.
It is useful when manual sending takes too much time and can lead to errors.

Anyone wanting to make sure emails go out on the right day, with correct info, and have tracking in the sheet.


Tools and Services Used

  • Google Sheets: Stores customer emails, subjects, status, and scheduled dates.
  • Gmail: Sends the personalized email messages.
  • n8n: Automation platform to run and connect all nodes.

How This Workflow Works: Inputs → Processing → Output

Step 1: Inputs

The workflow takes data from Google Sheets including Email, Name, Status, Date, Title, and Subject columns.
It uses the current date to compare with the scheduled Date column to find messages to send.

Step 2: Processing

  • Filter node selects rows where Status is “Waiting for sending” and Date matches today.
  • Merge node joins the filtered data with scheduling info.
  • Set node prepares the email fields like To, Subject, and message content.
  • Gmail node sends the email based on prepared data.
  • After sending, Google Sheets node updates the Status column to “Sent successfully” for each email.

Step 3: Output

The emails are sent to the customers with the right content.
Google Sheets shows updated status to help track which messages were sent.


Beginner Step-by-Step: How to Use This Workflow in n8n

Import Workflow

  1. Download the workflow file using the Download button on this page.
  2. Open the n8n editor and select Import from File.
  3. Upload the downloaded workflow file.

Configure Credentials and IDs

  1. Add your Google Sheets OAuth2 credentials in n8n.
  2. Add your Gmail OAuth2 credentials as well.
  3. If your spreadsheet or sheet names differ, update the Document ID and Sheet Name fields.

Test and Activate

  1. Manually trigger the workflow or run it to test if emails send correctly.
  2. Check your Google Sheets for status updates and your Gmail for sent messages.
  3. If all looks good, activate the workflow to run every minute automatically.
  4. Monitor executions regularly to catch errors early.

Customizations and Ideas

  • Change the email message to HTML format in the Gmail node by switching Email type from Text to HTML.
  • Adjust the frequency of the Schedule Trigger node for sending emails less or more often.
  • Add more filters to send emails only for priority customers by using a Priority column.
  • Integrate other services like CRM for richer customer data.
  • Consider using self-host n8n for better data control.

Common Issues and Fixes

No Emails Sent

Make sure Gmail OAuth2 credentials are authorized and not expired.
Reauthenticate if needed.

Filter Node Gives No Output

Check that the Date column in Google Sheets is formatted as yyyy/MM/dd.
Ensure Status is exactly “Waiting for sending” in the sheet.

Wrong Rows Updated

Confirm that the Update node matches rows by the correct ID column.


Pre-Production Checklist

  • Verify Google Sheets Document ID and Sheet Name match your spreadsheet.
  • Confirm Gmail OAuth2 credentials have necessary permissions.
  • Test filter node output to make sure correct rows are selected.
  • Send test emails manually and verify delivery.
  • Backup your spreadsheet before running updates.

Deployment Guide

Activate the workflow by clicking Active in n8n.
Check execution logs to ensure messages send on schedule.

Adjust the schedule as per time zones or business hours if needed.


Summary

✓ Saves over two hours of manual email sending every day.
✓ Stops errors by automating filtering and sending.
✓ Sends personalized emails exactly when scheduled.
✓ Keeps Google Sheets updated on sent status.
✓ Easy to test and activate inside n8n.


Frequently Asked Questions

Download the workflow file, import it via ‘Import from File’ in n8n editor, add your Google Sheets and Gmail OAuth2 credentials, update any document IDs or sheet names, test by running it, then activate for scheduled sending.
The Filter node needs the Date column in Google Sheets to be formatted as yyyy/MM/dd and the Status to be ‘Waiting for sending’. Incorrect formats or missing data cause no rows to pass the filter.
Yes, change the Gmail node’s Email type from Text to HTML and modify the message content to HTML code to send rich formatted emails.
Emails might not send if Gmail OAuth2 credentials are expired or missing permissions. Reauthenticate the Gmail credentials in n8n to fix this.

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