The full n8n canvas as it runs in production.
Most newsletter writers hit the same wall around month three. The first six issues are exciting. The next twenty are a slog. By month six, the writer is shipping at midnight on the deadline, the open rates have plateaued, and the quality is visibly slipping.
The bottleneck isn't writing. It's the eight hours of research, structuring, drafting, editing, and HTML formatting that happens before a word ships. Most of that work is mechanical. Find the sources. Pull the relevant quotes. Structure the sections. Write the bridges. Format for email.
AI does most of that work badly when given a vague prompt. It does it well when given a structured brief, real research from a search tool, and a refinement step that catches the AI tells. This system layers all three.
The output is a newsletter that ships on time, every time, in the publisher's voice. The publisher's job becomes selecting topics and reviewing the final draft — not assembling the issue from scratch.
Built on n8n. The trigger is a scheduled cron — every Friday at 14:00 for a Monday morning send. The topic list lives in a Google Sheet. Each row has a topic, an angle, and a status flag. The workflow processes only rows marked Ready.
For each ready topic, Tavily runs a multi-source web search and returns 3-5 cited findings. GPT-4o-mini drafts each section using the findings. Claude reads the full draft and refines voice, cuts repetition, and tightens phrasing. The polished HTML assembles into the issue template, Gmail ships, and the row marks Sent.
Cron node fires at the configured pre-send window. Reads the Google Sheet. Picks rows where Status = Ready and Send Date matches the next issue date.
For each topic, Tavily runs a web search with the configured query template. Returns 3-5 findings with source URLs, snippets, and relevance scores. Findings get appended to the row.
GPT-4o-mini drafts each section using the findings as factual grounding. Each section has a target word count and a structural template (hook, body, takeaway). The output is structured JSON, not raw prose.
Claude reads the full draft and applies the publisher's voice rules — sentence rhythm, banned words, signature phrasings. Catches AI tells like over-hedging and corporate stacking. Outputs the final body.
The refined body merges into the email template. Section headers, bullet lists, links, and footer all wire up. Inline images embed via CDN URLs. Preview text auto-generates from the lead paragraph.
Gmail sends to the configured distribution list (or tracks via ConvertKit/Mailchimp if connected). On success, the row's status updates to Sent with a timestamp. On failure, an alert hits Slack.
GPT-4o-mini drafts. Claude refines. The combination produces tighter prose than either model alone. Catches AI tells before they ship.
Tavily pulls live web search results. Every claim in the draft can trace to a cited source. No fabricated stats, no invented quotes.
Claude is prompted with the publisher's voice rules and a corpus of past issues. The output reads like the publisher, not like generic AI.
The publisher manages the entire pipeline from one Google Sheet. No new tool to learn. Set status to Ready, the issue ships.
Cron-driven scheduling means the issue ships on time even when the publisher is on holiday. Zero missed sends.
Token usage logs per issue. Most weekly newsletters cost $0.50-$3.00 in LLM and search fees per issue. Comparable to one minute of human writer time.
Sunday evening. The publisher opens a doc and stares at it. Three hours of research. Two hours of drafting. Ninety minutes of editing. Forty-five minutes of HTML formatting and image placement. The issue ships at 23:40 with two typos. Open rates are 28%, slightly down from last quarter.
Friday afternoon, the publisher updates the topic list and marks five rows Ready. The system runs Friday night. Monday morning the publisher reviews the polished draft, makes two edits, and ships at 09:00. Open rates climb to 42% over three months because every issue is on time and on voice.
We read the publisher's last 12 issues. Codify voice rules — sentence rhythm, banned phrases, signature openings, structural patterns. Build the Claude refinement prompt. Voice quality lives or dies on this step.
Wire Tavily, configure search queries per topic type, build the GPT-4o-mini drafting prompt. Run the first three test issues against the publisher's voice spec. Compare against past issues for tone match.
Build the email template, wire Gmail or the email service provider, set up the Google Sheet manifest. Test send to a small internal list. Verify rendering across Gmail, Outlook, Apple Mail.
Three issues ship in supervised mode — publisher reviews each draft and gives feedback. We tune voice and structural rubrics. By issue 4, the publisher only edits 5-10% of the draft. Handover and documentation.
Right fit for publishers shipping a regular newsletter (weekly or daily) with a defined topic scope and an established voice. Works best when the publisher has 10+ past issues to anchor the voice rules against.
Not a fit for first-issue publishers — the system needs voice anchors to refine against. Not a fit for newsletters built on the publisher's own original reporting; the research layer can pull web sources but it can't conduct interviews.
Not if voice capture is done well. The Claude refinement step is what makes the difference. We've shipped systems where long-time subscribers couldn't tell across 30+ issues.
The publisher reviews findings before drafting. Manual sources can be added to a row's research column and the drafting layer treats them as ground truth alongside Tavily results.
Yes. Most ESPs (Mailchimp, ConvertKit, Beehiiv, Substack) support A/B subject testing. We wire the workflow to generate two variants and submit both via the ESP API.
$0.50-$3.00 in LLM and search fees per issue depending on length and depth. Plus your existing email service provider. Roughly equivalent to one minute of a senior writer's time.
Book a Pipeline Audit. We'll capture your voice, scope the research layer, and quote a fixed-price build tuned to your schedule.