Personalized email mail merge with Google Sheets and Gmail
Who is it for
This workflow is designed for anyone who wants to simplify email automation without leaving Google Sheets. You can also send out emails automatically, without even visiting Google Sheets. Itβs especially useful for:
- Marketers sending bulk or personalized campaigns
- Recruiters managing outreach from candidate lists
- Small business owners who want automated follow-ups
- Anyone who wants to trigger emails directly from sheet updates, e.g. event updates.
How it works
The workflow connects Google Sheets with Gmail to let you send emails in either of two ways:
- Bulk emails (mail merge): Use data from your sheet to send an email to multiple email addresses, one by one.
- Triggered emails: Automatically send an email whenever specific values or conditions in your sheet are met. No need to manually copy, paste, or switch to Gmail, because the process is fully automated.
How to set it up
- Copy this template into your personal n8n workspace: https://docs.google.com/spreadsheets/d/1fWg_GOU0m_2cQpah7foDiz1WqTRKjCbJJCLBGCvJlXc/edit?usp=sharing
- Connect your Google Sheets and Gmail accounts using this workflow in n8n.
- Select the spreadsheet and sheet you want to use.
- Customize the email nodes with your subject line, body text, and variables (e.g., names or links from your sheet).
- Test the workflow, then activate it to start sending emails automatically.
For a step-by-step walkthrough, check out this video guide on YouTube: https://www.youtube.com/watch?v=XJQ0W3yWR-0
Requirements
- A Google Sheets account with your data organized in rows and columns
- A Gmail account for sending emails
- An active n8n account to run the workflow
Personalized Email Mail Merge with Google Sheets and Gmail
This n8n workflow automates the process of sending personalized emails to a list of recipients stored in a Google Sheet, using Gmail. It's designed to help you send bulk emails with custom content for each recipient, such as names, order details, or specific messages, without manual effort.
What it does
- Triggers on Schedule: The workflow starts on a predefined schedule (e.g., daily, weekly, or at a specific time).
- Reads Data from Google Sheet: It connects to a specified Google Sheet and retrieves all rows, treating each row as a recipient with personalized data.
- Applies Filters (Optional): While the current JSON doesn't explicitly define filtering logic, a
Filternode is present, indicating the capability to conditionally process recipients based on criteria from the Google Sheet (e.g., only send to recipients with a "Status" of "Pending"). - Prepares Email Content: A
Setnode is included, which is typically used to construct or format the email subject and body using data from the Google Sheet. This is where you'd define your personalized email template. - Sends Personalized Emails via Gmail: For each filtered recipient, the workflow sends a personalized email using your Gmail account, incorporating the dynamic content prepared in the previous step.
Prerequisites/Requirements
- n8n Instance: A running instance of n8n.
- Google Account: A Google account with access to:
- Google Sheets: The spreadsheet containing your recipient list and personalized data.
- Gmail: The email service to send out the personalized emails.
- n8n Google OAuth2 Credential: You will need to set up a Google OAuth2 credential in n8n to connect to both Google Sheets and Gmail.
Setup/Usage
- Import the Workflow:
- Download the provided JSON workflow.
- In your n8n instance, go to "Workflows" and click "New".
- Click the "Import from JSON" button and paste the workflow JSON or upload the file.
- Configure Credentials:
- Locate the "Google Sheets" and "Gmail" nodes.
- For each, click on the "Credential" field and select your existing Google OAuth2 credential or create a new one. Follow the n8n documentation for setting up Google OAuth2 credentials if you haven't already.
- Configure Google Sheets Node (Node ID: 18):
- Specify the "Spreadsheet ID" of your Google Sheet.
- Enter the "Sheet Name" where your data is located.
- Ensure the "Operation" is set to "Get All" or similar to retrieve your recipient data.
- Configure Edit Fields (Set) Node (Node ID: 38):
- This node is crucial for defining your email content. You will need to add values here to construct your email subject and body. For example:
Subject:Hello {{ $json.Name }} - Your Order UpdateBody:Hi {{ $json.Name }},\n\nThank you for your recent order (ID: {{ $json.OrderID }}). Your item will be shipped soon.\n\nBest regards,\nYour Company
- Replace
NameandOrderIDwith the actual column headers from your Google Sheet.
- This node is crucial for defining your email content. You will need to add values here to construct your email subject and body. For example:
- Configure Filter Node (Node ID: 844) (Optional):
- If you want to send emails only to specific recipients, configure this node.
- Add a "Condition" based on a column in your Google Sheet. For example,
{{ $json.Status === 'Ready to Send' }}.
- Configure Gmail Node (Node ID: 356):
- Set the "Operation" to "Send an Email".
- In the "To" field, reference the email address column from your Google Sheet (e.g.,
{{ $json.Email }}). - In the "Subject" field, reference the subject prepared in the "Edit Fields" node (e.g.,
{{ $json.Subject }}). - In the "Body" field, reference the body prepared in the "Edit Fields" node (e.g.,
{{ $json.Body }}).
- Configure Schedule Trigger (Node ID: 839):
- Set your desired schedule for when the workflow should run (e.g., once a day, every hour, or at a specific time).
- Activate the Workflow:
- Once all configurations are complete, save and activate the workflow. It will now run automatically based on your defined schedule, sending personalized emails.
Note: The "Sticky Note" (Node ID: 565) is for documentation within the workflow and does not affect its execution.
Related Templates
AI multi-agent executive team for entrepreneurs with Gemini, Perplexity and WhatsApp
This workflow is an AI-powered multi-agent system built for startup founders and small business owners who want to automate decision-making, accountability, research, and communication, all through WhatsApp. The βvirtual executive team,β is designed to help small teams to work smarter. This workflow sends you market analysis, market and sales tips, It can also monitor what your competitors are doing using perplexity (Research agent) and help you stay a head, or make better decisions. And when you feeling stuck with your start-up accountability director is creative enough to break the barrier π― Core Features π§βπΌ 1. President (Super Agent) Acts as the main controller that coordinates all sub-agents. Routes messages, assigns tasks, and ensures workflow synchronization between the AI Directors. π 2. Sales & Marketing Director Uses SerpAPI to search for market opportunities, leads, and trends. Suggests marketing campaigns, keywords, or outreach ideas. Can analyze current engagement metrics to adjust content strategy. π΅οΈββοΈ 3. Business Research Director Powered by Perplexity AI for competitive and market analysis. Monitors competitor moves, social media engagement, and product changes. Provides concise insights to help the founder adapt and stay ahead. β° 4. Accountability Director Keeps the founder and executive team on track. Sends motivational nudges, task reminders, and progress reports. Promotes consistency and discipline β key traits for early-stage success. ποΈ 5. Executive Secretary Handles scheduling, email drafting, and reminders. Connects with Google Calendar, Gmail, and Sheets through OAuth. Automates follow-ups, meeting summaries, and notifications directly via WhatsApp. π¬ WhatsApp as the Main Interface Interact naturally with your AI team through WhatsApp Business API. All responses, updates, and summaries are delivered to your chat. Ideal for founders who want to manage operations on the go. βοΈ How It Works Trigger: The workflow starts from a WhatsApp Trigger node (via Meta Developer Account). Routing: The President agent analyzes the incoming message and determines which Director should handle it. Processing: Marketing or sales queries go to the Sales & Marketing Director. Research questions are handled by the Business Research Director. Accountability tasks are assigned to the Accountability Director. Scheduling or communication requests are managed by the Secretary. Collaboration: Each sub-agent returns results to the President, who summarizes and sends the reply back via WhatsApp. Memory: Context is maintained between sessions, ensuring personalized and coherent communication. π§© Integrations Required Gemini API β for general intelligence and task reasoning Supabase- for RAG and postgres persistent memory Perplexity API β for business and competitor analysis SerpAPI β for market research and opportunity scouting Google OAuth β to connect Sheets, Calendar, and Gmail WhatsApp Business API β for message triggers and responses π Benefits Acts like a team of tireless employees available 24/7. Saves time by automating research, reminders, and communication. Enhances accountability and strategy consistency for founders. Keeps operations centralized in a simple WhatsApp interface. π§° Setup Steps Create API credentials for: WhatsApp (via Meta Developer Account) Gemini, Perplexity, and SerpAPI Google OAuth (Sheets, Calendar, Gmail) Create a supabase account at supabase Add the credentials in the corresponding n8n nodes. Customize the system prompts for each Director based on your startupβs needs. Activate and start interacting with your virtual executive team on WhatsApp. Use Case You are a small organisation or start-up that can not afford hiring; marketing department, research department and secretar office, then this workflow is for you π‘ Need Customization? Want to tailor it for your startup or integrate with CRM tools like Notion or HubSpot? You can easily extend the workflow or contact the creator for personalized support. Consider adjusting the system prompt to suite your business
Auto-reply & create Linear tickets from Gmail with GPT-5, gotoHuman & human review
This workflow automatically classifies every new email from your linked mailbox, drafts a personalized reply, and creates Linear tickets for bugs or feature requests. It uses a human-in-the-loop with gotoHuman and continuously improves itself by learning from approved examples. How it works The workflow triggers on every new email from your linked mailbox. Self-learning Email Classifier: an AI model categorizes the email into defined categories (e.g., Bug Report, Feature Request, Sales Opportunity, etc.). It fetches previously approved classification examples from gotoHuman to refine decisions. Self-learning Email Writer: the AI drafts a reply to the email. It learns over time by using previously approved replies from gotoHuman, with per-classification context to tailor tone and style (e.g., different style for sales vs. bug reports). Human Review in gotoHuman: review the classification and the drafted reply. Drafts can be edited or retried. Approved values are used to train the self-learning agents. Send approved Reply: the approved response is sent as a reply to the email thread. Create ticket: if the classification is Bug or Feature Request, a ticket is created by another AI agent in Linear. Human Review in gotoHuman: How to set up Most importantly, install the gotoHuman node before importing this template! (Just add the node to a blank canvas before importing) Set up credentials for gotoHuman, OpenAI, your email provider (e.g. Gmail), and Linear. In gotoHuman, select and create the pre-built review template "Support email agent" or import the ID: 6fzuCJlFYJtlu9mGYcVT. Select this template in the gotoHuman node. In the "gotoHuman: Fetch approved examples" http nodes you need to add your formId. It is the ID of the review template that you just created/imported in gotoHuman. Requirements gotoHuman (human supervision, memory for self-learning) OpenAI (classification, drafting) Gmail or your preferred email provider (for email trigger+replies) Linear (ticketing) How to customize Expand or refine the categories used by the classifier. Update the prompt to reflect your own taxonomy. Filter fetched training data from gotoHuman by reviewer so the writer adapts to their personalized tone and preferences. Add more context to the AI email writer (calendar events, FAQs, product docs) to improve reply quality.
π How to transform unstructured email data into structured format with AI agent
This workflow automates the process of extracting structured, usable information from unstructured email messages across multiple platforms. It connects directly to Gmail, Outlook, and IMAP accounts, retrieves incoming emails, and sends their content to an AI-powered parsing agent built on OpenAI GPT models. The AI agent analyzes each email, identifies relevant details, and returns a clean JSON structure containing key fields: From β senderβs email address To β recipientβs email address Subject β email subject line Summary β short AI-generated summary of the email body The extracted information is then automatically inserted into an n8n Data Table, creating a structured database of email metadata and summaries ready for indexing, reporting, or integration with other tools. --- Key Benefits β Full Automation: Eliminates manual reading and data entry from incoming emails. β Multi-Source Integration: Handles data from different email providers seamlessly. β AI-Driven Accuracy: Uses advanced language models to interpret complex or unformatted content. β Structured Storage: Creates a standardized, query-ready dataset from previously unstructured text. β Time Efficiency: Processes emails in real time, improving productivity and response speed. *β Scalability: Easily extendable to handle additional sources or extract more data fields. --- How it works This workflow automates the transformation of unstructured email data into a structured, queryable format. It operates through a series of connected steps: Email Triggering: The workflow is initiated by one of three different email triggers (Gmail, Microsoft Outlook, or a generic IMAP account), which constantly monitor for new incoming emails. AI-Powered Parsing & Structuring: When a new email is detected, its raw, unstructured content is passed to a central "Parsing Agent." This agent uses a specified OpenAI language model to intelligently analyze the email text. Data Extraction & Standardization: Following a predefined system prompt, the AI agent extracts key information from the email, such as the sender, recipient, subject, and a generated summary. It then forces the output into a strict JSON structure using a "Structured Output Parser" node, ensuring data consistency. Data Storage: Finally, the clean, structured data (the from, to, subject, and summarize fields) is inserted as a new row into a specified n8n Data Table, creating a searchable and reportable database of email information. --- Set up steps To implement this workflow, follow these configuration steps: Prepare the Data Table: Create a new Data Table within n8n. Define the columns with the following names and string type: From, To, Subject, and Summary. Configure Email Credentials: Set up the credential connections for the email services you wish to use (Gmail OAuth2, Microsoft Outlook OAuth2, and/or IMAP). Ensure the accounts have the necessary permissions to read emails. Configure AI Model Credentials: Set up the OpenAI API credential with a valid API key. The workflow is configured to use the model, but this can be changed in the respective nodes if needed. Connect the Nodes: The workflow canvas is already correctly wired. Visually confirm that the email triggers are connected to the "Parsing Agent," which is connected to the "Insert row" (Data Table) node. Also, ensure the "OpenAI Chat Model" and "Structured Output Parser" are connected to the "Parsing Agent" as its AI model and output parser, respectively. Activate the Workflow: Save the workflow and toggle the "Active" switch to ON. The triggers will begin polling for new emails according to their schedule (e.g., every minute), and the automation will start processing incoming messages. --- Need help customizing? Contact me for consulting and support or add me on Linkedin.