Per inviare un feed RSS a un webhook, serve qualcosa che controlli il feed a intervalli regolari, individui i nuovi elementi e invii ciascuno al tuo URL con una richiesta HTTP POST. La regola «Pubblica su Webhook» di Feeder lo fa per tutti i feed che vuoi, con filtri per parole chiave e nuovi tentativi integrati. Puoi farlo anche con strumenti di automazione come Zapier, Make, IFTTT e n8n oppure con un breve script sul tuo server.
Quali sono le opzioni per inviare un feed RSS a un webhook?
| Opzione | Ideale per | Da sapere |
|---|---|---|
| La regola «Pubblica su Webhook» di Feeder | Molti feed, filtri per parole chiave e un unico formato JSON per tutti i feed | Inclusa in Feeder Professional. Trovi i dettagli qui sotto. |
| Zapier, Make, IFTTT o n8n | Inoltrare ogni elemento ad altre app senza scrivere codice | Devi associare i campi manualmente. Ogni strumento ha i propri piani e limiti. |
| Uno script | Sviluppatori che vogliono il pieno controllo | Devi ospitarlo, pianificarne l'esecuzione e tenere traccia di ciò che ha già inviato. |
Come funziona la regola «Pubblica su Webhook» di Feeder?
«Pubblica su Webhook» è una delle azioni disponibili nelle regole di Feeder. Crea una regola, seleziona Pubblica su Webhook sotto Cosa dovrebbe succedere?, incolla l'URL del tuo endpoint e scegli i feed, le cartelle oppure Tutti i feed da monitorare. Aggiungi parole chiave se vuoi ricevere solo alcuni post. Da quel momento, Feeder invia al tuo URL ogni nuovo post corrispondente ai criteri.
Crea le tue integrazioni con i webhook contiene tutti i passaggi con schermate, mentre l'articolo di lancio mostra la regola in azione. Le informazioni riportate in questa pagina provengono dal codice che invia i webhook.
Cosa invia Feeder al mio webhook?
Una richiesta HTTP POST per ogni post, con un corpo JSON e queste intestazioni:
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>
Questo è il corpo relativo a un post del blog di Feeder, con content abbreviato. Feeder lo invia su un'unica riga, qui è disposto su più righe per facilitarne la lettura.
{
"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"
}
}
| Campo | Contenuto |
|---|---|
version | Versione del formato: 2023-06-26. |
message_id | Un nuovo ID per ogni messaggio. Se lo stesso messaggio viene inviato di nuovo, l'ID rimane invariato, così puoi ignorare i duplicati. |
post.id | L'ID del post assegnato da Feeder. |
post.title | Il titolo del post. |
post.url | Il link al post sul sito web. |
post.published | La data di pubblicazione del post, nel formato data e ora RFC 3339, oppure null. |
post.content | Il post in formato HTML, così come fornito dal feed: l'articolo completo oppure un riepilogo. |
post.audio_url | Il file MP3 allegato al post, per esempio un episodio di un podcast, oppure null. |
post.image_url | L'immagine allegata al post, altrimenti la prima immagine nel suo contenuto, oppure null. |
feed.id | L'ID breve del feed assegnato da Feeder. |
feed.source_url | L'indirizzo del feed. |
feed.public_url | Il sito web a cui appartiene il feed. |
feed.title | Il titolo del feed. |
feed.favicon | L'indirizzo dell'icona del sito. |
Nel campo content, i caratteri <, > e & vengono trasmessi come \u003c, \u003e e \u0026. È JSON valido e qualsiasi parser JSON li riconverte in HTML.
Quando viene attivato il webhook?
- Solo per i nuovi post. La regola agisce sui post che Feeder trova dopo che l'hai salvata. Non invia i post che hai già.
- Una volta per ogni post. Ogni post corrispondente genera una richiesta distinta. Feeder non raggruppa i post. Se il sito modifica un post in un secondo momento e Feeder rileva la modifica, invia anche la versione aggiornata.
- Subito dopo il controllo successivo del feed. Con Professional, Feeder controlla i feed ogni 10 minuti per impostazione predefinita. Puoi impostare l'aggiornamento di un feed anche ogni minuto. Consulta Ogni quanto Feeder controlla i tuoi feed.
- Solo per i post corrispondenti. Se imposti parole chiave, vengono inviati solo i post corrispondenti. Senza parole chiave, viene inviato ogni nuovo post. Non vengono inviati i post nascosti da una regola Filtra post o Filtra duplicati.
Cosa succede se il mio endpoint non è raggiungibile?
Feeder attende una risposta per un massimo di 60 secondi. Una risposta con stato 2xx viene considerata consegnata. Se l'endpoint restituisce un errore, per esempio 404 o 500, oppure non risponde, Feeder effettua fino a 8 nuovi tentativi:
| Tentativo | Attesa rispetto al tentativo precedente |
|---|---|
| 2 | 5 secondi |
| 3 | 30 secondi |
| 4 | 1 minuto |
| 5 | 5 minuti |
| 6 | 10 minuti |
| 7 | 30 minuti |
| 8 | 30 minuti |
| 9 | 30 minuti |
Dopo il nono tentativo, circa 1 ora e 47 minuti dopo il primo, Feeder interrompe i tentativi per quel post. Ogni tentativo non riuscito compare nel registro degli errori della regola: apri la regola e seleziona Apri registro errori. Se modifichi l'URL della regola mentre sono in attesa nuovi tentativi, questi verranno inviati al nuovo URL. Invia messaggio di test invia un singolo messaggio di test senza nuovi tentativi.
Cosa deve fare il mio endpoint?
- Rispondi rapidamente. Restituisci subito uno stato 2xx e svolgi le operazioni più lente in seguito, così resti ampiamente entro i 60 secondi.
- Ignora i duplicati. Se il server ha elaborato un messaggio ma ha risposto troppo tardi, il nuovo tentativo lo invierà di nuovo. Conserva i valori
message_idopost.idgià ricevuti. - Usa l'indirizzo finale. L'URL deve includere un percorso, per esempio
https://example.com/hooks/rss, e deve puntare a un server accessibile da Internet. Feeder non invia richieste a indirizzi locali o di reti private. Evita anche i reindirizzamenti: dopo un reindirizzamento 301, 302 o 303, la richiesta arriva come GET senza il corpo JSON. - Verifica la firma. Chiunque conosca il tuo URL può inviarvi richieste, quindi considera attendibili solo quelle con un
X-Feeder-Signaturevalido. La sezione successiva spiega come fare.
Come faccio a verificare che una richiesta provenga da Feeder?
Feeder firma ogni richiesta usando il segreto webhook della regola. Per trovarlo, apri la regola, attiva Avanzato, copia il Segreto webhook e salva la regola. L'intestazione X-Feeder-Signature contiene sha256= seguito dall'HMAC-SHA256 del corpo della richiesta, in formato esadecimale, generato con quel segreto.
Per verificarla, calcola lo stesso HMAC sul corpo grezzo, prima di analizzare il JSON, e confronta i due valori con un confronto a tempo costante. 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 "")
In questo esempio, body è il corpo della richiesta in byte. Rifiuta la richiesta se from_feeder restituisce False. I nuovi tentativi vengono firmati con il segreto attuale della regola, quindi anche a essi si applica l'eventuale modifica del segreto.
Feeder può inviare un riepilogo al webhook?
No. «Pubblica su Webhook» invia una richiesta per ogni post, non appena Feeder lo individua. Per creare un riepilogo hai tre possibilità:
- Raggruppa i post dalla tua parte. Salva ogni post ricevuto dall'endpoint e invia un riepilogo personalizzato secondo una pianificazione.
- Usa i riepiloghi via e-mail. Con Plus e Professional, Feeder può inviarti un riepilogo giornaliero, settimanale o mensile dei feed che scegli. Consulta Ricevi notifiche sui nuovi post.
- Pubblica un feed. Con Professional, puoi pubblicare una cartella o una raccolta come feed RSS o JSON e fare in modo che il tuo strumento la legga secondo la propria pianificazione. Consulta Come esportare i post come feed RSS e JSON.
Come invio un feed RSS a un webhook con Zapier, Make, IFTTT o n8n?
Ogni strumento abbina un trigger RSS a un'azione HTTP. Abbiamo verificato i nomi sui siti ufficiali di ciascuno strumento il 28 settembre 2026:
| Strumento | Trigger | Azione | Da sapere |
|---|---|---|---|
| Zapier | RSS by Zapier: Nuovo elemento nel feed oppure Nuovi elementi in più feed | Webhooks by Zapier: POST | Webhooks by Zapier è un'app premium, inclusa da Zapier solo nei piani a pagamento. |
| Make | RSS: Monitora gli elementi del feed RSS | HTTP: Effettua una richiesta | Il modulo RSS legge feed RSS e Atom. |
| IFTTT | RSS Feed: Nuovo elemento nel feed | Webhooks: Effettua una richiesta web | Con il piano gratuito, IFTTT controlla i feed ogni ora; con Pro e Pro+ li controlla ogni 5 minuti. |
| n8n | Nodo Trigger del feed RSS | Nodo Richiesta HTTP con il metodo POST | Puoi scegliere la frequenza di controllo del feed in Intervalli di polling. |
Questi strumenti sono la soluzione più rapida se ne usi già uno. Puoi anche combinarli con Feeder: indirizza una regola «Pubblica su Webhook» a un trigger Ricevi hook di Zapier o a un nodo Webhook di n8n. Feeder monitorerà i feed e filtrerà i post, poi il flusso di lavoro si occuperà del resto.
Come invio un feed RSS a un webhook con uno script?
Questo script Python invia al webhook ogni nuovo elemento di un feed. Tiene traccia degli elementi già inviati in seen.txt, così ogni elemento viene trasmesso una sola volta. Alla prima esecuzione invia tutti gli elementi presenti nel feed in quel momento.
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))
Servono Python 3 e il pacchetto feedparser (pip install feedparser). Pianifica l'esecuzione, per esempio ogni 15 minuti con cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Se l'endpoint restituisce un errore, lo script si interrompe e l'esecuzione successiva proverà di nuovo a inviare lo stesso elemento.
Domande frequenti
Posso inviare un feed RSS a un webhook di Slack, Teams o Discord con «Pubblica su Webhook»?
Non direttamente. Feeder invia il proprio formato JSON, non il formato di messaggio richiesto da queste app. Usa invece le regole di Feeder Pubblica su Slack, Pubblica su Microsoft Teams o Pubblica su Discord, oppure inserisci Zapier, Make o n8n nel flusso.
Quale piano Feeder include i webhook?
«Pubblica su Webhook» è incluso in Professional. Le regole che filtrano, aggiungono una stella o raccolgono i post sono disponibili anche con Plus.
Il webhook include l'articolo completo?
Include ciò che pubblica il feed. Il campo content contiene l'articolo completo quando il feed lo fornisce, e il riepilogo quando contiene solo un riepilogo.
Posso provare l'endpoint prima di salvare la regola?
Sì. Invia messaggio di test invia al tuo URL un vero post proveniente dai tuoi feed. Devi avere almeno un feed con post nel tuo account.
Prova Feeder
Feeder è un lettore RSS per web, iOS e Android, con estensioni per Chrome, Firefox ed Edge. Il piano gratuito permette di seguire fino a 200 feed senza pubblicità e aggiorna i feed ogni 30 minuti. Plus permette di seguire 2.500 feed, li aggiorna ogni 5 minuti e include i riepiloghi via e-mail.