Automate AI-Curated Weekly Newsletter: RSS Feeds to Polished Digest — n8n Workflow in n8n — Step by Step
You spend 3–4 hours every Sunday manually scanning RSS feeds, picking stories, writing summaries, formatting the digest, and sending it out. That time compounds: 200+ hours per year on a task that fol
You spend 3–4 hours every Sunday manually scanning RSS feeds, picking stories, writing summaries, formatting the digest, and sending it out. That time compounds: 200+ hours per year on a task that follows the same pattern every week. If your newsletter is consistent but the process still runs on human effort, you have a workflow problem — not a content problem. Here is how to fix it with n8n and GPT-4o in a single automated pipeline.
The Real Cost of Manual Newsletter Curation
Most newsletter operators undercount the true cost of manual curation. The obvious cost is time. The hidden cost is inconsistency: when you are tired, rushed, or distracted, the quality drops, stories get missed, and editorial voice drifts. Readers feel this even if they cannot articulate it.
The pattern is always the same: fetch content from multiple RSS feeds, filter for relevance, decide what to include, write a summary that adds editorial context, format everything into a coherent digest, and distribute it. Every single step here is deterministic enough to automate — and GPT-4o is now capable enough to handle the editorial judgment that used to require a human.
The n8n workflow described in this article handles all of it: scheduling, fetching, filtering, AI summarization, digest assembly, and distribution — triggered every Sunday at 6pm without manual intervention.
How the Workflow Is Structured
The workflow has five functional stages that run sequentially: trigger, fetch, filter, generate, and send. Each stage is handled by dedicated n8n nodes with clear inputs and outputs.
Stage 1 — Schedule Trigger. A Schedule Trigger node fires every Sunday at 18:00. Configuration: interval set to Week, day set to Sunday, hour set to 18. This is the only timing configuration you need to touch. The rest of the workflow is stateless — it fetches fresh data on every run.
Stage 2 — RSS Feed Fetching. An RSS Feed Read node connects to each of your source feeds. For multiple feeds, use a Loop Over Items node to iterate through a list of RSS URLs stored in a Set node. Each feed returns an array of items with title, link, description, pubDate, and content fields. Filter by pubDate using an IF node to keep only items published in the last 7 days — this prevents stale content from appearing in the digest.
Stage 3 — Relevance Filtering with AI. A first OpenAI node runs a classification pass. Send the title and description of each item to GPT-4o with a system prompt that defines your newsletter's topic focus. The prompt should be explicit: list the topics you cover and ask the model to return a JSON object with a relevant boolean and a relevance_score from 0–10. Use a Filter node downstream to drop items where relevant is false or score is below 6.
Stage 4 — Editorial Summarization. A second OpenAI node processes the filtered items. This is where GPT-4o does the editorial heavy lifting. The prompt instructs the model to write a 2–3 sentence summary in your newsletter's voice, extract the key insight for your audience, and flag any items that belong together thematically. Pass the full article content if available (via the RSS content:encoded field), not just the description — summaries are significantly better with full text. The output is a structured JSON with headline, summary, source, url, and theme fields per item.
Stage 5 — Digest Assembly and Distribution. A Code node assembles the individual summaries into a formatted HTML email body. Group items by theme, add a header with the week's date range, and append a footer. Pass the assembled HTML to a Gmail node (or Mailchimp, Brevo, or any SMTP node) configured with your subscriber list or a single test address during setup.
Step-by-Step Setup
Step 1: Import the workflow. Download the JSON file and import it via n8n's Import from file option in the Workflows menu. All nodes appear pre-connected. No manual wiring needed.
Step 2: Configure your RSS sources. Open the Set node labeled RSS Sources. Replace the placeholder URLs with your actual feeds. Each URL goes in the feeds array. Typical setup for a tech-focused newsletter: 5–12 feeds covering primary sources, aggregators, and niche blogs relevant to your audience.
Step 3: Set your OpenAI credentials. In n8n's credential manager, add an OpenAI API credential with your API key. Both OpenAI nodes in the workflow reference this credential. Select gpt-4o as the model in each node's configuration — do not use gpt-3.5-turbo for the summarization stage, the quality difference is significant.
Step 4: Customize the editorial prompts. Open the Relevance Filter OpenAI node and update the system prompt to describe your newsletter's topic focus. Be specific: "This newsletter covers B2B SaaS, developer tools, and AI infrastructure. Exclude consumer apps, social media trends, and general business news." The more specific your criteria, the better the filtering.
Open the Summarizer OpenAI node and adjust the voice instructions in the system prompt. Include 2–3 example sentences that match your editorial style. GPT-4o uses these as stylistic anchors and the outputs will be noticeably more consistent.
Step 5: Configure the email node. Connect your Gmail or SMTP credentials. Set the To field to your subscriber list address or a distribution group. Set the Subject field using an expression that includes the current date: Weekly Digest — {{ $now.format('MMMM D, YYYY') }}. Enable HTML mode for the email body.
Step 6: Run a manual test. Before activating the schedule, click Execute Workflow to run it manually. Inspect the output of each node in the execution log. Common issues at this stage: RSS feeds returning 0 items (check date filter range), OpenAI node returning malformed JSON (add a JSON Parse node downstream), or email node failing authentication (verify SMTP settings).
Step 7: Activate. Toggle the workflow to Active. The Schedule Trigger will fire automatically every Sunday at 18:00 in your n8n instance's configured timezone. Verify the timezone in your n8n environment settings — this is the most common cause of timing mismatches.
What You Actually Gain
The obvious gain is time — roughly 3 hours per week returned to you. At scale, this means your newsletter's publication cadence becomes independent of your availability. You can travel, focus on a launch, or take a week off without the newsletter missing an issue.
The less obvious gain is consistency. GPT-4o applies the same editorial criteria every week, does not have good weeks and bad weeks, and does not let personal bias influence which stories get included based on how much coffee was consumed before sitting down. Reader feedback on newsletters built this way consistently notes that the curation feels "more focused" — which is the signal that the relevance filter is working.
The third gain is scalability. A manual curator can realistically monitor 10–15 feeds at comfortable depth. This workflow handles 50+ feeds with the same effort. If you want to expand coverage of a new topic area, you add a feed URL — nothing else changes.
Common Pitfalls and How to Avoid Them
Pitfall 1: The date filter is too narrow. If you set the filter to "last 7 days" and your workflow runs late or a feed has infrequent updates, you get an empty digest. Fix: use a 9-day window instead of 7. Duplicate detection in the summarizer prompt ("skip any story that appears to be the same event as another item") handles the small overlap.
Pitfall 2: GPT-4o returns inconsistent JSON structure. When feeding multiple items in a batch, the model occasionally changes the field names or nests objects differently. Fix: use the response_format: { type: "json_object" } parameter in the OpenAI node's advanced settings, and include a JSON schema example in the system prompt. This constrains the output format reliably.
Pitfall 3: RSS feeds with full content disabled. Many publishers only expose a truncated description in their RSS feed. The summarizer works on whatever content is available, but summaries of 50-word descriptions are noticeably weaker than summaries of full articles. Fix: add a HTTP Request node that fetches the article URL and extracts the body text using a CSS selector — pair this with an HTML Extract node. This adds latency but significantly improves summary quality for feeds that truncate.
Pitfall 4: No error handling on the email node. If your email provider rate-limits or rejects the send, the workflow fails silently and the digest is not delivered. Fix: add an Error Trigger workflow that sends you a Slack or WhatsApp notification when the main workflow fails. Takes 10 minutes to set up and saves you from missed issues.
Pitfall 5: Timezone mismatch in the Schedule Trigger. n8n uses the system timezone of the server it runs on. If your n8n instance is on a UTC server and you expect delivery at 6pm local time, configure the trigger for the UTC equivalent of your local 18:00. Set this explicitly in the trigger node rather than relying on defaults.
Pitfall 6: Not versioning your editorial prompts. As you iterate on the prompts to improve output quality, it becomes easy to lose track of what changed and why. Use n8n's workflow version history, or maintain a simple changelog comment at the top of each prompt in a Sticky Note node. When a digest comes out unusually well or poorly, you want to know exactly what the prompt said that week.
Ja construimos isso pra voce
Nao comece do zero. O AI-Curated Weekly Newsletter: RSS Feeds to Polished Digest — n8n Workflow e um workflow n8n pronto para instalar — conecta suas ferramentas em minutos, sem codigo.
Instalar por $59 →