n8n RSS monitor — one webhook per new item
Feed DiffHook any RSS or Atom URL and your n8n workflow receives one signed webhook per new item — already deduplicated, already parsed, already pointing at the source article.
n8n has an RSS Feed Read node, but it's a pull model: you run it on a schedule, compare the items to last time, and hope you didn't miss one between cron runs. DiffHook turns RSS into push. We keep the dedup window on our side, fetch on the interval you set, and fire a webhook only when there's a genuinely new entry — no duplicates, no missed items across scheduler gaps.
The complete n8n + DiffHook hub
See every n8n recipe, template, and pricing tier in one place.
Workflow
Pipe any feed into n8n in 5 steps
Push-based RSS without the scheduler juggling. n8n only sees new items.
Create an n8n webhook
Start a new workflow, drop in the Webhook trigger node set to POST, and copy the production URL. No auth required at the n8n layer — DiffHook signs every call with HMAC.
Point a DiffHook monitor at the feed URL
POST to /v1/monitors with type: rss and the feed URL. DiffHook parses RSS 2.0, Atom, and RDF feeds and handles conditional GET (ETag, Last-Modified) so repeated checks stay cheap.
Attach the n8n webhook as a delivery
Add the n8n URL from step 1 as a webhook-type delivery on the monitor. DiffHook fires one POST per new item, with the item's title, link, summary, guid, and pub_date already parsed.
Verify HMAC and dedupe
In n8n, verify the X-DiffHook-Signature header with a Crypto node. DiffHook also sends a delivery_id so you can idempotency-key downstream steps that don't tolerate retries.
Route the item where it belongs
Summarise with an AI node, post to Slack or Discord, append to a Notion database, create a Linear issue, or kick off a longer pipeline. n8n sees one event per actual new entry — nothing else.
API example
An RSS monitor in one POST
Feeds just need the URL. DiffHook handles parsing, conditional GET, and per-item deduplication.
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json
{
"type": "rss",
"url": "https://example.com/feed.xml",
"interval_seconds": 300,
"deliveries": [
{
"type": "webhook",
"url": "https://n8n.yourdomain.com/webhook/feed-item"
}
]
}Importable workflow
Start from a ready-made n8n workflow
Template verifies the HMAC, formats the item into a Slack block, and pushes to a channel. Swap Slack for Discord, email, or any other n8n destination node.
FAQ
n8n RSS monitor — common questions
Why not just use n8n's RSS Feed Read node?
Which feed formats does DiffHook support?
How does DiffHook decide what's a new item?
What's the smallest check interval?
Does this work with authenticated or private RSS feeds?
Related workflows
Also great with DiffHook
n8n webhook
Go deeper on HMAC verification, delivery retries, and replay — the generic n8n webhook page.
n8n website monitor
Watching a page that has no RSS feed? Use the website-monitor pattern with a CSS selector.
n8n web scraping
Structured HTML diffs inside n8n — perfect when the site has a changelog page but no feed.
RSS to webhook
Language-agnostic solution page. Same DiffHook core, no n8n on the receiving side.
RSS feed notifications
Overview of the RSS delivery options — email, Slack, Discord, Telegram, webhook.
RSS to Slack
Direct-to-Slack pattern if you don't need the n8n workflow in the middle.
Stop polling feeds from a Schedule trigger
Push-based RSS, deduped by GUID, HMAC-signed webhooks, free tier. Zero configuration on the n8n side beyond the webhook URL.