How to Set Up AI-Curated Niche Newsletter — RSS Aggregation + GPT-4o Editorial Curation + Beehiiv/Ghost Auto-Send in n8n
You subscribe to 15 newsletters and read three. The other twelve pile up because someone has to skim every RSS feed, decide what matters, and write it up — and that someone is you, at 6am, before the
You subscribe to 15 newsletters and read three. The other twelve pile up because someone has to skim every RSS feed, decide what matters, and write it up — and that someone is you, at 6am, before the real work starts. If you run a niche newsletter, curation is the product, but it's also the tax that kills consistency. Miss two sends and your open rate craters. This article shows you how to build an n8n workflow that pulls 10–20 RSS feeds, uses GPT-4o to select and summarize the 7–10 best items, drafts the full issue, and drops it into Beehiiv or Ghost ready for your final approval — twice a week, on autopilot.
The problem: curation doesn't scale with attention
A good niche newsletter lives or dies on editorial judgment. Readers pay you — in attention or money — to filter the firehose so they don't have to. But manual curation has three failure modes that compound:
- Time cost is fixed and recurring. Reading 20 feeds, deduping, and writing summaries is 2–4 hours per issue. That never shrinks as you grow; it grows with you.
- Consistency breaks first. The week you're slammed is the week the send slips. Subscribers forgive one miss, not three.
- Quality drifts under pressure. When you're rushing, curation degrades into "paste the first 8 links I saw," which is exactly what readers can already do themselves.
Most "automated newsletter" setups make this worse — they blast raw RSS titles with zero judgment. That's an aggregator, not a newsletter. The hard part was never fetching the feeds; it's the editorial layer. That's the part GPT-4o is now genuinely good at.
The solution: aggregation + an AI editor + a human gate
The architecture is three stages. First, aggregation: n8n pulls every feed on a schedule and normalizes them into one list. Second, editorial curation: GPT-4o receives the full candidate pool with your niche context and returns a ranked selection of 7–10 items, each with a written summary, plus a newsletter intro and closing. Third, delivery: the composed issue becomes a draft in Beehiiv or Ghost — never an auto-send. You keep the final publish button.
That last point matters. The workflow removes the 3 hours of grunt work but preserves the 5 minutes of human judgment that protect your brand. You review a finished draft instead of staring at a blank page. This is the difference between automation that embarrasses you and automation you actually trust.
Step-by-step: building it in n8n
Here's the node-by-node build. The whole thing is one workflow with a scheduled trigger.
1. Schedule Trigger. Add a Schedule Trigger node set to a Cron expression for twice weekly — for example 0 6 * * 2,5 (Tuesday and Friday at 06:00). Running early gives you a review window before your usual send time.
2. Feed list. Use a Set (Edit Fields) node or a small Code node to output an array of your 10–20 feed URLs. Keeping the list in one node makes it trivial to add or drop sources without touching the rest of the flow.
3. Fan out and fetch. Add a Split Out node to turn the URL array into individual items, then an RSS Read node. Because you're iterating, use Loop Over Items (or set the RSS node to run once per incoming item) so each feed is fetched independently — one dead feed won't kill the run. Enable "Continue On Fail" on the RSS node so a 404 on one source is logged, not fatal.
4. Merge and window. Collect all items, then a Code node does three jobs: concatenate every feed's entries into one array, filter to the last 3–4 days by pubDate (so you only consider fresh items), and drop duplicates by normalized title or URL. Trim each item to title, link, contentSnippet, and pubDate — you don't want to blow your token budget shipping full article bodies to the model.
5. GPT-4o editorial node. Add an OpenAI node (or the generic HTTP Request node hitting the Chat Completions API) with model gpt-4o. Send the trimmed candidate list as JSON in the user message. Your system prompt is the actual editorial brain — be specific:
"You are the editor of a newsletter about [your niche]. From the candidate items below, select the 7–10 most relevant, novel, and useful for [your audience]. Skip press-release fluff, duplicates, and off-topic items. For each selection write a 2–3 sentence editorial summary in a [your voice] tone that explains why it matters. Then write a 2-sentence newsletter intro and a 1-sentence closing. Return valid JSON: {intro, items:[{title, link, summary}], closing}."
Set the node to JSON response format (response_format json_object) and temperature around 0.4 — high enough for readable prose, low enough to stay disciplined about selection.
6. Compose the HTML. A Code node parses the model's JSON and builds the newsletter body: intro paragraph, then a loop that renders each item as a headline linking to link followed by its summary, then the closing. Keep the markup simple — <h2>, <p>, <a> — so it renders cleanly in every email client.
7. Create the draft. Branch to your platform with an HTTP Request node:
- Beehiiv:
POSTto/v2/publications/{id}/postswith your API key as a Bearer token andstatus: "draft". The composed HTML goes in the body field. - Ghost:
POSTto/ghost/api/admin/posts/?source=htmlwith a JWT built from your Admin API key andstatus: "draft". The?source=htmlparameter is mandatory — without it Ghost silently discards your HTML and saves an empty post.
8. Notify yourself. Finish with a Slack, Telegram, or email node: "Newsletter draft ready — review and send." Now the workflow's output is a nudge to a finished draft, not another chore.
The benefits: what you actually get back
- Hours per week reclaimed. The 2–4 hour curation block collapses into a 5-minute review. Over a year that's roughly 200 hours.
- Consistency becomes the default. The send goes out whether or not you had a good week, because the draft is always waiting.
- Better selection than tired-you. GPT-4o reads all 20 feeds fully every time — it never skims because it's 11pm.
- Cheap to run. Trimmed candidate lists mean each issue costs a few cents in API tokens. Two issues a week is pocket change against the time saved.
- Full editorial control retained. Draft-only delivery means nothing publishes without your eyes on it.
Common pitfalls (and how to avoid them)
Sending raw RSS instead of editing. If you skip the summary step and just list titles, you've built an aggregator readers can replicate with any RSS app. The editorial summaries are the value — don't cut them to save tokens.
No dedup or freshness filter. Ten feeds in the same niche will syndicate the same big story. Without the dedup and date-window logic in step 4, your issue becomes the same item five times. This is the most common quality complaint, and it's a pure code-node fix.
Trusting auto-send too early. Resist wiring the workflow to publish directly for at least a month. Watch the drafts, tune the system prompt when selection misses, then decide if you trust it unattended. Most operators keep the human gate permanently — it's five minutes for real brand protection.
One bad feed killing the run. Feeds go dark, rate-limit, or return malformed XML. Without "Continue On Fail" on the RSS node, one broken source aborts the entire issue. Set it, and log failures so you can prune dead feeds monthly.
Vague system prompts. "Summarize these articles" produces bland mush. The prompt is where your newsletter's voice and standards live — name your audience, your tone, and what to reject. Iterate on it like you'd iterate on a hire.
Blowing the token budget. Shipping full article bodies to GPT-4o is slow and expensive and rarely improves selection. Send titles plus snippets; the model picks well from headlines and lead paragraphs alone.
Build this once and your newsletter stops depending on whether you had a free morning. The workflow does the reading and the first draft; you do the 5-minute judgment call that keeps it yours.
Ja construimos isso pra voce
Nao comece do zero. O AI-Curated Niche Newsletter — RSS Aggregation + GPT-4o Editorial Curation + Beehiiv/Ghost Auto-Send e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.
Instalar por $59 →