Pipedream+DiffHook

Trigger webhook Pipedream — con la potencia de DiffHook

Coloca una entrega webhook DiffHook en una URL de trigger HTTP de Pipedream y el flujo solo correrá cuando la página, la API JSON o el feed vigilado realmente cambie. Sin Scheduled Source, sin diff casero, sin créditos de workflow desperdiciados.

Pipedream es un host fantástico para lógica Node o Python, pero convertir «cuando esta página cambie» en un trigger de Pipedream normalmente implica Scheduled Source + petición HTTP + diff en código + $.service.db para el estado. Eso es mucho JavaScript que mantener solo para evitar ejecutar el flujo cada minuto. DiffHook saca la monitorización fuera de Pipedream para que el flujo solo despierte ante la señal real.

Flujo

Conecta DiffHook a Pipedream en 5 pasos

Sin Scheduled Source, sin clave de estado, sin código de diff. Un POST crea el pipeline.

01

Crea un flujo de Pipedream con un trigger HTTP

En Pipedream, arranca un nuevo flujo y elige el trigger HTTP / Webhook. Pipedream te da una URL tipo https://eoXXX.m.pipedream.net — cópiala para el paso 3.

02

Elige la fuente que debe vigilar DiffHook

Decide qué se mueve: una URL con selector CSS, una API JSON con JSONPath o un feed RSS. DiffHook se encarga del fetch, la caché y el diff — Pipedream solo tiene que recibir eventos.

03

POSTea un monitor con una entrega Pipedream

Registra el monitor con una entrega de tipo webhook cuya URL sea tu endpoint de Pipedream. DiffHook arranca las comprobaciones al intervalo que elijas y hace POST solo ante cambios reales.

04

Verifica la firma HMAC en un code step

Añade un code step Node.js que recalcule HMAC-SHA256 sobre steps.trigger.event.body con tu secreto de firma de DiffHook, lo compare con la cabecera X-DiffHook-Signature y termine el flujo si no coincide.

05

Ejecuta la lógica real del flujo

Ya estás en territorio Pipedream normal: consultar una base, llamar a un LLM, publicar en Slack, actualizar un CRM. El flujo solo corre cuando DiffHook dice que algo se movió — sin throttling, sin ejecuciones inactivas.

Ejemplo de API

Un monitor respaldado por Pipedream, un POST

El endpoint de Pipedream va directo a deliveries[0].url. DiffHook se ocupa de retry, replay y entrega cross-región.

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/changelog",
  "css_selector": ".entry:first-child",
  "interval_seconds": 300,
  "deliveries": [
    {
      "type": "webhook",
      "url": "https://eoabc123.m.pipedream.net"
    }
  ]
}

Flujo importable

Arranca con un flujo Pipedream ya hecho

Un Gist de GitHub con el step de verificación HMAC, un parser de cuerpo JSON y un destino Slack / Discord. Forkéalo, pega tu secreto de firma DiffHook, despliega.

FAQ

Webhook Pipedream — preguntas frecuentes

¿Por qué no usar la Scheduled Source de Pipedream y sondear yo mismo la URL?
Puedes — pero acabas reconstruyendo DiffHook en un code step. El estado (para deduplicar), los reintentos (para 5xx), el backoff (para 429) y la lógica de diff («qué ha cambiado de verdad») pasan a ser tu problema. DiffHook hace todo eso en un POST. El flujo de Pipedream se queda centrado en la lógica de negocio posterior.
¿Cómo verifico la firma HMAC en Pipedream?
Un code step Node.js de seis líneas: calcula crypto.createHmac('sha256', secret).update(steps.trigger.event.body).digest('hex') y compáralo con steps.trigger.event.headers['x-diffhook-signature']. Si no coincide, llama a $.flow.exit(). La plantilla de Pipedream en GitHub trae el código exacto.
¿Qué hay en el cuerpo del webhook?
Un objeto JSON plano: monitor_id, event ("change"), url, selector o json_path, previous_value, current_value, detected_at y delivery_id. Para monitores renderizados, también render_engine y render_status. El esquema completo está versionado y documentado.
¿Pipedream aguanta el pico cuando creo un monitor?
DiffHook throttlea la primera entrega para que un monitor recién creado no inunde Pipedream en su fetch inicial de baseline. Los cambios tras la baseline se disparan a medida que ocurren — siempre puedes poner un filtro de entrega en DiffHook para agruparlos por hora si el flujo tiene límites de throughput sostenidos.
¿Funciona con Pipedream Connect / flujos servidor?
Sí — el webhook DiffHook es un POST HTTP firmado, así que cualquier producto de Pipedream que exponga un endpoint HTTP lo acepta. Connect, Sources y Workflows funcionan igual; solo mete la URL del endpoint en deliveries[0].url del monitor.

Flujos relacionados

También geniales con DiffHook

Deja de escribir código de diff y dedup en Pipedream

Plan gratuito, webhooks firmados con HMAC, comprobaciones cada 60 segundos, API REST completa. El flujo de Pipedream solo corre ante cambios reales.