Generate cold email icebreakers and subject lines with Google Sheets and OpenAI
Email List Personalization - Icebreaker & Subject Line Generator
Reads an enriched lead list from Google Sheets, generates a personalized icebreaker + subject line for each lead using OpenAI, and writes results back to the same sheet -- ready for your email sequencer.
Who is this for?
SDRs, founders, and agency owners running cold outbound who want personalized first lines without spending 2-3 minutes per lead on manual research. Sits between your Apollo / Sales Nav export and Instantly / Smartlead / Lemlist.
What problem does this solve?
Generic cold emails get ignored. Writing unique icebreakers for 200+ leads/day is not realistic by hand. This workflow does it at ~$0.002/lead with GPT-4.1-mini -- spartan, human-sounding copy that references real prospect details.
How it works
Read Lead Sheets from Google Sheets (enriched with LinkedIn data) Filter Empty Rows rows where icebreakers or subjectLine is empty (safe to re-run) Limit To 200 Leads batch to 200 leads per run Process One-By-One with an IF safety check before each API call Genrates Icebreaker a JSON response with few-shot examples locking the tone: icebreaker -- spartan one-liner referencing their company/role/industry subjectLine -- personalized with name + relevant hook shortenedCompanyName -- strips "Agency", "Inc.", "LLC" for natural copy verdict -- true for real people, false for company pages (filter before sending) Write Result To Sheet to the same row via row_number match key Rate Limit Delay between calls to avoid throttling
Setup
Google Sheets -- Connect OAuth2 in both sheet nodes. Point to your lead spreadsheet. OpenAI -- Connect API key. Default: GPT-4.1-mini. Swap to GPT-4o for premium campaigns. Sheet columns needed: first_name, last_name, email, job_title, company, linkedin_industry, location, summary, linkedin_description, linkedin_specialities, linkedin_company_employee_count, linkedin_founded_year, icebreakers, subjectLine, row_number Customize the prompt -- Swap the few-shot examples in the OpenAI node to match your voice and offer. Test first -- Set Limit to 5, run manually, review output, then scale.
Customization tips
Trigger** -- Replace Manual Trigger with Schedule or Google Drive Trigger for automation Batch size** -- Adjust the Limit node to match your daily send volume Model** -- GPT-4.1-mini ($0.002/lead) vs GPT-4o ($0.01/lead)
Built by Devon Toh
Related Templates
AI SEO Readability Audit: Check Website Friendliness for LLMs
Who is this for? This workflow is designed for SEO specialists, content creators, marketers, and website developers who ...
Task Deadline Reminders with Google Sheets, ChatGPT, and Gmail
Intro This template is for project managers, team leads, or anyone who wants to automatically remind teammates of tasks ...
🤖 Build Resilient AI Workflows with Automatic GPT and Gemini Failover Chain
This workflow contains community nodes that are only compatible with the self-hosted version of n8n. How it works This...
🔒 Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments