Nobody's asking why Arnold Schwarzenegger has a newsletter.
They're too busy reading it.
Arnold Schwarzenegger. Codie Sanchez. Scott Galloway. Colin & Samir. Shaan Puri. Jay Shetty. They all figured out the same thing: owned audiences compound, rented ones disappear. beehiiv is where they built theirs.
30% off your first 3 months with code PLATFORM30. Start building today.
⚙️ THE WORKFLOW
Cold email sequences in Zapier cost you at minimum $49/month for multi-step zaps, and that's before you add the Gmail steps. The same sequence in n8n costs nothing beyond your VPS. This is the workflow I run for outbound — a 3-email drip that checks for replies, throttles sends to stay under Gmail's daily limits, and logs every touchpoint to Baserow.
The sequence: Email 1 on day 0, Email 2 on day 3 if no reply, Email 3 on day 7 if still no reply. Clean, simple, and it runs completely unattended.
The node chain:
| Node | What it does |
|------|-------------|
| Schedule Trigger | Runs daily at 08:00 |
| Baserow — Get Leads | Fetches leads due for next email today |
| Loop | Processes each lead individually |
| Gmail — Check Replies | Searches inbox for reply from lead's email |
| If (replied) | Stops sequence if reply found, marks Baserow "replied" |
| Wait | Respects per-lead send schedule |
| Gmail — Send Email | Sends the appropriate sequence email |
| Baserow — Update | Logs send timestamp, step number, status |
| Rate Limit | 50 sends/day max, 2-second pause between sends |
Step by step:
1. Schedule trigger
Daily at 08:00. The workflow checks who's due for an email today, not who signed up today. This distinction matters — the sequence logic lives in Baserow, not the trigger.
2. Fetch due leads from Baserow
Filter: Next Email Date = today AND Status = "active". The Next Email Date field is set by the previous send step. On first contact, it equals the signup date.
3. Loop over leads
Use the Loop node set to process one item at a time. This is important for rate limiting — parallel processing will blast your Gmail quota.
4. Reply detection
Before sending any email, search Gmail: from:{{lead.email}} is:inbox. If any result exists, mark the lead "replied" in Baserow and break the loop for that lead. Don't send to people who already responded.
5. Send the right email
Use a Switch node on lead.sequence_step (0, 1, or 2). Each step has its own Gmail Send node with a pre-written template. The subject line for step 2 and 3 replies to the same thread as step 1 — this is done by passing the threadId from the first send and storing it in Baserow.
6. Update Baserow
After each send: increment sequence_step, set Next Email Date to today + interval (3 days after step 0, 4 days after step 1), set Last Sent to now.
7. Rate limiting
Hard cap: 50 sends per day. Add a Wait node (2000ms) between each send. Gmail's daily limit is 500 for standard accounts, but staying under 100/day keeps you out of spam filters during warmup.
Time saved: 2–3 hours per week of manual follow-up eliminated.
🔧 THE STACK MOVE
Gmail via n8n — the underrated cold outreach tool
Everyone recommends Instantly, Lemlist, or Smartlead for cold email. They're good tools. They're also $50–100/month for features you're going to replicate in n8n in an afternoon.
Price: Gmail is free. The cold outreach domain setup (SPF, DKIM, DMARC, 14-day warmup) costs nothing beyond the domain itself (~€10/year from Cloudflare Registrar).
The honest tradeoff: Gmail's native sending limits are a real constraint — 500 emails/day on a standard account, dropping to 100/day during warmup. If you're running sequences at scale (500+ leads/week), you need a dedicated cold email tool or multiple Gmail accounts. For solo operators running 50–150 outreach contacts per week, this setup is more than enough. The other genuine limitation: Gmail doesn't give you per-email open tracking natively. You can add a 1×1 pixel via an n8n-hosted endpoint, but it's more work than flipping a toggle in Instantly.
Use Gmail + n8n when your outreach volume is human-scale. Use a dedicated tool when you're genuinely running sequences at volume and need analytics.
📡 THE SIGNAL
Gmail's new sending requirements are changing cold email — postmarkapp.com/blog
The DMARC enforcement that rolled out in 2024 is finally killing the lazy cold emailers. SPF and DKIM are now table stakes, not optional. If you haven't set these up on your cold outreach domain, you're getting filtered. Good news: Cloudflare makes this a 10-minute job.
Reply rate benchmarks for 2025 — woodpecker.co/blog
The average reply rate for cold email dropped to 1.4% in 2024. The top decile is still hitting 8–12%. The gap is entirely in personalisation and targeting, not sequence length. Three emails, personalised, outperforms seven generic ones every time.
n8n Gmail node deep-dive — blog.n8n.io
The Gmail node in n8n handles thread replies natively now — pass the threadId from the initial send and subsequent emails attach to the same thread automatically. This was a pain point six months ago that required an HTTP Request workaround. No longer.
Subscribe to Pro Reader Business Insights
A subscription gives you access to hand-on guides and use cases around AI tools that save you time from endless manual searching and scrolling around other media.
Upgrade![Theo [Founder]](https://media.beehiiv.com/cdn-cgi/image/fit=scale-down,quality=80,format=auto,onerror=redirect/uploads/user/profile_picture/05538803-f858-4c87-aeb1-e1c6ca95e8e2/Photo_on_13-3-25_at_12.33__2.jpeg)


