workflows.fit
Back to n8n workflows
n8n templateFreeBy Anir Agram

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...

CommunicationHITLCore NodesData & StorageProductivityDevelopmentGoogle SheetsIf
Loading interactive preview...

Template notes

πŸ“Š 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