Skip to main content

Automated cold email campaigns with random templates & Google Sheets tracking

Workflow preview

Workflow preview
100%
Automated cold email campaigns with random templates & Google Sheets tracking preview
Open on n8n.io

Important notice

This workflow is provided as-is. Please review and test before using in production.

1. Workflow Overview

Google Sheets Leads → Random Templates → ️ Personalized Emails → Status Tracking What this workflow does Reads leads list from Google Sheets (Name, Email, Send Status) Filters out a...

Best for

  • Lead Nurturing automation workflows
  • advanced n8n builders looking for reusable templates

Tools used

n8n-nodes-base.googlesheets, n8n-nodes-base.if, n8n-nodes-base.splitinbatches, n8n-nodes-base.code, n8n-nodes-base.merge, n8n-nodes-base.set, n8n-nodes-base.wait, n8n-nodes-base.stickynote

Source and attribution

This workflow is cataloged by N8N Workflows and links back to its original n8n.io source page by Anir Agram.

Original n8n.io source

1.1 Workflow description

Title
Automated cold email campaigns with random templates & Google Sheets tracking
Workflow name
Automated cold email campaigns with random templates & Google Sheets tracking

📊 Google Sheets Leads → 🎲 Random Templates → ✉️ Personalized Emails → 📝 Status Tracking

What this workflow does

  • 📊 Reads leads list from Google Sheets (Name, Email, Send Status)
  • 🔍 Filters out already-contacted leads (skips "SENT" status)
  • 🎲 Randomly selects email template from template library
  • ✏️ Personalizes subject and body with lead's name
  • 📧 Sends emails one-by-one with delays between sends
  • ✅ Updates Google Sheet with send status and timestamp
  • 🔁 Loops through all unsent leads automatically

Why it's useful

  • ⚡ Automate cold outreach without manual copy-paste
  • 🎯 Avoid duplicate sends—tracks who's been contacted
  • 📝 Rotate email templates for A/B testing and variety
  • 👤 Personalization makes emails feel human, not spammy
  • ⏱️ Built-in delays prevent spam flags and rate limits
  • 📊 Full audit trail of who received what and when

How it works

  • 📊 Google Sheets (Leads) → reads Name, Email, Send Status
  • 🚦 IF Node → filters leads where Send Status ≠ "SENT"
  • 🔄 Loop Over Items → processes leads one-by-one
  • 📧 Google Sheets (Templates) → fetches Subject + Body templates
  • 🎲 Code Node → picks random template
  • 🔀 Merge → combines lead data with template
  • ✏️ Edit Fields → replaces [Name] with actual lead name
  • 📨 Send Email → delivers personalized message
  • ⏳ Wait → adds delay between sends (avoids spam flags)
  • ✅ Google Sheets (Update) → marks as "SENT" with timestamp

What you'll need

  • 📊 Google Sheet #1: Leads (columns: Name, Email, Send Status, Time)
  • 📧 Google Sheet #2: Templates (columns: Subject, Body)
  • 📬 SMTP credentials (SendGrid, Mailgun, etc.)
  • 🔐 Google Sheets OAuth

Setup steps

  • 📊 Create "Leads" sheet with columns: Name | Email | Send Status | Time
  • 📧 Create "Templates" sheet with columns: Subject | Body (use [Name] placeholder)
  • 🔗 Connect Google Sheets OAuth credentials
  • 📬 Add SMTP email credentials
  • 🧭 Update both Google Sheets node IDs to point to your sheets
  • ⚙️ Set "From Email" in Send Email node
  • 🧪 Test with 2-3 test leads first

Customization ideas

  • ⏱️ Adjust Wait time (30s-5min) to control send rate
  • 📊 Add click tracking with UTM parameters
  • 🔔 Send Slack/Telegram notification when campaign completes
  • 🎯 Add lead scoring—prioritize high-value leads first
  • 📈 Log opens/replies to separate tracking sheet

Who it's for

  • 🧑‍💻 Freelancers doing cold outreach to agencies
  • 📈 Sales teams running lead generation campaigns
  • 🚀 Startups reaching out to potential customers
  • 🎯 Marketers testing email copy variations
  • 💼 Business developers nurturing prospect lists

Quick Setup Guide

  • Before You Start - What You Need: 📊 Google account for Sheets access
  • 📧 SMTP email account (Gmail, custom domain, or email service)
  • 📝 List of leads (names + emails)
  • ✉️ Email templates ready (with [Name] placeholders)

Want help customizing?

📧 [email protected] 🔗 LinkedIn

1.2 Logical Blocks

This catalog entry is organized from the workflow JSON. The node-level section below shows the executable blocks available for review before importing the template.

2. Block-by-Block Analysis

Block 1 - Google Sheets

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 2 - If

Type / Role
n8n-nodes-base.if - if
Config choices
Version 2.2

Block 3 - Loop Over Items

Type / Role
n8n-nodes-base.splitInBatches - splitInBatches
Config choices
Version 3

Block 4 - Google Sheets1

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 5 - Code

Type / Role
n8n-nodes-base.code - code
Config choices
Version 2

Block 6 - Merge

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.1

Block 7 - Edit Fields

Type / Role
n8n-nodes-base.set - set
Config choices
Version 3.4

Block 8 - Merge1

Type / Role
n8n-nodes-base.merge - merge
Config choices
Version 3.1

Block 9 - Wait

Type / Role
n8n-nodes-base.wait - wait
Config choices
Version 1.1

Block 10 - Sticky Note

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 11 - Sticky Note1

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 12 - Sticky Note2

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 13 - When clicking ‘Test workflow’

Type / Role
n8n-nodes-base.manualTrigger - manualTrigger
Config choices
Version 1

Block 14 - Google Sheets6

Type / Role
n8n-nodes-base.googleSheets - googleSheets
Config choices
Version 4.6

Block 15 - Send email

Type / Role
n8n-nodes-base.emailSend - emailSend
Config choices
Version 2.1

Block 16 - Sticky Note3

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 17 - Sticky Note4

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 18 - Sticky Note5

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 19 - Sticky Note6

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

Block 20 - Sticky Note7

Type / Role
n8n-nodes-base.stickyNote - stickyNote
Config choices
Version 1

3. Summary Table

Workflow Automated cold email campaigns with random templates & Google Sheets tracking
Complexity advanced
Nodes 20
Categories Lead Nurturing
Author Anir Agram
Published 29 Oct 2025

4. Reproducing the Workflow from Scratch

  1. 1. Download the workflow JSON

    Use the JSON export at /data/workflows/10278/10278.json as the source template for this automation.

  2. 2. Import the template into n8n

    Open n8n, import the downloaded JSON, and review each node before activating the workflow.

  3. 3. Configure credentials and variables

    Replace placeholder credentials, API keys, webhook URLs, account IDs, and environment-specific values with your own settings.

  4. 4. Test with sample data

    Run the workflow manually or in a staging workspace, inspect node output, and confirm downstream systems receive the expected data.

  5. 5. Activate and monitor

    Enable the workflow only after testing, then monitor executions, errors, and rate limits during the first production runs.

5. General Notes & Resources

Review imported nodes carefully before activation. This catalog entry is intended to help you inspect the workflow structure, understand required services, and find related templates faster.

Node names, credentials, schedules, webhook paths, and external service limits may need adjustment for your workspace.

Frequently asked questions

What does Automated cold email campaigns with random templates & Google Sheets tracking do?

Google Sheets Leads → Random Templates → ️ Personalized Emails → Status Tracking What this workflow does Reads leads list from Google Sheets (Name, Email, Send Status) Filters out a...

What do I need before importing this workflow?

Review the workflow JSON, configure any required credentials in n8n, and test the automation in a safe workspace before using it in production.

Can I customize this workflow?

Yes. Use the block-by-block analysis and the downloadable JSON to inspect each node, then adjust credentials, prompts, schedules, filters, or destinations for your Lead Nurturing use case.