How to Auto-Draft Sales Follow-Up Emails with n8n + Claude (No Code)
By Automate Basics
Loading guide…
By Automate Basics
An n8n workflow watches your CRM or a Google Sheet for leads overdue a follow-up, pulls each one's context, and has Claude write a personalized email in your tone. The draft lands in Gmail for a one-click send. You never face a blank page, and no lead slips through the cracks.
Most deals close on the second, third, or fourth touch, and the follow-up is exactly what busy people skip. "I'll circle back next week" quietly becomes never, and the lead goes cold. This n8n + Claude workflow makes the circle-back actually happen, automatically, in your own voice. Every morning you wake to a folder of personalized drafts instead of a guilty to-do item.
Picture a small morning assistant that runs before you're awake. It scans your lead list, spots everyone who's gone quiet, reads what you last discussed with each, and writes a tailored nudge. Four steps do the whole job:
Add a Schedule Trigger set to run each weekday morning. This is the "who needs a nudge today?" heartbeat that turns follow-ups from a thing you remember into a thing that just happens. The cron below means 8am, Monday to Friday. Because it runs on a timer and touches several apps, this is an Intermediate build, not a chat prompt.
0 8 * * 1-5
Add a Google Sheets node (Get Rows) pointing at your lead list, then a Filter node that keeps only rows where the last-contact date is over five days ago and the deal isn't closed. A plain Sheet with name, company, last-contact date, and notes is all you need to start, and you can swap it for HubSpot or Pipedrive later by changing this one node. Now you only ever work leads that genuinely need attention.
Add the Anthropic (Claude) node. Because the filter returned several leads, n8n runs this once per lead automatically, like a mail-merge with a brain. The secret is feeding in the real context, so each email references the actual conversation instead of reading like a mass blast.
Write a short, warm sales follow-up in my voice. Friendly, not pushy,
one clear call to action. Reference our last conversation specifically.
My name: [your name], [your company].
Lead: {{ $json.name }} at {{ $json.company }}.
Last conversation: {{ $json.notes }}.
Days since last contact: {{ $json.days_since }}.
Return just a subject line and the email body.
Add a Gmail node set to Create Draft, mapping the lead's email to the recipient and Claude's output to the subject and body. Create Draft is your safety rail: nothing sends until you've glanced at it and clicked. A human stays in the loop while you skip the blank-page slog, and that slog is exactly where the time goes when you write these by hand.
After a week of reading the drafts, you'll know whether the quality holds. When it does, switch the Gmail node from Create Draft to Send, and add a final step that updates the last-contact date in your sheet. That date update is what stops the same lead from getting nudged twice. Now the whole sequence runs itself, and you only step in for the replies.
Spin up n8n and add the Schedule Trigger, then the Sheets and Filter nodes pointed at a sheet with a single test row. Wire the Claude node and a Gmail Create Draft node after it, run it once by hand, and open Gmail to watch your first personalized draft appear. Once it reads right, let the schedule take over.
Pick the deal you have been meaning to chase, run the draft prompt on the real thread, and send the follow-up today. When it takes under two minutes, that is your case for building the automated version.
That’s the whole lesson. Try it on a real task while it is fresh, then come back for the next one.
Use n8n + Claude if you have real lead volume and want follow-ups drafted hands-off across your CRM.
The same corner of the library, one job further on.