AutomationFlowsGeneral › RSS Feed -> MongoDB -> Webhook

RSS Feed -> MongoDB -> Webhook

RSS Feed -> MongoDB -> Webhook. Uses manualTrigger, rssFeedRead, splitInBatches, noOp. Event-driven trigger; 18 nodes.

Event trigger★★★★☆ complexity18 nodesRss Feed ReadMongo DbHttp Request
General Trigger: Event Nodes: 18 Complexity: ★★★★☆

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 →

Download .json
{
  "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.

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 →

More General workflows → · Browse all categories →