Home/Case Studies/Automated Newsletter System
Content AutomationNewsletterAI WritingScheduled Publishing

Automated Newsletter System

Topic list goes in Google Sheets. Tavily researches each topic. GPT-4o-mini drafts the sections. Claude refines. Gmail ships the polished HTML newsletter on schedule. The publisher trades a Sunday-evening writing sprint for a Monday-morning inbox they didn't have to fill.

OpenAIClaudeTavilyGmailGoogle Sheets
Video walkthrough coming soon
The Workflow

The full n8n canvas as it runs in production.

Automated Newsletter System — n8n workflow
8h
Saved per newsletter edition
2.4×
Higher open rates vs. previous manual editions
52
Issues per year shipped, zero missed
$32K+
Annual content cost reduction

The Newsletter Always Ships Late

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.

From Topic List to Inbox

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.

From Topic to Send: Six Steps

01

Scheduled Trigger Fires

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.

02

Multi-Topic Research

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.

03

Section Drafting

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.

04

Voice Refinement

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.

05

HTML Assembly

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.

06

Gmail Send + Sheet Update

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.

What This System Does That Manual Writing Can't

Two-Model Refinement

GPT-4o-mini drafts. Claude refines. The combination produces tighter prose than either model alone. Catches AI tells before they ship.

Real Research, Not Hallucination

Tavily pulls live web search results. Every claim in the draft can trace to a cited source. No fabricated stats, no invented quotes.

Voice-Locked Output

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.

Sheets-as-Editor

The publisher manages the entire pipeline from one Google Sheet. No new tool to learn. Set status to Ready, the issue ships.

Calendar-Locked Delivery

Cron-driven scheduling means the issue ships on time even when the publisher is on holiday. Zero missed sends.

Cost Per Issue Visible

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.

Before vs. After: What Changes When the Newsletter Writes Itself

Before

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.

After

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.

Live in 3 Weeks

Days 1-3 — Voice Capture

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.

Days 4-9 — Research and Drafting Layer

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.

Days 10-15 — HTML Template and Send

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.

Days 16-21 — Calibration and Cutover

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.

The Right Fit — and When It Isn't

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.

Frequently Asked Questions

Will subscribers be able to tell it's AI-written?+

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.

What if Tavily misses a key source for a topic?+

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.

Can the system A/B test subject lines?+

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.

What's the cost per issue?+

$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.

Stop burning Sundays writing the newsletter you already promised.

Book a Pipeline Audit. We'll capture your voice, scope the research layer, and quote a fixed-price build tuned to your schedule.

Book a Pipeline Audit See More Projects