n8n+DiffHook

Trigger de webhook n8n — movido pelo DiffHook

Pare de fazer polling de páginas e APIs dentro do n8n. O DiffHook observa o alvo por você, identifica o diff exato e envia um webhook assinado para um nó Webhook do n8n no momento em que algo muda.

O nó HTTP Request do n8n é ótimo para chamadas pontuais, mas é desajeitado para «só rode quando esta página mudar». Schedule + HTTP Request + nó IF até resolve, mas o fluxo executa 1.440 vezes por dia só para pegar uma edição, e cada execução vazia custa minutos. O DiffHook inverte o fluxo: você registra uma vez o que monitorar, e o n8n só acorda quando a página realmente se move.

n8n

O hub completo de n8n + DiffHook

Todas as receitas, templates e planos de n8n em um só lugar.

Fluxo

Conecte o DiffHook ao n8n em 5 passos

Cada passo é uma ação única — sem nó Code, sem nó Function, sem cron para cuidar.

01

Adicione um nó Webhook no n8n

Crie um novo fluxo no n8n, adicione o nó disparador Webhook, defina o método como POST e copie a URL de produção. Deixe a autenticação em HMAC — o DiffHook assina cada entrega.

02

Crie um monitor no DiffHook

Faça POST em /v1/monitors com a URL a monitorar, um seletor CSS ou um JSON path e um intervalo de checagem. O DiffHook cuida do fetch, do cache e do diff — o n8n nunca toca na origem.

03

Anexe o webhook do n8n como entrega

No payload do monitor, adicione uma entrega do tipo webhook apontando para a URL do n8n do passo 1. O DiffHook retenta em 5xx, guarda cada entrega e deixa você reenviar qualquer uma pelo painel.

04

Verifique a assinatura HMAC dentro do n8n

Adicione um nó Crypto após o nó Webhook, calcule HMAC-SHA256 sobre o corpo cru usando seu signing secret do DiffHook e compare com o header X-DiffHook-Signature. Rejeite qualquer coisa que não bater.

05

Ramifique no payload da mudança

Use um nó IF para rotear o diff — valor anterior vs. atual, ou o texto extraído pelo seletor. Daqui em diante é n8n normal: postar no Slack, abrir um ticket no Jira, atualizar o Airtable ou o que o fluxo precisar.

Exemplo de API

Um POST cria o monitor e o trigger do n8n

Sem SDK, sem serviço de polling, sem cron. A mesma requisição funciona pelo curl, pelo nó HTTP Request do n8n ou pelo seu próprio backend.

POST /v1/monitors
POST https://api.diffhook.com/v1/monitors
Authorization: Bearer $DIFFHOOK_API_KEY
Content-Type: application/json

{
  "type": "html_css",
  "url": "https://target.example.com/pricing",
  "css_selector": ".price-plan",
  "interval_seconds": 300,
  "deliveries": [
    {
      "type": "webhook",
      "url": "https://n8n.yourdomain.com/webhook/diffhook-pricing"
    }
  ]
}

Fluxo importável

Comece com um fluxo do n8n pronto

Baixe o template JSON do GitHub, importe no n8n com um clique, cole sua chave DiffHook e o signing secret: em menos de um minuto você tem um pipeline diff-para-n8n rodando.

Perguntas frequentes

Webhook n8n — perguntas comuns

Por que usar DiffHook em vez do trigger HTTP Request + Schedule do n8n?
Porque Schedule + HTTP Request roda tenha havido mudança ou não. Num intervalo de um minuto, são 1.440 execuções por dia contra sua instância do n8n só para capturar a rara edição. O DiffHook faz o polling do seu lado e só chama o n8n quando o valor muda de fato — o contador de execuções do fluxo passa a coincidir com o número de mudanças reais, não com o número de checagens.
Como o DiffHook assina o webhook?
Todo POST para o seu nó webhook do n8n carrega um header X-DiffHook-Signature com um HMAC-SHA256 do corpo cru, usando o signing secret exibido no painel do DiffHook. No n8n, use o nó Crypto para recalcular a assinatura sobre $binary.data.data e comparar — rejeite se não bater, antes que qualquer nó a jusante seja executado.
Como é o payload?
Um objeto JSON plano com monitor_id, event ("change"), url, selector, previous_value, current_value, detected_at e um delivery_id para deduplicar. Para monitores de API JSON também vem json_path. O esquema completo está na documentação do DiffHook, e o template do n8n no GitHub mapeia cada campo num item tipado.
Posso retentar ou reexecutar uma entrega a partir do n8n?
Sim — toda entrega é registrada no painel do DiffHook com o status HTTP devolvido pelo n8n. Se o n8n estiver fora do ar, você reexecuta a entrega com um clique; o DiffHook ainda retenta respostas 5xx automaticamente (backoff exponencial, até 24 horas), para que uma falha pontual não perca mudanças.
Funciona com n8n auto-hospedado?
Sim. A única exigência é que a URL do webhook do n8n seja acessível pela Internet pública (um Cloudflare Tunnel, um Tailscale Funnel ou um host público convencional servem). O DiffHook não toca diretamente na sua instância do n8n — ele apenas faz POST na URL do webhook que você cola no monitor.

Fluxos relacionados

Também excelentes com o DiffHook

Aposente o fluxo «Schedule + HTTP Request»

Grátis para 3 monitores, assinado com HMAC em todo plano, API REST completa. Seu fluxo do n8n só roda quando precisa.