Aggregate Multiple RSS Feeds Effortlessly with n8n

Struggling to keep up with multiple RSS feeds manually? This n8n workflow automates RSS feed aggregation into a single combined list, saving you hours of tedious copying and pasting.
manualTrigger
function
splitInBatches
+2
Workflow Identifier: 1383
NODES in Use: ManualTrigger, Function, SplitInBatches, RSSFeedRead, IF

Press CTRL+F5 if the workflow didn't load.

Learn how to Build this Workflow with AI:

Visit through Desktop for Best experience

Opening Problem Statement

Meet Emma, a content manager who follows multiple technical blogs to curate a weekly newsletter. Each morning, she spends over an hour visiting diverse platforms like Medium and Dev.to to check their RSS feeds, manually copying interesting articles into a single document. This repetitive process not only wastes her valuable time but also risks missing important posts due to human error. Imagine the frustration when Emma realizes she missed a trending article that could have been featured because she was overwhelmed managing multiple feed URLs separately.

This real-world scenario painfully illustrates a problem many content curators face: efficiently consolidating multiple RSS feeds into one cohesive list without tedious manual work. Emma needs a smarter way to automate this aggregation task seamlessly.

What This Automation Does

This unique n8n workflow automates the fetching, batching, and merging of multiple RSS feeds, streamlining Emma’s content curation process. Specifically, when you trigger this workflow, here’s what happens:

  • Reads multiple RSS feeds one by one: The workflow fetches articles from specified URLs like Medium’s and Dev.to’s feeds.
  • Processes feeds in batches: Using batch splitting, it handles one feed per batch to manage resources smartly.
  • Conditionally checks completion: It loops through all feeds until none are left unprocessed.
  • Merges all fetched articles: Combines all individual feed items into one unified dataset.
  • Presents aggregated data: The combined result can be easily used further for newsletters, content analysis, or alerts.
  • Saves significant time: Eliminates manual copying across multiple feeds, saving at least an hour daily for Emma.

Prerequisites ⚙️

  • n8n automation platform account (cloud or self-hosted) ⏱️ 🔌
  • No external API keys or credentials needed (public RSS feeds used)
  • Basic familiarity with n8n workflow editor interface

Step-by-Step Guide

Step 1: Start With Manual Trigger Node

Navigate to the n8n editor. Click + New Workflow. Add a node by clicking + Add Node → Select Manual Trigger. This node initiates the workflow on demand. You’ll see a “On clicking ‘execute'” node ready to trigger manually.

Common mistake: Forgetting to trigger manually after designing the workflow will result in no data processing.

Step 2: Define RSS Feed URLs with a Function Node

Click + Add Node, select the Function node. Configure the code as follows to provide multiple feed URLs:

return [
  { json: { url: 'https://medium.com/feed/n8n-io' } },
  { json: { url: 'https://dev.to/feed/n8n' } }
];

This node outputs the list of RSS URLs. Replace or add URLs as needed with correct feed addresses.

Visual: You should see each feed URL as a separate item after this node execution.

Step 3: Split Feeds Into Individual Batches

Add the SplitInBatches node next. Configure to process one feed at a time by setting batchSize: 1. Connect the Function node output to this node.

Visual: This prepares feeds to be processed sequentially without overloading the RSS feed sources.

Step 4: Read the RSS Feed

Next, add the RSS Feed Read node. In the URL field, enter =<{{$json["url"]}}> to use dynamic input URLs from previous nodes.

This node fetches the feed items from each batch’s URL one by one.

Common mistake: Forgetting to use the expression format causes a static URL and broken iteration.

Step 5: Check if All Batches Processed with IF Node

Connect the RSS Feed Read node to an IF node. Configure it to check if there are no more batches left by comparing noItemsLeft context variable to true.

This conditional logic ensures the workflow knows when all feeds are processed.

Step 6: Loop or Finish

If there are more feeds, connect the IF node’s false output back to the SplitInBatches node to continue looping over feeds.

If all feeds processed, route the true output to a Function node named Merge Data.

Step 7: Merge All Feed Items in Function Node

Configure the Merge Data function node with this code to combine all items fetched from each feed:

const allData = []

let counter = 0;
do {
  try {
    const items = $items("RSS Feed Read", 0, counter).map(item => item.json);
    allData.push.apply(allData, items);
  } catch (error) {
    return [{json: {allData}}];  
  }

  counter++;
} while(true);

