AI-Powered RSS Digest Emails with n8n
Why I Built This Automation
I wanted a lightweight way to send curated news digests from multiple RSS feeds. The goal: skip the boring titles-and-links dump, and instead send a smart, summarized email to a small list of folks who care about the topics. Doing this manually was out of the question.
The Approach I Took
I built the whole thing in n8n, which is perfect for chaining together no-code and low-code logic.
- Multiple RSS nodes pull in various feeds.
- Each feed is cleaned up with Set nodes—trimming fields, renaming them, and aligning them into a consistent shape.
- A Code node merges the data, removes duplicate articles, and applies basic filters.
- Another Code node handles email formatting, turning the data into a nice-looking HTML email block.
- The cool part: an AI node summarizes each article, adding custom summaries at a glance.
- For configuration and content tweaks, it pulls data from a Google Spreadsheet—super convenient. (I could swap in Airtable if the dataset gets heavier.)
Finally, to sidestep some built-in email limits, I hooked it into SendGrid (though Moosend or Mailgun would also work).
Challenges Along the Way
The main headache was deduping articles that showed up across multiple RSS feeds. Even small title variations can throw off a naive comparison. I ended up normalizing titles and dates before matching.
Another subtle bit: email rendering. HTML emails can be finicky, so I kept the formatting minimal and tested across a few clients before locking it in.
Tools and Tech Stack
- n8n – core automation engine
- JavaScript (in Code nodes)
- Google Sheets – source of truth for topics, recipients, etc.
- SendGrid – for sending outbound email
- AI Node – for auto-generating summaries
- Optional: Airtable for future scale
Things I'd Improve Next Time
- Add keyword filtering or categories, so subscribers can opt into topics they care about.
- Use persistent storage (like a lightweight DB) to track which articles have already been sent.
- Add a webhook to let people subscribe/unsubscribe easily.
- Consider using a frontend like NextJS or SvelteKit to host a digest archive.