n8n+DiffHook

Trigger webhook n8n — con la potencia de DiffHook

Deja de sondear páginas y APIs desde n8n. DiffHook vigila la fuente por ti, detecta el diff exacto y envía un webhook firmado a un nodo Webhook de n8n en el instante en que algo cambia.

El nodo HTTP Request de n8n es perfecto para una llamada puntual, pero es una herramienta torpe para «ejecuta solo cuando esta página cambie». Schedule + HTTP Request + nodo If cumple, pero el flujo corre 1.440 veces al día solo para atrapar una edición, y cada ejecución vacía te cuesta minutos de ejecución. DiffHook invierte el flujo: registras una vez qué vigilar, y n8n solo despierta cuando la página se mueve de verdad.

n8n

El hub completo de n8n + DiffHook

Todas las recetas, plantillas y precios de n8n en un solo lugar.

Flujo

Conecta DiffHook con n8n en 5 pasos

Cada paso es una acción única — ningún nodo Code, ningún nodo Function, ningún cron que vigilar.

01

Añade un nodo Webhook en n8n

Crea un flujo nuevo en n8n, añade el nodo disparador Webhook, pon el método a POST y copia la URL de producción. Deja la autenticación en HMAC — DiffHook firma cada entrega.

02

Crea un monitor DiffHook

Haz POST a /v1/monitors con la URL que quieras vigilar, un selector CSS o una ruta JSON y un intervalo de comprobación. DiffHook se encarga del fetch, la caché y el diff — n8n nunca toca la fuente.

03

Adjunta el webhook n8n como entrega

En la carga útil del monitor, añade una entrega de tipo webhook apuntando a la URL de n8n del paso 1. DiffHook reintenta en 5xx, guarda cada entrega y te deja reenviar cualquiera desde el panel.

04

Verifica la firma HMAC dentro de n8n

Añade un nodo Crypto después del Webhook, calcula HMAC-SHA256 sobre el cuerpo bruto con tu secreto de firma de DiffHook y compara con la cabecera X-DiffHook-Signature. Rechaza todo lo que no cuadre.

05

Bifurca según la carga del cambio

Usa un nodo IF para enrutar el diff — valor anterior frente al actual, o el texto extraído por el selector. A partir de aquí es n8n normal: publicar en Slack, crear un ticket de Jira, actualizar Airtable o lo que necesite tu flujo.

Ejemplo de API

Un POST crea el monitor y el trigger de n8n

Sin SDK, sin servicio de polling, sin cron. La misma petición funciona desde curl, desde el nodo HTTP Request de n8n o desde tu propio 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"
    }
  ]
}

Flujo importable

Arranca con un flujo n8n ya hecho

Descarga la plantilla JSON desde GitHub, impórtala en n8n con un clic, pega tu clave DiffHook y tu secreto de firma, y tendrás un pipeline diff-a-n8n funcionando en menos de un minuto.

FAQ

Webhook n8n — preguntas frecuentes

¿Por qué usar DiffHook en vez del trigger HTTP Request + Schedule de n8n?
Porque Schedule + HTTP Request se ejecuta haya cambiado algo o no. En un intervalo de un minuto son 1.440 ejecuciones al día contra tu instancia n8n solo para cazar la rara edición. DiffHook hace el polling por su lado y solo llama a n8n cuando el valor se ha movido, así que el contador de ejecuciones del flujo coincide con el número de cambios reales — no con el número de comprobaciones.
¿Cómo firma DiffHook el webhook?
Cada POST al nodo webhook de n8n lleva una cabecera X-DiffHook-Signature con un HMAC-SHA256 del cuerpo bruto, calculado con el secreto de firma que aparece en tu panel DiffHook. En n8n, usa el nodo Crypto para recalcular la firma sobre $binary.data.data y compararla — rechaza si no coincide antes de que ningún nodo posterior se ejecute.
¿Cómo es la carga útil?
Un objeto JSON plano con monitor_id, event ("change"), url, selector, previous_value, current_value, detected_at y un delivery_id sobre el que puedes deduplicar. Para monitores de API JSON también obtienes json_path. El esquema completo está en la documentación de DiffHook, y la plantilla n8n en GitHub mapea cada campo a un item tipado.
¿Puedo reintentar o reenviar una entrega desde n8n?
Sí — cada entrega queda registrada en el panel DiffHook con el código HTTP que devolvió n8n. Si n8n estaba caído, puedes reenviar la entrega con un clic; DiffHook también reintenta 5xx automáticamente (backoff exponencial, hasta 24 horas) para que una incidencia puntual no te haga perder cambios.
¿Funciona con n8n autoalojado?
Sí. El único requisito es que la URL del webhook de n8n sea accesible desde Internet (un Cloudflare Tunnel, un Tailscale Funnel o un host público estándar valen). DiffHook no toca tu instancia n8n directamente — simplemente hace POST a la URL del webhook que pegas en el monitor.

Flujos relacionados

También genial con DiffHook

Jubila ese flujo de «Schedule + HTTP Request»

Gratis para 3 monitores, firmado con HMAC en todos los planes, API REST completa. Tu flujo n8n solo corre cuando toca.