RSS to Gmail, polished newsletters ready to send
Your “weekly newsletter” starts as a good idea, then turns into a messy browser zoo. Tabs everywhere. Half-saved links. Copy-paste into an email draft that somehow eats your Friday afternoon. RSS Gmail automation fixes that loop.
This hits marketing managers who need consistent sends, but agency owners compiling industry roundups feel it too. Consultants building “what changed this week” updates run into the same grind. You get a clean, email-ready draft in Gmail, built from the right stories, on a schedule.
Below you’ll see how the workflow collects articles daily, stores them for reuse, then assembles a polished weekly digest that’s ready to review and send.
How This Automation Works
The full n8n workflow, from trigger to final output:
n8n Workflow Template: RSS to Gmail, polished newsletters ready to send
flowchart LR
subgraph sg0["Get Articles Daily Flow"]
direction LR
n0@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n1@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI", pos: "b", h: 48 }
n2@{ icon: "mdi:robot", form: "rounded", label: "Default Data Loader", pos: "b", h: 48 }
n3@{ icon: "mdi:robot", form: "rounded", label: "Recursive Character Text Spl..", pos: "b", h: 48 }
n5@{ icon: "mdi:play-circle", form: "rounded", label: "Get Articles Daily", pos: "b", h: 48 }
n11@{ icon: "mdi:memory", form: "rounded", label: "Store News Articles", pos: "b", h: 48 }
n12@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set Tech News RSS Feeds", pos: "b", h: 48 }
n13@{ icon: "mdi:cog", form: "rounded", label: "Read RSS News Feeds", pos: "b", h: 48 }
n16@{ icon: "mdi:swap-vertical", form: "rounded", label: "Set and Normalize Fields", pos: "b", h: 48 }
n0 --> n13
n1 -.-> n11
n5 --> n12
n2 -.-> n11
n13 --> n16
n12 --> n0
n16 --> n11
n3 -.-> n2
end
subgraph sg1["Send Weekly Summary Flow"]
direction LR
n4@{ icon: "mdi:brain", form: "rounded", label: "OpenAI Chat Model", pos: "b", h: 48 }
n6@{ icon: "mdi:play-circle", form: "rounded", label: "Send Weekly Summary", pos: "b", h: 48 }
n7@{ icon: "mdi:robot", form: "rounded", label: "News reader AI", pos: "b", h: 48 }
n8@{ icon: "mdi:message-outline", form: "rounded", label: "Send Newsletter", pos: "b", h: 48 }
n9["<div style='background:#f5f5f5;padding:10px;border-radius:8px;display:inline-block;border:1px solid #e0e0e0'><img src='https://flowpast.com/wp-content/uploads/n8n-workflow-icons/markdown.dark.svg' width='40' height='40' /></div><br/>Convert Response to an Email.."]
n10@{ icon: "mdi:swap-vertical", form: "rounded", label: "Your topics of interest", pos: "b", h: 48 }
n14@{ icon: "mdi:memory", form: "rounded", label: "Get News Articles", pos: "b", h: 48 }
n15@{ icon: "mdi:vector-polygon", form: "rounded", label: "Embeddings OpenAI2", pos: "b", h: 48 }
n7 --> n9
n14 -.-> n7
n4 -.-> n7
n15 -.-> n14
n6 --> n10
n10 --> n7
n9 --> n8
end
%% Styling
classDef trigger fill:#e8f5e9,stroke:#388e3c,stroke-width:2px
classDef ai fill:#e3f2fd,stroke:#1976d2,stroke-width:2px
classDef aiModel fill:#e8eaf6,stroke:#3f51b5,stroke-width:2px
classDef decision fill:#fff8e1,stroke:#f9a825,stroke-width:2px
classDef database fill:#fce4ec,stroke:#c2185b,stroke-width:2px
classDef api fill:#fff3e0,stroke:#e65100,stroke-width:2px
classDef code fill:#f3e5f5,stroke:#7b1fa2,stroke-width:2px
classDef disabled stroke-dasharray: 5 5,opacity: 0.5
class n5,n6 trigger
class n2,n3,n7 ai
class n4 aiModel
class n11,n14 ai
class n1,n15 ai
classDef customIcon fill:none,stroke:none
class n9 customIcon
The Problem: Weekly newsletters turn into copy-paste marathons
Most newsletters don’t fail because you lack ideas. They fail because the process is exhausting. You collect interesting links all week, then scramble to find them again when it’s time to send. Add in rewriting headlines, trimming intros, removing duplicates, and trying to keep a consistent tone, and suddenly a “simple digest” takes about 2 hours. Sometimes more. And the worst part is that you redo the same work for every segment or topic, even when the underlying news overlaps.
The friction compounds. Here’s where it breaks down.
- Articles live in scattered places (tabs, Slack, bookmarks), so you waste time just hunting them down.
- Manual curation invites mistakes, like broken links, repeated stories, and missing sources.
- You end up rewriting everything from scratch to match your voice, which is draining after a full workday.
- There’s no reusable library, so “weekly” work becomes permanent work.
The Solution: Collect daily, curate weekly, send from Gmail
This workflow runs as a two-stage system. First, it quietly collects articles every day from your chosen RSS feeds and normalizes the key fields (title, link, source, summary text). Then it stores each item in a vector database with semantic embeddings and category metadata, so later you can retrieve “the most relevant stories” by topic instead of by exact keywords. On a weekly schedule, it pulls a defined number of the best-matching articles for your interests, sends them through an AI agent to turn raw feed text into a structured newsletter format, and outputs a ready-to-review HTML draft. Finally, it delivers that draft into Gmail so you can do a quick human pass and hit send.
The workflow starts with daily RSS ingestion, which builds a searchable story library over time. Then the weekly scheduler applies your topic preferences and pulls matching stories using vector search. After that, the AI agent formats everything into a consistent newsletter layout and Gmail receives the draft.
What You Get: Automation vs. Results
| What This Workflow Automates | Results You’ll Get |
|---|---|
|
|
Example: What This Looks Like
Say your weekly digest includes 12 stories pulled from 6 RSS sources. Manually, it’s easy to spend about 10 minutes per story finding it again, skimming it, writing a short blurb, and formatting links, which is roughly 2 hours each week. With this workflow, daily collection happens in the background, then the weekly run retrieves and drafts the email automatically. You’re mostly doing review and tweaks, often 15–20 minutes, then sending from Gmail.
What You’ll Need
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- RSS feeds to provide your news sources.
- Gmail to deliver the newsletter draft to your inbox.
- OpenAI API key (get it from your OpenAI dashboard).
Skill level: Intermediate. You will connect accounts, add RSS URLs, and adjust topic inputs and prompts.
Don’t want to set this up yourself? Talk to an automation expert (free 15-minute consultation).
How It Works
Daily RSS collection kicks things off. A schedule trigger runs every day, pulls new items from each feed, and splits them so each article can be processed cleanly.
Articles get normalized and prepared for storage. The workflow standardizes the fields you actually need (title, URL, source, and content), then divides longer text into chunks so retrieval stays accurate later.
Your story library is built with semantic search. OpenAI embeddings convert each article into vectors, and the vector store archives them with category metadata. Later, this is what lets you pull “relevant stories about X” without perfect keyword matches.
A weekly run curates and formats the newsletter. Another schedule trigger loads your interest topics, retrieves the best matches from the vector store, then an AI agent rewrites and structures the content into an email-ready HTML draft and sends it via Gmail.
You can easily modify the topics and item limits to match different audiences based on your needs. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
This workflow uses two schedulers: one to collect daily RSS articles and another to generate the weekly newsletter summary.
- Open Daily Article Scheduler and confirm it runs daily using its default interval settings.
- Open Weekly Summary Scheduler and set the schedule to weekly with Trigger At Day set to
1and Trigger At Hour set to5(as configured). - Verify the execution flow: Daily Article Scheduler → Configure RSS Sources and Weekly Summary Scheduler → Set Interest Topics.
Step 2: Connect RSS Sources
Set up the RSS feeds to read daily and split each source into individual fetches.
- In Configure RSS Sources, set the rss array to:
[ "https://www.engadget.com/rss.xml", "https://feeds.arstechnica.com/arstechnica/index", "https://www.theverge.com/rss/index.xml", "https://www.wired.com/feed/rss", "https://www.technologyreview.com/topnews.rss", "https://techcrunch.com/feed/" ]. - In Distribute Items, set Field to Split Out to
rss. - In Fetch RSS Articles, set URL to
={{ $json.rss }}to pull each feed dynamically. - Confirm the flow: Configure RSS Sources → Distribute Items → Fetch RSS Articles → Normalize Article Fields.
Step 3: Set Up AI Curation and Vector Storage
Normalize article data, store it in a vector database, and configure the AI agent to curate the weekly digest.
- In Normalize Article Fields, map fields using expressions: title =
={{ $json.title }}, content =={{ $json['content:encodedSnippet'] ?? $json.contentSnippet}}, date =={{ $json.isoDate}}, and link =={{ $json.link }}. - Configure Archive News Vectors with Mode set to
insertand Memory Key set tonews_store_key. - Open Recursive Text Divider and set Chunk Size to
3000. - In Standard Data Loader, set JSON Data to
=# {{ $json.title }} {{ $json.content }}and add metadata values: title =={{ $json.title }}, createDate =={{ $now.toISO() }}, publishDate =={{ $json.date }}, link =={{ $json.link }}. - Open Set Interest Topics and set Interests to
gamesand Number of news items to include to15. - In AI News Curator, set Text to
=Summarize the most relevant tech news published in the past 7 days. Today is {{ $now }}and keep the configured system message that references{{ $json.Interests }}and{{ $json['Number of news items to include'] }}. - Ensure Retrieve News Entries uses Mode
retrieve-as-tool, Top K20, Tool Nameget_news, and Memory Keynews_store_key. - Credential Required: Connect your openAiApi credentials to OpenAI Vector Embed, OpenAI Vector Embed 2, and OpenAI Chat Engine. OpenAI Chat Engine is connected as the language model for AI News Curator—ensure credentials are added to OpenAI Chat Engine, not the agent node.
Step 4: Configure Email Output
Convert the AI summary to HTML and send it via Gmail.
- In Format Newsletter HTML, set Mode to
markdownToHtmland Markdown to={{ $json.output }}. - In Dispatch Newsletter Email, set Send To to
[YOUR_EMAIL], Subject toWeekly tech newsletter, and Message to={{ $json.data }}. - Credential Required: Connect your gmailOAuth2 credentials to Dispatch Newsletter Email.
[YOUR_EMAIL] in Dispatch Newsletter Email with a real recipient address, or the test will fail.Step 5: Test and Activate Your Workflow
Run a manual test to verify RSS ingestion, AI curation, and email delivery before enabling the schedules.
- Click Execute Workflow and manually run Daily Article Scheduler to confirm RSS articles flow into Archive News Vectors.
- Manually run Weekly Summary Scheduler and verify that AI News Curator generates output, Format Newsletter HTML converts it, and Dispatch Newsletter Email sends the email.
- Confirm successful execution by checking the email inbox and the execution log for completed nodes.
- Toggle the workflow to Active to enable the daily and weekly schedules for production use.
Common Gotchas
- Gmail credentials can expire or need specific permissions. If things break, check the Gmail connection in n8n’s Credentials tab first, then confirm the Google account still allows the scopes requested.
- If you’re using Wait nodes or external rendering, processing times vary. Bump up the wait duration if downstream nodes fail on empty responses.
- Default prompts in AI nodes are generic. Add your brand voice early or you’ll be editing outputs forever.
Frequently Asked Questions
About an hour once your RSS sources and accounts are ready.
No coding required. You will connect accounts, paste in RSS URLs, and adjust the topic and prompt fields.
Yes. n8n has a free self-hosted option and a free trial on n8n Cloud. Cloud plans start at $20/month for higher volume. You’ll also need to factor in OpenAI API usage, which is usually a few dollars a month for a normal weekly digest.
Two options: n8n Cloud (managed, easiest setup) or self-hosting on a VPS. For self-hosting, Hostinger VPS is affordable and handles n8n well. Self-hosting gives you unlimited executions but requires basic server management.
Yes, and it’s one of the main benefits. You can duplicate the “Set Interest Topics” values and run separate weekly schedules per audience, each with different topic prompts and article limits. Many teams also tweak the “AI News Curator” instructions so one version writes in a formal tone while another feels more conversational. If you want separate Gmail drafts per topic, keep the same ingestion library and change only the weekly retrieval and formatting pieces.
Usually it’s expired Google authorization or missing Gmail permissions on the connected account. Reconnect the Gmail credential inside n8n, then rerun the weekly portion to confirm it can create and send drafts. If it fails only sometimes, you might also be hitting Google security prompts on that mailbox, especially for newer accounts.
Practically, dozens per day is fine for most setups, and weekly retrieval can comfortably pull 10–50 items per topic if your prompts are tight. On n8n Cloud, the limit is mostly your monthly executions (Starter is designed for smaller volumes, Pro handles more). If you self-host, there’s no execution limit; your server size and OpenAI rate limits become the main constraint.
For this workflow, n8n is usually the better fit because the vector database, chunking, and retrieval logic gets complex quickly. Zapier and Make can send RSS to email, sure, but they’re not as comfortable when you want a reusable semantic library and a multi-stage “ingest daily, deliver weekly” pipeline. n8n also lets you self-host for high volume without paying per tiny step, which matters once you add more feeds. If all you need is a basic “new RSS item → email me” alert, those tools can be simpler. Talk to an automation expert if you want help picking the right approach.
Honestly, this is what newsletters should feel like: review, refine, send. The workflow handles the repetitive stuff so your weekly digest stops stealing your time.
Need Help Setting This Up?
Our automation experts can build and customize this workflow for your specific needs. Free 15-minute consultation—no commitment required.