Personalized Mail Merge Automation using Google Sheets and Gmail - n8n Workflow

Use this powerful n8n workflow to automate personalized email campaigns (mail merge) directly from Google Sheets data via Gmail. Set up your recurring n8n trigger today.

Workflow Preview

Ready to automate?

Download this n8n workflow template and start using it instantly.

Who is this best for?

Sales teams needing a simple, automated mail merge solution without dedicated CRM software.
Marketing professionals managing segmented campaigns based on spreadsheet data, seeking reliable n8n templates.
Users who want robust, customizable n8n templates for operational email tasks.
Anyone looking to leverage an n8n workflow for scheduled data processing and outreach.

Overview

This sophisticated n8n workflow provides a fully automated solution for personalized mail merge operations, connecting Google Sheets and Gmail seamlessly. It solves the complexity of manually sending high-volume, personalized emails by leveraging a reliable n8n trigger that runs periodically (hourly). By using this n8n automation, you can transform a simple spreadsheet into a powerful dispatch queue. The core logic ensures that only rows explicitly marked as "Scheduled for send" are processed by the Filter n8n node, protecting you from accidental resends and offering precise control over your outreach campaigns. This is a crucial n8n node combination for automating repetitive communication tasks using an efficient n8n workflow.

How it Works


  1. Schedule Activation: The automation begins with the Schedule Trigger, serving as the recurring n8n trigger set to run every hour, ensuring timely processing of scheduled emails.

  2. Data Retrieval: The Read Google Sheets data n8n node fetches all relevant rows from the designated Google Sheets document.

  3. Filtering for Action: The Filter n8n node (labeled 'Pass on "Scheduled for send" to Gmail') inspects each row. It passes through only those rows where a designated status column explicitly contains "Scheduled for send," defining which items the n8n workflow must process.

  4. Email Dispatch: For every filtered item, the Send an email n8n node utilizes Gmail credentials to dispatch a personalized email, dynamically injecting recipient, subject, and body content from the Google Sheets row.

  5. Data Reconciliation: The Combine both datasets n8n node merges the original input data (the row sent) with the output status from the Gmail operation.

  6. Status Update: The final n8n node, Update Status email column, writes the success or failure status back into the corresponding row in the Google Sheets, ensuring the spreadsheet prevents the n8n trigger from re-sending the same email.

Installation Guide


  1. Importing: Copy the provided n8n workflow JSON code. In your n8n instance, navigate to 'Workflows' and use the 'Import from JSON' function to load these n8n templates.

  2. Google Sheets Setup: You need to configure the Google Sheets n8n node credentials. Create a new Google Sheets OAuth2 API credential. Ensure this credential has read and write access to the specific spreadsheet used by the n8n workflow.

  3. Gmail Setup: Configure the Gmail n8n node with your required Gmail credentials (typically OAuth2) to enable email sending.

  4. Workflow Configuration: Update the Read Google Sheets data and Update Status email column n8n nodes with your specific Document ID and Sheet Name.

  5. Filter Configuration: Ensure the Pass on "Scheduled for send" to Gmail filter n8n node accurately targets the name of your status column and the condition criteria ('contains: Scheduled for send').

  6. Activation: After setting up all credentials and configuration parameters, activate the n8n workflow to allow the Schedule Trigger to begin execution.

Node Details

Schedule Trigger (n8n trigger): Function: Initiates the entire n8n workflow execution. Key Configuration: Set to run based on an hourly interval.
Read Google Sheets data (Google Sheets n8n node): Function: Connects to Google Sheets to retrieve all rows for processing. Key Configuration: Requires specific Document ID and Sheet Name.
Pass on "Scheduled for send" to Gmail (Filter n8n node): Function: Filters input items, only passing records where the status field matches "Scheduled for send". This is a key step in controlling the n8n workflow.
Send an email (Gmail n8n node): Function: Executes the personalized email send operation using dynamically mapped data from the previous step. Key Configuration: Operation set to 'Send Email', mapping fields for recipient and content.
Combine both datasets (Merge n8n node): Function: Joins the original data that was sent with the outcome status provided by the Gmail n8n node.
Update Status email column (Google Sheets n8n node): Function: Updates the status column in the Google Sheet (e.g., marking the row as 'Sent'). Key Configuration: Operation set to 'Update', ensuring accurate record management.

Related n8n Workflows

Free

Nodes: 7 Nodes
Updated: December 26 2025
View all
Created by

We teach online AI coding classes for women to go from zero to AI Builder in just 3 days.

Featured*