This block collects items from every batch dynamically until no more are found.

Outcome: You get a single merged array of all feed items as workflow output.

Customizations ✏️

  • Add More Feeds: In the Function node labeled with URLs, add or remove RSS feed URLs to tailor your data sources.
  • Change Batch Size: Modify batchSize in the SplitInBatches node for bulk processing multiple feeds at once if resources allow.
  • Enhance with Filter Logic: Insert additional IF nodes after RSS Feed Read to filter articles based on keywords or publication date before merging.

Troubleshooting 🔧

Problem: “RSS Feed Read node returns empty or no items.”
Cause: Invalid or unreachable RSS feed URL.
Solution: Verify feed URLs manually in a browser or RSS reader to ensure they are live. Check expression syntax in RSS Feed Read node URL field.

Problem: “Workflow loops indefinitely or crashes at Merge Data function.”
Cause: Loop condition or error handling in Function node flawed.
Solution: Ensure the Merge Data function is correctly catching iteration end by relying on try-catch, and the IF node correctly breaks looping.

Pre-Production Checklist ✅

  • Test manual trigger activates workflow properly.
  • Confirm all feed URLs return expected RSS XML responses.
  • Verify batch splitting processes feeds one at a time correctly.
  • Check the IF node detects when no feed batches remain to exit loop.
  • Run Merge Data function node outputs a combined article list.

Deployment Guide

Activate automation by saving workflow and hitting the manual trigger button. Consider setting a scheduled trigger if you want automatic periodic updates.

Monitor the workflow via execution logs in n8n. There are no external API keys or rate limits since public RSS feeds are used, so reliability depends mostly on feed uptime.

FAQs

Q1: Can I add non-technical RSS feeds?
A: Yes, you can add any valid RSS URLs following the same format in the Function node.

Q2: Does this workflow consume API credits or need authentication?
A: No, it processes public RSS feeds that don’t require authentication.

Q3: Can I use this to monitor many feeds simultaneously?
A: Yes, but increasing feed count drastically might require adjusting batch sizes or resources.

Conclusion

By building this RSS feed aggregator with n8n, you’ve automated a tedious, error-prone process, saving at least an hour daily for busy users like Emma. This consolidated feed provides a single source of truth, boosting content curation efficiency.

Next steps? Consider expanding to filter by keywords or automate sending featured feed items to email newsletters or messaging apps like Slack. Your content workflow just got a smart upgrade!

Promoted by BULDRR AI

Related Workflows

Automate Viral UGC Video Creation Using n8n + Degaus (Beginner-Friendly Guide)

Learn how to automate viral UGC video creation using n8n, AI prompts, and Degaus. This beginner-friendly guide shows how to import, configure, and run the workflow without technical complexity.
Form Trigger
Google Sheets
Gmail
+37
Free

AI SEO Blog Writer Automation in n8n (Beginner Guide)

A complete beginner guide to building an AI-powered SEO blog writer automation using n8n.
AI Agent
Google Sheets
httpRequest
+5
Free

Automate CrowdStrike Alerts with VirusTotal, Jira & Slack

This workflow automates processing of CrowdStrike detections by enriching threat data via VirusTotal, creating Jira tickets for incident tracking, and notifying teams on Slack for quick response. Save hours daily by transforming complex threat data into actionable alerts effortlessly.
scheduleTrigger
httpRequest
jira
+5
Free

Automate Telegram Invoices to Notion with AI Summaries & Reports

Save hours on financial tracking by automating invoice extraction from Telegram photos to Notion using Google Gemini AI. This workflow extracts data, records transactions, and generates detailed spending reports with charts sent on schedule via Telegram.
lmChatGoogleGemini
telegramTrigger
notion
+9
Free

Automate Email Replies with n8n and AI-Powered Summarization

Save hours managing your inbox with this n8n workflow that uses IMAP email triggers, AI summarization, and vector search to draft concise replies requiring minimal review. Automate business email processing efficiently with AI guidance and Gmail integration.
emailReadImap
vectorStoreQdrant
emailSend
+12
Free

Automate Email Campaigns Using n8n with Gmail & Google Sheets

This n8n workflow automates personalized email outreach campaigns by integrating Gmail and Google Sheets, saving hours of manual follow-up work and reducing errors in email sequences. It ensures timely follow-ups based on previous email interactions, optimizing communication efficiency.
googleSheets
gmail
code
+5
Free