n8n+DiffHook

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.

n8n

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.

01

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.

02

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.

03

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.

04

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.

05

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 /v1/monitors
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?
You can, but it's polling. You schedule it, compare items to "last seen", and store the boundary somewhere. That works for one feed. Multiply by a dozen feeds, add retries for flaky servers, and you rebuild DiffHook inside n8n one Code node at a time. With DiffHook the dedup and polling live outside n8n, and n8n sees exactly one event per new entry.
Which feed formats does DiffHook support?
RSS 2.0, RSS 1.0 / RDF, and Atom 1.0. DiffHook also follows HTTP 301/302 redirects, respects ETag and Last-Modified headers, and parses podcast-style enclosures so audio/video items carry media links in the webhook payload.
How does DiffHook decide what's a new item?
By GUID when one is present (which covers most feeds), falling back to the item link and title hash. DiffHook keeps the last N GUIDs per monitor in a rolling window, so re-ordered feeds don't fire duplicate webhooks when an item bounces in and out of the top N entries.
What's the smallest check interval?
60 seconds on paid plans, hourly on free. For news-adjacent feeds (breaking-news, press-release, SEC filings) teams usually run 1–5 minute intervals; for slower feeds like changelogs and blogs, 15–60 minutes is plenty.
Does this work with authenticated or private RSS feeds?
Yes. Attach request headers or basic-auth credentials per monitor — DiffHook stores them encrypted and sends them on every fetch. Common examples: GitHub private repo feeds, Jira filter feeds, paid newsletter Atom endpoints.

Related workflows

Also great with DiffHook

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.