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 →
{
"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
}
],
"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
}
]
]
}
}
}
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 effortlessly delivers RSS feed updates to your preferred webhook endpoint, ensuring you receive timely notifications or data pushes without constant monitoring. It's ideal for content creators, developers, or teams relying on syndication from sources like news sites or blogs to trigger actions in tools such as Slack or custom APIs. The key step involves the RSS Feed Read node fetching new items on a cron schedule, followed by splitting them into batches for efficient processing and forwarding via HTTP Request to your webhook, handling up to hundreds of entries seamlessly.
Use this workflow when you need automated, event-driven ingestion of RSS data to integrate with external services, particularly for real-time alerts or database updates like inserting into MongoDB. Avoid it for high-frequency feeds exceeding thousands of items daily, as that demands more robust scaling; opt instead for dedicated streaming tools. Common variations include adding conditional filtering with IF nodes to process only specific categories or merging outputs for multi-feed consolidation.
About this workflow
Send Rss Feed Data To Webhook. Uses manualTrigger, rssFeedRead, splitInBatches, noOp. Event-driven trigger; 18 nodes.
Source: https://github.com/Zie619/n8n-workflows — 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.
RSS Feed -> MongoDB -> 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.