n8n+DiffHook

Déclencheur webhook n8n — propulsé par DiffHook

Arrêtez de sonder les pages et les API depuis n8n. DiffHook surveille la cible pour vous, détecte le diff exact et envoie un webhook signé vers un node Webhook n8n au moment précis où quelque chose change.

Le node HTTP Request de n8n est parfait pour un appel ponctuel, mais il est mal adapté au « déclenche-toi seulement quand cette page change ». Schedule + HTTP Request + node IF fait le boulot, mais le workflow s'exécute 1 440 fois par jour juste pour attraper une seule modification, et chaque exécution vide coûte des minutes d'exécution. DiffHook inverse le flux : vous déclarez une fois ce qu'il faut surveiller, et n8n ne se réveille que lorsque la page bouge vraiment.

n8n

Le hub n8n + DiffHook complet

Toutes les recettes, templates et tarifs n8n au même endroit.

Workflow

Brancher DiffHook sur n8n en 5 étapes

Chaque étape est une action unique — aucun node Code, aucun node Function, aucun cron à surveiller.

01

Ajoutez un node Webhook dans n8n

Créez un nouveau workflow n8n, ajoutez le node déclencheur Webhook, réglez la méthode sur POST et copiez l'URL de production. Laissez l'authentification sur HMAC — DiffHook signe chaque livraison.

02

Créez un moniteur DiffHook

Envoyez un POST sur /v1/monitors avec l'URL à surveiller, un sélecteur CSS ou un JSON path et un intervalle de vérification. DiffHook s'occupe du fetch, du cache et du diff — n8n ne touche jamais à la source.

03

Attachez le webhook n8n comme livraison

Dans la charge utile du moniteur, ajoutez une livraison de type webhook pointant vers l'URL n8n de l'étape 1. DiffHook relance en cas de 5xx, stocke chaque livraison et vous laisse rejouer n'importe laquelle depuis le tableau de bord.

04

Vérifiez la signature HMAC dans n8n

Ajoutez un node Crypto après le node Webhook, calculez un HMAC-SHA256 sur le corps brut avec votre secret de signature DiffHook et comparez au header X-DiffHook-Signature. Rejetez tout ce qui ne correspond pas.

05

Branchez sur la charge utile du changement

Utilisez un node IF pour router le diff — ancienne vs nouvelle valeur, ou texte extrait du sélecteur. Ensuite c'est du n8n standard : publier sur Slack, créer un ticket Jira, mettre à jour Airtable, ou tout ce dont votre workflow a besoin.

Exemple d'API

Un POST crée le moniteur et le déclencheur n8n

Pas de SDK, pas de service de polling, pas de cron. La même requête fonctionne depuis curl, depuis le node HTTP Request de n8n ou depuis votre propre 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"
    }
  ]
}

Workflow importable

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

Récupérez le template JSON depuis GitHub, importez-le dans n8n en un clic, collez votre clé DiffHook et votre secret de signature, et vous avez un pipeline diff-vers-n8n fonctionnel en moins d'une minute.

FAQ

Webhook n8n — questions fréquentes

Pourquoi utiliser DiffHook plutôt que le déclencheur HTTP Request + Schedule de n8n ?
Parce que Schedule + HTTP Request s'exécute peu importe qu'il y ait eu un changement ou non. À un intervalle d'une minute, cela fait 1 440 exécutions par jour contre votre instance n8n juste pour attraper la rare modification. DiffHook gère le polling de son côté et n'appelle n8n que lorsque la valeur a bougé — le compteur d'exécutions du workflow correspond alors au nombre de vrais changements, pas au nombre de vérifications.
Comment DiffHook signe-t-il le webhook ?
Chaque POST vers votre node webhook n8n porte un header X-DiffHook-Signature contenant un HMAC-SHA256 du corps brut de la requête, calculé avec le secret de signature affiché dans votre tableau de bord DiffHook. Dans n8n, utilisez le node Crypto pour recalculer la signature sur $binary.data.data et comparer — rejetez en cas de décalage avant d'exécuter quoi que ce soit d'aval.
À quoi ressemble la charge utile ?
Un objet JSON plat avec monitor_id, event ("change"), url, selector, previous_value, current_value, detected_at et un delivery_id sur lequel dédoublonner. Pour les moniteurs d'API JSON vous obtenez aussi json_path. Le schéma complet est dans la documentation DiffHook, et le template n8n sur GitHub mappe chaque champ dans un item typé.
Puis-je relancer ou rejouer une livraison depuis n8n ?
Oui — chaque livraison est journalisée dans le tableau de bord DiffHook avec le code HTTP renvoyé par n8n. Si n8n était indisponible, vous pouvez rejouer la livraison en un clic ; DiffHook relance aussi automatiquement les réponses 5xx (backoff exponentiel, jusqu'à 24 heures) pour éviter de perdre des changements à cause d'une panne passagère.
Est-ce que cela fonctionne avec n8n en auto-hébergé ?
Oui. La seule condition est que l'URL du webhook n8n soit joignable depuis l'Internet public (un Cloudflare Tunnel, un Tailscale Funnel ou un host public standard font tous l'affaire). DiffHook ne touche jamais directement à votre instance n8n — il envoie simplement un POST à l'URL webhook que vous collez dans le moniteur.

Workflows associés

Aussi parfait avec DiffHook

Mettez au placard votre workflow « Schedule + HTTP Request »

Gratuit pour 3 moniteurs, signé en HMAC sur tous les forfaits, API REST complète. Votre workflow n8n ne tourne que quand il le doit.