Pipedream+DiffHook

Déclencheur webhook Pipedream — propulsé par DiffHook

Collez une livraison webhook DiffHook sur une URL de trigger HTTP Pipedream et le workflow ne tourne que quand la page, l'API JSON ou le flux surveillé change réellement. Pas de Scheduled Source, pas de diff écrit à la main, pas de crédits workflow gaspillés.

Pipedream est un excellent hôte pour de la logique Node ou Python, mais transformer « quand cette page change » en trigger Pipedream signifie d'ordinaire Scheduled Source + requête HTTP + diff-en-code + $.service.db pour l'état. Ça fait beaucoup de JavaScript à maintenir juste pour éviter de faire tourner le workflow toutes les minutes. DiffHook déplace le monitoring hors de Pipedream pour que le workflow ne se réveille que sur le vrai signal.

Workflow

Brancher DiffHook sur Pipedream en 5 étapes

Pas de Scheduled Source, pas de clé d'état, pas de code de diff. Un POST crée la pipeline.

01

Créer un workflow Pipedream avec un trigger HTTP

Dans Pipedream, démarrez un nouveau workflow et prenez le trigger HTTP / Webhook. Pipedream vous donne une URL du type https://eoXXX.m.pipedream.net — copiez-la pour l'étape 3.

02

Choisir la source que DiffHook doit surveiller

Décidez quoi surveiller : une URL avec sélecteur CSS pour un site, une API JSON avec un JSONPath, ou une URL de flux RSS. DiffHook gère le fetch, le cache et le diff — Pipedream n'a qu'à recevoir les événements.

03

POSTer un moniteur avec une livraison Pipedream

Enregistrez le moniteur avec une livraison de type webhook dont l'URL est votre endpoint Pipedream. DiffHook démarre les vérifications à l'intervalle choisi et POST uniquement sur de vrais changements.

04

Vérifier la signature HMAC dans un code step

Ajoutez un code step Node.js qui recalcule HMAC-SHA256 sur steps.trigger.event.body avec votre secret de signature DiffHook, le compare au header X-DiffHook-Signature et termine le workflow en cas de décalage.

05

Exécuter votre logique de workflow

Vous voilà en territoire Pipedream classique : requêter une base, appeler un LLM, poster sur Slack, mettre à jour un CRM. Le workflow ne tourne que quand DiffHook dit que quelque chose a bougé — pas de throttling, pas d'exécution inactive.

Exemple d'API

Un moniteur piloté par Pipedream, un POST

L'endpoint Pipedream va directement dans deliveries[0].url. DiffHook gère retry, replay et livraison cross-région pour vous.

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"
    }
  ]
}

Workflow importable

Démarrez avec un workflow Pipedream prêt à l'emploi

Un Gist GitHub avec le step de vérification HMAC, un parser du corps JSON et une destination Slack / Discord. Forkez, collez votre secret DiffHook, déployez.

FAQ

Webhook Pipedream — questions fréquentes

Pourquoi ne pas utiliser la Scheduled Source de Pipedream pour sonder moi-même l'URL ?
Vous pouvez — mais vous finissez par reconstruire DiffHook dans un code step. L'état (pour dédupliquer), le retry (pour les 5xx), le backoff (pour les 429) et la logique de diff (pour « qu'est-ce qui a vraiment changé ») deviennent votre responsabilité. DiffHook fait tout ça en un POST. Le workflow Pipedream reste concentré sur la logique métier aval.
Comment vérifier la signature HMAC dans Pipedream ?
Un code step Node.js de six lignes : calculez crypto.createHmac('sha256', secret).update(steps.trigger.event.body).digest('hex') et comparez à steps.trigger.event.headers['x-diffhook-signature']. Rejetez en cas de décalage en appelant $.flow.exit(). Le template Pipedream sur GitHub contient le code exact.
Qu'y a-t-il dans le corps du webhook ?
Un objet JSON plat : monitor_id, event ("change"), url, selector ou json_path, previous_value, current_value, detected_at, et delivery_id. Pour les moniteurs rendus, vous obtenez aussi render_engine et render_status. Le schéma complet est versionné et documenté.
Pipedream peut-il encaisser le burst quand je crée un moniteur ?
DiffHook throttle la première livraison pour qu'un moniteur fraîchement créé n'inonde pas Pipedream sur son fetch de baseline. Les changements après baseline partent au fur et à mesure — vous pouvez toujours poser un filtre de livraison dans DiffHook pour les batcher à l'heure si le workflow a des limites de débit soutenues.
Est-ce compatible avec Pipedream Connect / workflows serveur ?
Oui — le webhook DiffHook est un POST HTTP signé, donc n'importe quel produit Pipedream exposant un endpoint HTTP l'accepte. Connect, Sources et Workflows fonctionnent identiquement ; collez simplement l'URL de l'endpoint dans deliveries[0].url sur le moniteur.

Workflows associés

Aussi parfait avec DiffHook

Arrêtez d'écrire du code de diff et de dédup dans Pipedream

Offre gratuite, webhooks signés HMAC, vérifications à 60 secondes, API REST complète. Le workflow Pipedream ne tourne que sur de vrais changements.