Automated cold email campaigns with random templates & Google Sheets tracking
Workflow preview
$20/month : Unlimited workflows
2500 executions/month
THE #1 IN WEB SCRAPING
Scrape any website without limits
HOSTINGER
Early Deal
DISCOUNT 20% Try free
DISCOUNT 20%
Self-hosted n8n
Unlimited workflows - from $4.99/mo
#1 hub for scraping, AI & automation
6000+ actors - $5 credits/mo
Important notice
This workflow is provided as-is. Please review and test before using in production.
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 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