Para enviar um feed RSS para um webhook, você precisa de algo que verifique o feed periodicamente, identifique os novos itens e envie cada um para sua URL por meio de uma requisição HTTP POST. A regra Postar em Webhook do Feeder faz isso com quantos feeds você quiser, com filtros por palavra-chave e novas tentativas integradas. Ferramentas de automação como Zapier, Make, IFTTT e n8n também fazem isso, assim como um script curto no seu próprio servidor.
Quais são as opções para enviar um feed RSS para um webhook?
| Opção | Ideal para | O que você precisa saber |
|---|---|---|
| Regra Postar em Webhook do Feeder | Muitos feeds, filtros por palavra-chave e um formato JSON para todos os feeds | Faz parte do Feeder Professional. Os detalhes estão abaixo. |
| Zapier, Make, IFTTT ou n8n | Encaminhar cada item para outros aplicativos sem escrever código | Você mapeia os campos manualmente. Cada ferramenta tem seus próprios planos e limites. |
| Um script | Desenvolvedores que querem controle total | Você hospeda e agenda a execução do script, além de acompanhar o que ele já enviou. |
Como funciona a regra Postar em Webhook do Feeder?
Postar em Webhook é uma das ações disponíveis nas regras do Feeder. Crie uma regra, escolha Postar em Webhook em O que deve acontecer?, cole a URL do seu endpoint e selecione os feeds, as pastas ou Todos os feeds que quer monitorar. Adicione palavras-chave se quiser enviar apenas algumas publicações. A partir daí, o Feeder envia cada nova publicação correspondente para sua URL.
Crie suas próprias integrações usando webhooks explica cada etapa com capturas de tela, e a publicação de lançamento mostra a regra em ação. As informações desta página vêm do código que envia os webhooks.
O que o Feeder envia para meu webhook?
Uma requisição HTTP POST para cada publicação, com um corpo JSON e estes cabeçalhos:
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>
Este é o corpo de uma publicação do blog do Feeder, com o content abreviado. O Feeder o envia em uma única linha. Aqui, ele está dividido em várias linhas para facilitar a leitura.
{
"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 | O que contém |
|---|---|
version | A versão do formato: 2023-06-26. |
message_id | Um novo ID para cada mensagem. As novas tentativas da mesma mensagem mantêm esse ID, para que você possa ignorar duplicatas. |
post.id | O ID da publicação no Feeder. |
post.title | O título da publicação. |
post.url | O link para a publicação no site. |
post.published | Data e hora de publicação, no formato de data e hora RFC 3339, ou null. |
post.content | A publicação em HTML, conforme fornecida pelo feed: o artigo completo ou um resumo. |
post.audio_url | O MP3 anexado à publicação, como um episódio de podcast, ou null. |
post.image_url | A imagem anexada à publicação ou, se não houver, a primeira imagem do conteúdo, ou null. |
feed.id | O ID curto do feed no Feeder. |
feed.source_url | O endereço do feed. |
feed.public_url | O site ao qual o feed pertence. |
feed.title | O título do feed. |
feed.favicon | O endereço do ícone do site. |
No campo content, os caracteres <, > e & são recebidos como \u003c, \u003e e \u0026. Isso é válido em JSON, e qualquer analisador de JSON os converte novamente em HTML.
Quando o webhook é acionado?
- Apenas para novas publicações. A regra é aplicada às publicações que o Feeder encontra depois que você a salva. Ela não envia publicações que você já tinha.
- Uma vez para cada publicação. Cada publicação correspondente gera sua própria requisição. O Feeder não agrupa publicações. Se o site editar uma publicação mais tarde e o Feeder detectar a alteração, a versão editada também será enviada.
- Logo após a próxima verificação do feed. No Professional, o Feeder verifica os feeds a cada 10 minutos por padrão. Você pode configurar um feed para ser atualizado até a cada minuto. Consulte Com que frequência o Feeder verifica seus feeds.
- Apenas para publicações correspondentes. Com palavras-chave, só as publicações correspondentes são enviadas. Sem palavras-chave, todas as novas publicações são enviadas. Uma publicação ocultada por uma regra Filtrar posts ou Filtrar duplicatas não é enviada.
O que acontece se meu endpoint estiver indisponível?
O Feeder aguarda até 60 segundos por uma resposta. Um status 2xx conta como entrega concluída. Se o endpoint responder com um erro, como 404 ou 500, ou não responder, o Feeder tenta novamente até mais 8 vezes:
| Tentativa | Tempo após a tentativa anterior |
|---|---|
| 2 | 5 segundos |
| 3 | 30 segundos |
| 4 | 1 minuto |
| 5 | 5 minutos |
| 6 | 10 minutos |
| 7 | 30 minutos |
| 8 | 30 minutos |
| 9 | 30 minutos |
Depois da nona tentativa, cerca de 1 hora e 47 minutos após a primeira, o Feeder desiste de enviar aquela publicação. Cada tentativa que falha aparece no registro de erros da regra: abra a regra e selecione Abrir registro de erros. Se você alterar a URL da regra enquanto houver novas tentativas pendentes, as próximas serão enviadas para a nova URL. Enviar mensagem de teste envia uma única mensagem de teste, sem novas tentativas.
O que meu endpoint deve fazer?
- Responder rapidamente. Primeiro responda com um status 2xx e deixe tarefas demoradas para depois, para não se aproximar do limite de 60 segundos.
- Ignorar duplicatas. Se o servidor processar uma mensagem, mas responder tarde demais, ela será enviada novamente na próxima tentativa. Guarde os valores de
message_idoupost.idque já recebeu. - Usar o endereço final. A URL precisa incluir um caminho, como
https://example.com/hooks/rss, e apontar para um servidor na internet pública. O Feeder não envia requisições para endereços de redes locais ou privadas. Evite também redirecionamentos: depois de um redirecionamento 301, 302 ou 303, a requisição chega como GET, sem o corpo JSON. - Verificar a assinatura. Qualquer pessoa que conheça sua URL pode enviar requisições para ela. Por isso, confie apenas em requisições com um
X-Feeder-Signatureválido. A próxima seção mostra como fazer isso.
Como verificar se uma requisição veio do Feeder?
O Feeder assina cada requisição com o segredo do webhook da sua regra. Para encontrá-lo, abra a regra, ative Avançado, copie o Segredo do webhook e salve a regra. O cabeçalho X-Feeder-Signature contém sha256=, seguido do HMAC-SHA256 do corpo da requisição em hexadecimal, calculado com esse segredo.
Para verificar a assinatura, calcule o mesmo HMAC sobre o corpo original, antes de analisar o JSON, e compare os dois valores em tempo constante. Em 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 "")
Neste caso, body é o corpo da requisição em bytes. Rejeite a requisição se from_feeder retornar False. As novas tentativas são assinadas com o segredo atual da regra, portanto, se você alterar o segredo, ele também será usado nessas tentativas.
O Feeder pode enviar um resumo para um webhook?
Não. A regra Postar em Webhook envia uma requisição por publicação assim que o Feeder a encontra. Para criar um resumo, há três opções:
- Agrupar as publicações do seu lado. Armazene cada publicação recebida pelo endpoint e envie seu próprio resumo de acordo com uma programação.
- Usar resumos por e-mail. O Feeder pode enviar por e-mail um resumo diário, semanal ou mensal dos feeds escolhidos, nos planos Plus e Professional. Consulte Receba notificações sobre novas publicações.
- Publicar um feed. No Professional, publique uma pasta ou coleção como feed RSS ou JSON e deixe sua ferramenta acessá-lo de acordo com a própria programação. Consulte Como exportar suas publicações como feeds RSS e JSON.
Como enviar um feed RSS para um webhook com Zapier, Make, IFTTT ou n8n?
Cada ferramenta combina um gatilho de RSS com uma ação HTTP. Conferimos os nomes nos sites de cada ferramenta em 28 de setembro de 2026:
| Ferramenta | Gatilho | Ação | O que você precisa saber |
|---|---|---|---|
| Zapier | RSS by Zapier: Novo item no feed ou Novos itens em vários feeds | Webhooks by Zapier: POST | Webhooks by Zapier é um aplicativo premium, disponível apenas nos planos pagos do Zapier. |
| Make | RSS: Monitorar itens do feed RSS | HTTP: Fazer uma requisição | O módulo RSS lê feeds RSS e Atom. |
| IFTTT | RSS Feed: Novo item no feed | Webhooks: Fazer uma requisição web | O IFTTT verifica os feeds a cada hora no plano gratuito e a cada 5 minutos nos planos Pro e Pro+. |
| n8n | Nó Gatilho de feed RSS | Nó HTTP Request com o método POST | Em Intervalos de consulta, você escolhe com que frequência o feed será verificado. |
Essas ferramentas são a opção mais rápida se você já usa uma delas. Você também pode combiná-las com o Feeder: configure uma regra Postar em Webhook para usar um gatilho Catch Hook do Zapier ou um nó Webhook do n8n. Assim, o Feeder monitora os feeds e filtra as publicações, e seu fluxo de trabalho cuida do restante.
Como enviar um feed RSS para um webhook usando um script?
Este script em Python envia cada novo item de um feed para seu webhook. Ele registra os itens enviados em seen.txt, para que cada item seja enviado uma só vez. Na primeira execução, envia todos os itens que estiverem no feed naquele 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))
O script precisa do Python 3 e do pacote feedparser (pip install feedparser). Agende a execução, por exemplo, a cada 15 minutos com o cron: */15 * * * * cd /path/to/folder && python3 rss_to_webhook.py. Se o endpoint responder com um erro, o script para, e a próxima execução tenta enviar o mesmo item novamente.
Perguntas frequentes
Posso enviar um feed RSS para um webhook do Slack, Teams ou Discord com a regra Postar em Webhook?
Não diretamente. O Feeder envia seu próprio formato JSON, não o formato de mensagem esperado por esses aplicativos. Em vez disso, use as regras do Feeder Postar no Slack, Postar no Microsoft Teams ou Postar no Discord, ou use o Zapier, o Make ou o n8n como intermediário.
Qual plano do Feeder inclui webhooks?
Postar em Webhook faz parte do Professional. As regras para filtrar, marcar com estrela ou organizar publicações também funcionam no Plus.
O webhook inclui o artigo completo?
Ele inclui o conteúdo publicado pelo feed. O campo content contém o artigo completo quando o feed o disponibiliza e o resumo quando o feed fornece apenas um resumo.
Posso testar meu endpoint antes de salvar a regra?
Sim. Enviar mensagem de teste envia uma publicação real dos seus feeds para sua URL. Você precisa ter pelo menos um feed com publicações na sua conta.
Experimente o Feeder
O Feeder é um leitor de RSS para web, iOS e Android, com extensões para Chrome, Firefox e Edge. O plano gratuito acompanha até 200 feeds sem anúncios, e os feeds são atualizados a cada 30 minutos, no máximo. O Plus acompanha 2.500 feeds, atualiza-os a cada 5 minutos, no máximo, e inclui resumos por e-mail.
Comece a usar o Feeder gratuitamente