Om RSS naar een webhook te sturen, heb je iets nodig dat de feed volgens een schema controleert, nieuwe items opspoort en elk item als HTTP POST naar je URL stuurt. De regel Plaats op Webhook van Feeder doet dit voor elk aantal feeds, met ingebouwde zoekwoordfilters en nieuwe pogingen. Automatiseringstools zoals Zapier, Make, IFTTT en n8n kunnen dit ook, net als een kort script op je eigen server.
Welke mogelijkheden zijn er om RSS naar een webhook te sturen?
| Mogelijkheid | Geschikt voor | Goed om te weten |
|---|---|---|
| Regel Plaats op Webhook van Feeder | Veel feeds, zoekwoordfilters en één JSON-indeling voor elke feed | Onderdeel van Feeder Professional. De details vind je hieronder. |
| Zapier, Make, IFTTT of n8n | Elk item zonder code doorsturen naar andere apps | Je koppelt de velden zelf. Elke tool heeft eigen abonnementen en limieten. |
| Een script | Ontwikkelaars die volledige controle willen | Je host en plant het script zelf in en houdt bij wat het al heeft verstuurd. |
Hoe werkt de regel Plaats op Webhook van Feeder?
Plaats op Webhook is een van de acties in de Regels van Feeder. Maak een regel, kies Plaats op Webhook onder Wat zou er moeten gebeuren?, plak de URL van je endpoint en selecteer de feeds, mappen of Alle feeds die je wilt volgen. Voeg zoekwoorden toe als je alleen bepaalde berichten wilt doorsturen. Vanaf dat moment stuurt Feeder elk nieuw bericht dat aan de voorwaarden voldoet naar je URL.
In Zelf integraties bouwen met Webhooks vind je alle stappen met schermafbeeldingen. In het aankondigingsbericht zie je de regel in actie. De informatie op deze pagina is gebaseerd op de code die de webhooks verstuurt.
Wat stuurt Feeder naar mijn webhook?
Voor elk bericht wordt één HTTP POST verstuurd, met een JSON-body en deze headers:
POST /hooks/rss HTTP/1.1
Content-Type: application/json
User-Agent: Feeder-Webhooks/1.0
X-Feeder-Signature: sha256=<HMAC-SHA256 of the body, in hex>
Dit is de body voor een bericht van de Feeder-blog, met een ingekorte content. Feeder verstuurt deze op één regel. Hier is de body uitgespreid zodat je die makkelijker kunt lezen.
{
"version": "2023-06-26",
"message_id": "3f1c9a52-7e4b-4d0a-9b6e-2c8d51f0a7e4",
"post": {
"id": "aff2424a-abc9-11f1-afb3-1a21cf3a468a",
"title": "Feed your AI",
"url": "https://feeder.co/blog/1208-feed-your-ai",
"published": "2026-09-08T20:19:59Z",
"content": "\u003cp\u003eWith Feeder's MCP server, you can connect Feeder to your AI client of choice.\u003c/p\u003e",
"audio_url": null,
"image_url": "https://uploads.feedercdn.com/8XSXZN92WHeb2d17f3440d-feedyourai-1024x538.png"
},
"feed": {
"id": "21f058e947",
"source_url": "https://feeder.co/blog.rss",
"public_url": "https://feeder.co/blog",
"title": "Feeder.co",
"favicon": "https://icons.feedercdn.com/feeder.co"
}
}
| Veld | Inhoud |
|---|---|
version | De versie van de indeling: 2023-06-26. |
message_id | Een nieuwe ID voor elk bericht. Bij een nieuwe poging voor hetzelfde bericht blijft deze gelijk, zodat je duplicaten kunt overslaan. |
post.id | De ID die Feeder aan het bericht heeft toegewezen. |
post.title | De titel van het bericht. |
post.url | De link naar het bericht op de website. |
post.published | Het publicatiemoment van het bericht als RFC 3339-tijdstempel, of null. |
post.content | Het bericht als HTML, zoals de feed het aanlevert: het volledige artikel of een samenvatting. |
post.audio_url | Het MP3-bestand dat aan het bericht is gekoppeld, bijvoorbeeld een podcastaflevering, of null. |
post.image_url | De afbeelding die aan het bericht is gekoppeld, anders de eerste afbeelding in de inhoud, of null. |
feed.id | De korte ID die Feeder aan de feed heeft toegewezen. |
feed.source_url | Het adres van de feed. |
feed.public_url | De website waar de feed bij hoort. |
feed.title | De titel van de feed. |
feed.favicon | Een adres voor het pictogram van de website. |
In content worden de tekens <, > en & verstuurd als \u003c, \u003e en \u0026. Dat is geldige JSON. Een JSON-parser zet ze weer om in HTML.
Wanneer wordt de webhook geactiveerd?
- Alleen voor nieuwe berichten. De regel verwerkt berichten die Feeder vindt nadat je de regel hebt opgeslagen. Berichten die al in je account staan, worden niet verstuurd.
- Een keer per bericht. Elk bericht dat aan de voorwaarden voldoet, wordt als afzonderlijk verzoek verstuurd. Feeder voegt berichten niet samen. Als de website een bericht later bewerkt en Feeder die wijziging oppikt, wordt de bewerkte versie ook verstuurd.
- Meteen na de volgende feedcontrole. Met Professional controleert Feeder feeds standaard elke 10 minuten. Je kunt een feed ook instellen om elke minuut te vernieuwen. Zie Hoe vaak controleert Feeder je feeds?.
- Alleen voor berichten die aan de voorwaarden voldoen. Als je zoekwoorden instelt, worden alleen berichten met die zoekwoorden verstuurd. Zonder zoekwoorden worden alle nieuwe berichten verstuurd. Een bericht dat door een regel voor Berichten filteren of Dubbelingen filteren wordt verborgen, wordt niet verstuurd.
Wat gebeurt er als mijn endpoint niet bereikbaar is?
Feeder wacht maximaal 60 seconden op een antwoord. Een statuscode uit de 2xx-reeks geldt als afgeleverd. Als je endpoint een foutmelding geeft, zoals 404 of 500, of helemaal niet antwoordt, probeert Feeder het opnieuw, maximaal 8 keer:
| Poging | Verstuurd na de vorige poging |
|---|---|
| 2 | 5 seconden |
| 3 | 30 seconden |
| 4 | 1 minuut |
| 5 | 5 minuten |
| 6 | 10 minuten |
| 7 | 30 minuten |
| 8 | 30 minuten |
| 9 | 30 minuten |
Na de negende poging, ongeveer 1 uur en 47 minuten na de eerste, stopt Feeder met proberen voor dat bericht. Elke mislukte poging verschijnt in het foutenlogboek van de regel. Open de regel en selecteer Foutenlogboek openen. Als je de URL van de regel wijzigt terwijl er nieuwe pogingen gepland staan, worden de volgende pogingen naar de nieuwe URL verstuurd. Met Testbericht plaatsen verstuur je één test, zonder nieuwe pogingen.
Wat moet mijn endpoint doen?
- Antwoord snel. Geef eerst een statuscode uit de 2xx-reeks terug en voer daarna pas langzame taken uit. Zo blijf je ruim binnen de 60 seconden.
- Sla duplicaten over. Als je server een bericht heeft verwerkt maar te laat heeft geantwoord, wordt het bij een nieuwe poging opnieuw verstuurd. Bewaar de waarden van
message_idofpost.iddie je al hebt gezien. - Gebruik het definitieve adres. De URL moet een pad bevatten, zoals
https://example.com/hooks/rss, en verwijzen naar een server op het openbare internet. Feeder verstuurt geen berichten naar lokale of privé-netwerkadressen. Vermijd ook omleidingen. Na een omleiding met statuscode 301, 302 of 303 komt het verzoek aan als GET, zonder JSON-body. - Controleer de handtekening. Iedereen die je URL kent, kan er verzoeken naartoe sturen. Vertrouw daarom alleen verzoeken met een geldige
X-Feeder-Signature. In het volgende gedeelte lees je hoe je die controleert.
Hoe controleer ik of een verzoek van Feeder komt?
Feeder ondertekent elk verzoek met het webhookgeheim van je regel. Open de regel, schakel Geavanceerd in, kopieer het Webhook-geheim en sla de regel op. De header X-Feeder-Signature bevat sha256=, gevolgd door de HMAC-SHA256 van de request-body in hexadecimale notatie, gemaakt met dat geheim.
Bereken ter controle dezelfde HMAC over de onbewerkte body, voordat je de JSON parseert, en vergelijk beide waarden in constante tijd. In Python:
import hashlib, hmac
def from_feeder(body, header, secret):
expected = "sha256=" + hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(expected, header or "")
Hier is body de request-body als bytes. Wijs het verzoek af als from_feeder False teruggeeft. Nieuwe pogingen worden ondertekend met het huidige geheim van de regel. Als je het geheim wijzigt, geldt dat dus ook voor die pogingen.
Kan Feeder een overzicht naar een webhook sturen?
Nee. Plaats op Webhook verstuurt één verzoek per bericht, zodra Feeder het vindt. Voor een overzicht heb je drie mogelijkheden:
- Verzamel de berichten zelf. Sla elk ontvangen bericht op bij je endpoint en verstuur volgens een schema je eigen samenvatting.
- Gebruik e-mailsamenvattingen. Met Plus en Professional kan Feeder je dagelijks, wekelijks of maandelijks een samenvatting e-mailen van de feeds die je kiest. Zie Meldingen ontvangen over nieuwe berichten.
- Publiceer een feed. Met Professional kun je een map of collectie publiceren als RSS- of JSON-feed. Laat je eigen tool die feed volgens een schema uitlezen. Zie Je berichten exporteren als RSS- en JSON-feeds.
Hoe stuur ik RSS naar een webhook met Zapier, Make, IFTTT of n8n?
Elke tool koppelt een RSS-trigger aan een HTTP-actie. We hebben de namen gecontroleerd op de websites van de tools zelf op 28 september 2026:
| Tool | Trigger | Actie | Goed om te weten |
|---|---|---|---|
| Zapier | RSS by Zapier: Nieuw item in feed of Nieuwe items in meerdere feeds | Webhooks by Zapier: POST | Webhooks by Zapier is een premium-app die Zapier alleen bij betaalde abonnementen aanbiedt. |
| Make | RSS: RSS-feeditems volgen | HTTP: Een verzoek doen | De RSS-module kan RSS- en Atom-feeds uitlezen. |
| IFTTT | RSS Feed: Nieuw feeditem | Webhooks: Een webverzoek doen | Met het gratis abonnement controleert IFTTT feeds elk uur, met Pro en Pro+ elke 5 minuten. |
| n8n | De node RSS-feedtrigger | De node HTTP-verzoek met de POST-methode | Onder Poll Times kies je hoe vaak de feed wordt gecontroleerd. |
Deze tools zijn de snelste oplossing als je er al een gebruikt. Je kunt ze ook met Feeder combineren: stel de regel Plaats op Webhook in met een Zapier-trigger Catch Hook of een n8n-node Webhook. Feeder volgt dan de feeds en filtert de berichten, waarna je workflow de rest doet.
Hoe stuur ik RSS met een script naar een webhook?
Dit Python-script stuurt elk nieuw item uit één feed naar je webhook. Het houdt bij wat het al heeft verstuurd in seen.txt, zodat elk item één keer wordt verstuurd. De eerste keer verstuurt het script alle items die op dat moment in de feed staan.
import json, pathlib, urllib.request
import feedparser # pip install feedparser
FEED_URL = "https://example.com/feed.xml"
WEBHOOK_URL = "https://example.com/hooks/rss"
seen_file = pathlib.Path("seen.txt")
seen = set(seen_file.read_text().split()) if seen_file.exists() else set()
for entry in reversed(feedparser.parse(FEED_URL).entries):
key = entry.get("id") or entry.get("link")
if not key or key in seen:
continue
payload = {"title": entry.get("title"), "url": entry.get("link"), "published": entry.get("published")}
request = urllib.request.Request(WEBHOOK_URL, data=json.dumps(payload).encode(),
headers={"Content-Type": "application/json"})
urllib.request.urlopen(request, timeout=30)
seen.add(key)
seen_file.write_text("\n".join(seen))
Je hebt Python 3 en het pakket feedparser nodig (pip install feedparser). Voer het script volgens een schema uit, bijvoorbeeld elke 15 minuten met cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Als je endpoint een foutmelding geeft, stopt het script. Bij de volgende uitvoering probeert het hetzelfde item opnieuw.
Veelgestelde vragen
Kan ik met Plaats op Webhook RSS naar een Slack-, Teams- of Discord-webhook sturen?
Niet rechtstreeks. Feeder verstuurt zijn eigen JSON-indeling, niet de berichtindeling die deze apps verwachten. Gebruik in plaats daarvan de regels Plaats op Slack, Plaatsen op Microsoft Teams of Posten op Discord van Feeder, of gebruik Zapier, Make of n8n als tussenstap.
Welk Feeder-abonnement bevat webhooks?
Plaats op Webhook is onderdeel van Professional. Regels waarmee je berichten filtert, markeert of verzamelt, werken ook met Plus.
Bevat de webhook het volledige artikel?
De webhook bevat wat de feed publiceert. content bevat het volledige artikel als de feed dat meestuurt, en de samenvatting als de feed alleen een samenvatting bevat.
Kan ik mijn endpoint testen voordat ik de regel opsla?
Ja. Met Testbericht plaatsen verstuur je één echt bericht uit je feeds naar je URL. Je account moet minstens één feed met berichten bevatten.
Probeer Feeder
Feeder is een RSS-reader voor het web, iOS en Android, met extensies voor Chrome, Firefox en Edge. Met het gratis abonnement kun je maximaal 200 feeds volgen zonder advertenties. Feeds worden maximaal elke 30 minuten bijgewerkt. Met Plus kun je 2.500 feeds volgen, worden ze maximaal elke 5 minuten bijgewerkt en krijg je e-mailsamenvattingen.