RSS to Email, curated newsletters with Google Gemini
Your RSS reader starts with good intentions, then turns into a scroll of half-relevant headlines you never open. You copy links into notes, promise you’ll “read later,” and somehow still miss the one story you actually needed for a meeting.
This hits marketing leads hardest because you need angles fast. Founders feel it when competitor moves slip by. And if you run an agency, clients expect “what’s happening” without paying for your doomscrolling. A Gemini newsletter automation fixes that by emailing you a curated digest that only includes what you care about.
Below is how this workflow pulls from your RSS feeds, uses Google Gemini to pick the best items, and delivers a clean HTML newsletter every morning.
How This Automation Works
See how this solves the problem:
n8n Workflow Template: RSS to Email, curated newsletters with Google Gemini
flowchart LR
subgraph sg0["Schedule Flow"]
direction LR
n0@{ icon: "mdi:play-circle", form: "rounded", label: "Schedule Trigger1", pos: "b", h: 48 }
n1@{ icon: "mdi:swap-vertical", form: "rounded", label: "Tech News Sites", pos: "b", h: 48 }
n2@{ icon: "mdi:swap-vertical", form: "rounded", label: "Tools Subredit and Sites", pos: "b", h: 48 }
n3@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out", pos: "b", h: 48 }
n4@{ icon: "mdi:swap-vertical", form: "rounded", label: "Split Out1", pos: "b", h: 48 }
n5@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items", pos: "b", h: 48 }
n6@{ icon: "mdi:swap-vertical", form: "rounded", label: "Loop Over Items1", pos: "b", h: 48 }
n7@{ icon: "mdi:cog", form: "rounded", label: "RSS Read OF Tech News", pos: "b", h: 48 }
n8@{ icon: "mdi:cog", form: "rounded", label: "RSS Read OF Tools", 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/merge.svg' width='40' height='40' /></div><br/>Merge Both List"]
n10@{ icon: "mdi:cog", form: "rounded", label: "Conver To CSV", pos: "b", h: 48 }
n11@{ icon: "mdi:robot", form: "rounded", label: "Upload a file", pos: "b", h: 48 }
n12@{ icon: "mdi:robot", form: "rounded", label: "Analyze document", pos: "b", h: 48 }
n13["<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/code.svg' width='40' height='40' /></div><br/>Code in JavaScript"]
n14@{ icon: "mdi:message-outline", form: "rounded", label: "Send email", pos: "b", h: 48 }
n3 --> n5
n4 --> n6
n10 --> n11
n11 --> n12
n5 --> n9
n5 --> n7
n9 --> n10
n1 --> n3
n12 --> n13
n6 --> n9
n6 --> n8
n8 --> n6
n0 --> n1
n0 --> n2
n13 --> n14
n7 --> n5
n2 --> n4
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 n0 trigger
class n11,n12 ai
class n13 code
classDef customIcon fill:none,stroke:none
class n9,n13 customIcon
The Challenge: Staying Informed Without Drowning in Feeds
RSS is supposed to be the calm alternative to social media. In practice, it becomes another inbox. You subscribe to “just a few” feeds, then add competitors, then add tool updates, then add newsletters you heard about on a podcast. Suddenly you are checking 40 sources, skimming titles, opening five tabs, and still missing key updates because you’re rushing. The worst part is the mental load: deciding what matters takes longer than reading what matters. And on busy weeks, you stop checking entirely.
It adds up fast. Here’s where it breaks down in real teams and small businesses.
- You spend about 30 minutes a day sorting headlines, and it still feels incomplete.
- Competitor or industry updates get buried under “nice to know” posts, so you react late.
- Manual curation is inconsistent because it depends on your mood, time, and attention.
- Forwarding links to teammates turns into messy threads with no shared structure.
The Fix: Daily RSS-to-Email Curation with Gemini
This workflow turns your RSS feeds into a newsletter you’ll actually read. Every day at a time you choose (default is 9:00 AM), it pulls the latest items from two sets of sources, like “Tech” and “Tools.” It then processes those items in batches so you don’t run into rate limits or timeouts. After the feeds are combined, the workflow converts the full list into a file, passes it to Google Gemini, and asks Gemini to pick the top items based on keywords you define. Finally, it formats the results into a clean HTML email, complete with summaries and images, then sends it straight to your inbox via SMTP.
The workflow starts with a scheduled trigger, then reads RSS items from your lists. Gemini curates the best 10–15 items per category based on your interests. The output is a single email that looks like a curated newsletter, not a raw feed dump.
What Changes: Before vs. After
| What This Eliminates | Impact You’ll See |
|---|---|
|
|
Real-World Impact
Say you track two categories with 10 RSS feeds each. If you manually check just 20 feeds and spend maybe 2 minutes per feed to skim headlines, that’s about 40 minutes a day, and you still have to decide what to read. With this workflow, you spend about 5 minutes once setting keywords and feeds, then your daily effort is basically zero: it runs at 9:00 AM, Gemini curates the top 10–15 items per category, and the email arrives ready to scan in a few minutes.
Requirements
- n8n instance (try n8n Cloud free)
- Self-hosting option if you prefer (Hostinger works well)
- Google Gemini API for AI-based curation and summaries
- SMTP email account to send the newsletter reliably
- Gemini API key (get it from Google AI Studio/Google Cloud)
Skill level: Beginner. You’ll paste RSS URLs, add credentials, and adjust a few fields.
Need help implementing this? Talk to an automation expert (free 15-minute consultation).
The Workflow Flow
A daily schedule kicks it off. At your chosen time, n8n starts the run and loads two lists of RSS sources (for example, “Tech” and “Tools”).
RSS items are collected in batches. The workflow expands your feed URL lists, then loops through them in manageable chunks, reading each RSS feed and gathering new items without hammering any one service.
Everything gets combined into one clean input. Items from both categories merge into a single dataset, which is converted into a CSV file so the AI step can analyze it consistently.
Gemini curates, then email goes out. Google Gemini reviews the file, selects the most relevant stories based on your keywords, and the workflow formats that result into HTML before sending it through your SMTP “Send email” node.
You can easily modify the categories (Tech/Tools) to match your world, so the same setup can deliver “Competitor updates” and “Customer insights” instead. See the full implementation guide below for customization options.
Step-by-Step Implementation Guide
Step 1: Configure the Schedule Trigger
Set up the daily schedule that kicks off the digest workflow and splits into two parallel branches for tech and tool feeds.
- Add Scheduled Daily Trigger and set the schedule rule to run daily at
09:00by configuring triggerAtHour to9. - Connect Scheduled Daily Trigger to both Tech Feed Sources and Tool Feed Sources.
- Confirm the execution fan-out: Scheduled Daily Trigger outputs to both Tech Feed Sources and Tool Feed Sources in parallel.
Step 2: Connect Feed Source Lists
Define the RSS sources for technology news and tool/product discovery.
- In Tech Feed Sources, set Mode to
rawand jsonOutput to{"url" : ["https://techcrunch.com/feed/","https://www.theverge.com/rss/index.xml","https://analyticsindiamag.com/feed/","https://www.wired.com/feed/rss","https://thenextweb.com/feed"]}. - In Tool Feed Sources, set Mode to
rawand jsonOutput to{"Url":["https://www.reddit.com/r/SideProject/.rss","https://www.reddit.com/r/InternetIsBeautiful/.rss","https://dev.to/feed/tag/tools","https://www.producthunt.com/feed"]}. - Connect Tech Feed Sources to Expand Tech URLs and Tool Feed Sources to Expand Tool URLs.
Step 3: Expand, Batch, and Read RSS Feeds
Split URL arrays into individual items, batch them, and fetch RSS entries for both categories.
- In Expand Tech URLs, set fieldToSplitOut to
url; in Expand Tool URLs, set fieldToSplitOut toUrl. - In Batch Tech Feeds, set batchSize to
5; in Batch Tool Feeds, set batchSize to4. - In Read Tech RSS, set url to
={{ $('Expand Tech URLs').item.json.url }}. - In Read Tool RSS, set url to
={{ $json.Url }}. - Ensure the looping flow: Batch Tech Feeds → Read Tech RSS → Batch Tech Feeds and Batch Tool Feeds → Read Tool RSS → Batch Tool Feeds.
- Send both batches into Combine Feed Lists (one input for tech, one for tools).
url field name from Expand Tech URLs. A typo in the field name will produce empty feeds.Step 4: Convert and Upload Feed Data for AI Processing
Merge the feed items into a file, then upload the file for AI summarization.
- Connect Combine Feed Lists to Convert Items CSV to turn the merged items into a file.
- Connect Convert Items CSV to Upload Feed File.
- In Upload Feed File, set resource to
fileand inputType tobinary. - Credential Required: Connect your
googlePalmApicredentials in Upload Feed File.
Step 5: Configure AI Summarization and HTML Formatting
Use Gemini to produce an HTML digest, then sanitize the output for email.
- Connect Upload Feed File to Analyze Content.
- In Analyze Content, set resource to
documentand documentUrls to={{ $json.fileUri }}. - Keep the full prompt in text as provided to generate the digest using the HTML template.
- Credential Required: Connect your
googlePalmApicredentials in Analyze Content. - Connect Analyze Content to Format HTML Output.
- In Format HTML Output, paste the JavaScript that strips line breaks and returns
htmlfrom$input.first().json.content.parts[0].text.
Step 6: Configure the Email Dispatch
Send the formatted HTML digest to your inbox using SMTP.
- Connect Format HTML Output to Dispatch Email.
- In Dispatch Email, set html to
={{ $json.html.replace(/^```html/, '').replace(/```$/, '').trim() }}. - Set subject to
=⚡ Daily Tech Digest - {{ new Date().toLocaleDateString("en-US", { year: "numeric", month: "long", day: "numeric" }) }}. - Set toEmail to
[YOUR_EMAIL]and fromEmail to[YOUR_EMAIL]. - Credential Required: Connect your
smtpcredentials in Dispatch Email.
Step 7: Test and Activate Your Workflow
Verify the workflow end-to-end and enable it for daily delivery.
- Use Execute Workflow to run the flow manually from Scheduled Daily Trigger.
- Confirm that Combine Feed Lists receives items from both tech and tool branches.
- Check that Analyze Content outputs HTML and Format HTML Output returns a clean
htmlfield. - Verify the digest email arrives from Dispatch Email with a formatted HTML layout.
- When satisfied, toggle the workflow to Active for daily automation.
Watch Out For
- Google Gemini credentials can expire or need specific permissions. If things break, check the Gemini node credentials inside n8n first.
- 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.
Common Questions
About 30 minutes if you already have your RSS feeds and credentials.
Yes. No coding is required, but you will need to paste RSS URLs, connect Gemini, and test one email run.
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 Google Gemini API usage, which depends on how many items you analyze each day.
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.
You can swap the “Tech Feed Sources” and “Tool Feed Sources” lists for any categories you want, then update the keywords inside the Gemini “Analyze Content” prompt to match your goals. Common tweaks include separating “Competitor Updates” from “Industry News,” adding a category just for customer pain points, and changing the HTML layout in the formatting step so it matches your brand. If you want a review step, you can route the curated list to Telegram first and only send the email when you approve it.
Usually it’s an API key issue or a credential mismatch between the two Gemini nodes. Re-check that the same valid Gemini credentials are selected in both “Upload Feed File” and “Analyze Content,” then confirm your billing/permissions in the Google account tied to the key. If it works for small runs but fails on bigger ones, you may be hitting quota limits, so reduce feeds or tighten the prompt to analyze fewer items.
On n8n Cloud Starter, you can run a healthy daily digest for a personal or small team setup, and higher plans handle more volume. If you self-host, there’s no execution cap, but your server resources and the time it takes to read many RSS feeds will become the limiting factor. Practically, most people keep it to a few dozen feeds and let Gemini pick the top 10–15 items per category so the email stays readable.
Often, yes, because this flow benefits from batching, merging, file conversion, and a multi-step AI curation process. n8n handles branching and “loop through feeds” logic cleanly, and self-hosting can keep costs predictable when you scale. Zapier or Make can be faster to set up for very small “RSS to email” tasks, but the moment you want two categories, smarter filtering, or custom HTML, you’ll feel the limits. If you’re unsure, Talk to an automation expert and we’ll map the simplest option for your setup.
Once this is running, your “news routine” becomes one email and a few minutes of reading. The workflow handles the repetitive filtering so you can focus on what to do with the insights.
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.