Why blasts fail
Two problems kill cold email: it sounds mass-produced, and it ships faster than your domain's reputation can handle. Fix both and deliverability climbs on its own. The workflow below attacks each directly.
Step 1 — Read the lead sheet
Pull name, company, and one signal (role, recent post, pain point) from Google Sheets into clean variables. One row = one person, not a segment.
Step 2 — Write one tailored line
You have two paths:
- Rule-based ($0) — a template that slots the company name and signal into a short sentence. Reads human, costs nothing, never rate-limits you.
- LLM swap-in — point a node at Gemini (free) or OpenRouter and generate the line. Two-minute change when you want generative copy.
The trick: keep it short. A three-sentence email that names the recipient's company beats a polished essay every time.
Step 3 — Throttle the send
Send in small batches via Gmail/SMTP with a delay between each. This is what keeps you out of spam — not the copy, the pace. Log every send to a sheet with a timestamp so you never double-contact.
Step 4 — Dry-run before a single real send
Flip one switch and the workflow writes drafts to your log sheet instead of sending. Confirm the copy looks right on dummy leads, then go live. Zero risk to your domain.
Skip the build → AI Cold Outreach Personalizer
The import-ready template ships the sheet read, the rule-based personalizer, the LLM swap-in instructions, the throttle, the Sheets log, and the Telegram summary — with dry-run mode on by default. Full breakdown →
The part people skip
Personalization without pacing still gets filtered. Pacing without personalization still gets ignored. You need both, and n8n is the cheapest place to wire them — free instance, free Sheets, free SMTP. The only thing that should cost you is the thinking about what to say.