This workflow follows the HTTP Request → RSS Feed Read recipe pattern — see all workflows that pair these two integrations.
The workflow JSON
Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →
{
"id": "5dbef16e5f08b78d752add96",
"name": "RSS Feed -> MongoDB -> Webhook",
"nodes": [
{
"name": "On clicking 'execute'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
290,
380
],
"parameters": {},
"typeVersion": 1
},
{
"name": "Cron",
"type": "n8n-nodes-base.cron",
"position": [
290,
200
],
"parameters": {
"triggerTimes": {
"item": [
{
"mode": "everyHour"
}
]
}
},
"typeVersion": 1
},
{
"name": "RSS Feed Read",
"type": "n8n-nodes-base.rssFeedRead",
"position": [
490,
200
],
"parameters": {
"url": "https://www.feedforall.com/sample.xml"
},
"typeVersion": 1
},
{
"name": "SplitInBatches1",
"type": "n8n-nodes-base.splitInBatches",
"position": [
900,
560
],
"parameters": {
"batchSize": 1
},
"typeVersion": 1
},
{
"name": "IF",
"type": "n8n-nodes-base.if",
"position": [
1370,
360
],
"parameters": {
"conditions": {
"string": [],
"boolean": [
{
"value1": true,
"value2": "={{$node[\"SplitInBatches1\"].context[\"noItemsLeft\"]}}"
}
]
}
},
"typeVersion": 1
},
{
"name": "End1",
"type": "n8n-nodes-base.noOp",
"position": [
1740,
370
],
"parameters": {},
"typeVersion": 1
},
{
"name": "IF1",
"type": "n8n-nodes-base.if",
"position": [
1370,
10
],
"parameters": {
"conditions": {
"string": [],
"boolean": [
{
"value1": true,
"value2": "={{$node[\"SplitInBatches1\"].context[\"noItemsLeft\"]}}"
}
]
}
},
"typeVersion": 1
},
{
"name": "Merge",
"type": "n8n-nodes-base.merge",
"position": [
1260,
580
],
"parameters": {
"mode": "removeKeyMatches",
"propertyName1": "link",
"propertyName2": "link"
},
"typeVersion": 1
},
{
"name": "Merge1",
"type": "n8n-nodes-base.merge",
"position": [
1250,
200
],
"parameters": {
"mode": "removeKeyMatches",
"propertyName1": "link",
"propertyName2": "link"
},
"typeVersion": 1
},
{
"name": "IF realtors or real estate",
"type": "n8n-nodes-base.if",
"position": [
700,
200
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$node[\"RSS Feed Read\"].data[\"title\"]}}",
"value2": "/(realtors|real estate)/i",
"operation": "regex"
}
]
}
},
"typeVersion": 1
},
{
"name": "IF restaurant(s)",
"type": "n8n-nodes-base.if",
"position": [
700,
580
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{$node[\"IF realtors or real estate\"].data[\"title\"]}}",
"value2": "/restaurant[\\s]*/i",
"operation": "regex"
}
]
}
},
"typeVersion": 1
},
{
"name": "SplitInBatches",
"type": "n8n-nodes-base.splitInBatches",
"position": [
900,
180
],
"parameters": {
"batchSize": 1
},
"typeVersion": 1
},
{
"name": "MongoDB: Find Article",
"type": "n8n-nodes-base.mongoDb",
"position": [
1070,
310
],
"parameters": {
"query": "={\"link\":{\"$regex\":\"{{$node[\"SplitInBatches\"].data[\"link\"]}}\",\"$options\":\"i\"}}",
"collection": "articles"
},
"credentials": {
"mongoDb": "<your credential>"
},
"typeVersion": 1
},
{
"name": "MongoDB: Find Article1",
"type": "n8n-nodes-base.mongoDb",
"position": [
1070,
710
],
"parameters": {
"query": "={\"link\":{\"$regex\":\"{{$node[\"SplitInBatches1\"].data[\"link\"]}}\",\"$options\":\"i\"}}",
"collection": "articles"
},
"credentials": {
"mongoDb": "<your credential>"
},
"typeVersion": 1,
"continueOnFail": true
},
{
"name": "MongoDB: Insert",
"type": "n8n-nodes-base.mongoDb",
"position": [
1480,
580
],
"parameters": {
"fields": "title,link",
"operation": "insert",
"collection": "articles"
},
"credentials": {
"mongoDb": "<your credential>"
},
"typeVersion": 1
},
{
"name": "MongoDB: Insert1",
"type": "n8n-nodes-base.mongoDb",
"position": [
1480,
200
],
"parameters": {
"fields": "title,link",
"operation": "insert",
"collection": "articles"
},
"credentials": {
"mongoDb": "<your credential>"
},
"typeVersion": 1
},
{
"name": "Webhook",
"type": "n8n-nodes-base.httpRequest",
"position": [
1740,
200
],
"parameters": {
"url": "http://webhook.site/fe77b392-7b8a-4801-aeca-4531c14da5fd",
"options": {
"bodyContentType": "json"
},
"requestMethod": "POST",
"jsonParameters": true,
"bodyParametersJson": "={\"text\": \"{{$node[\"MongoDB: Insert1\"].data[\"link\"]}}\"}",
"allowUnauthorizedCerts": true
},
"typeVersion": 1
},
{
"name": "Webhook1",
"type": "n8n-nodes-base.httpRequest",
"position": [
1740,
580
],
"parameters": {
"url": "http://webhook.site/fe77b392-7b8a-4801-aeca-4531c14da5fd",
"options": {
"bodyContentType": "json"
},
"requestMethod": "POST",
"jsonParameters": true,
"bodyParametersJson": "={\"text\": \"{{$node[\"MongoDB: Insert\"].data[\"link\"]}}\"}",
"allowUnauthorizedCerts": true
},
"typeVersion": 1
}
],
"active": false,
"settings": {},
"connections": {
"IF": {
"main": [
[
{
"node": "End1",
"type": "main",
"index": 0
}
],
[
{
"node": "SplitInBatches1",
"type": "main",
"index": 0
}
]
]
},
"IF1": {
"main": [
[
{
"node": "End1",
"type": "main",
"index": 0
}
],
[
{
"node": "SplitInBatches",
"type": "main",
"index": 0
}
]
]
},
"Cron": {
"main": [
[
{
"node": "RSS Feed Read",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "MongoDB: Insert",
"type": "main",
"index": 0
}
]
]
},
"Merge1": {
"main": [
[
{
"node": "MongoDB: Insert1",
"type": "main",
"index": 0
}
]
]
},
"Webhook": {
"main": [
[
{
"node": "IF1",
"type": "main",
"index": 0
}
]
]
},
"Webhook1": {
"main": [
[
{
"node": "IF",
"type": "main",
"index": 0
}
]
]
},
"RSS Feed Read": {
"main": [
[
{
"node": "IF realtors or real estate",
"type": "main",
"index": 0
}
]
]
},
"SplitInBatches": {
"main": [
[
{
"node": "MongoDB: Find Article",
"type": "main",
"index": 0
},
{
"node": "Merge1",
"type": "main",
"index": 0
}
]
]
},
"MongoDB: Insert": {
"main": [
[
{
"node": "Webhook1",
"type": "main",
"index": 0
}
]
]
},
"SplitInBatches1": {
"main": [
[
{
"node": "MongoDB: Find Article1",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"IF restaurant(s)": {
"main": [
[
{
"node": "SplitInBatches1",
"type": "main",
"index": 0
}
]
]
},
"MongoDB: Insert1": {
"main": [
[
{
"node": "Webhook",
"type": "main",
"index": 0
}
]
]
},
"MongoDB: Find Article": {
"main": [
[
{
"node": "Merge1",
"type": "main",
"index": 1
}
]
]
},
"On clicking 'execute'": {
"main": [
[
{
"node": "RSS Feed Read",
"type": "main",
"index": 0
}
]
]
},
"MongoDB: Find Article1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"IF realtors or real estate": {
"main": [
[
{
"node": "SplitInBatches",
"type": "main",
"index": 0
}
],
[
{
"node": "IF restaurant(s)",
"type": "main",
"index": 0
}
]
]
}
},
"meta": {
"site": "https://github.com/zengfr/n8n-workflow-all-templates",
"name": "Send RSS feed data to webhook",
"wechat": "youandme10086",
"id": 159,
"update_time": "2025-11-10"
}
}
Credentials you'll need
Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.
mongoDb
For the full experience including quality scoring and batch install features for each workflow upgrade to Pro
How this works
This workflow automates the monitoring of RSS feeds to capture and store new articles in a MongoDB database, then triggers a webhook to notify external systems of updates, saving you hours of manual data handling and ensuring real-time integration with your apps. It's ideal for content managers, developers, or teams tracking news, blogs, or industry updates without constant oversight. The key step involves reading the RSS feed via the rssFeedRead node, processing entries in batches to insert them into MongoDB, and firing an httpRequest to the webhook for seamless downstream actions.
Use this workflow when you need event-driven automation for ongoing RSS monitoring with reliable storage and notifications, such as aggregating podcast episodes or blog posts for analysis. Avoid it for one-off data pulls or high-volume feeds exceeding MongoDB's capacity, where simpler scripts might suffice. Common variations include adding email alerts instead of webhooks or filtering specific RSS categories before storage.
About this workflow
RSS Feed -> MongoDB -> Webhook. Uses manualTrigger, rssFeedRead, splitInBatches, noOp. Event-driven trigger; 18 nodes.
Source: https://github.com/zengfr/n8n-workflow-all-templates/blob/main/n8n-workflow-all-templates/00/00/01/159_Send_RSS_feed_data_to_webhook.json — original creator credit. Request a take-down →
Related workflows
Workflows that share integrations, category, or trigger type with this one. All free to copy and import.
Send Rss Feed Data To Webhook. Uses manualTrigger, rssFeedRead, splitInBatches, noOp. Event-driven trigger; 18 nodes.
Create Animated Stories using GPT-4o-mini, Midjourney, Kling and Creatomate API. Uses httpRequest, stickyNote, manualTrigger. Event-driven trigger; 51 nodes.
Generate Leads with Google Maps - AlexK1919. Uses manualTrigger, scheduleTrigger, executeWorkflowTrigger, stopAndError. Event-driven trigger; 42 nodes.
Limit Code. Uses microsoftOutlookTrigger, httpRequest, limit, noOp. Event-driven trigger; 41 nodes.
AutoQoutesV2_template. Uses manualTrigger, httpRequest, stickyNote, googleSheets. Event-driven trigger; 28 nodes.