← Blog

Automatisation

Webhook n8n qui ne se déclenche plus : la checklist de débogage

Par l’équipe technique HelpApp Pro15 août 20264 min de lecture
Partager
Illustration : Webhook n8n qui ne se déclenche plus : la checklist de débogage

Un scénario n8n qui marchait s'arrête sans alerte. Le coupable est souvent le webhook d'entrée. Voici comment vérifier chaque maillon, du réseau à la charge utile.

n8n fait gagner un temps fou — jusqu'au jour où un scénario cesse de se déclencher, sans erreur, sans notification. Réponse directe : 9 fois sur 10, le problème est en amont — le webhook d'entrée ne reçoit rien, ou reçoit et rejette. Le test qui tranche en premier : appeler l'URL à la main avec curl et lire le code de réponse. Ensuite, la checklist se déroule du plus extérieur (réseau, workflow actif) au plus interne (charge utile, authentification, limites de débit). Voici la marche à suivre.

Le webhook est-il seulement atteint ?

Avant de chercher dans n8n, vérifiez que la requête arrive :

curl -i -X POST https://n8n.exemple.tld/webhook/mon-scenario \
  -H "Content-Type: application/json" -d '{"ping":"test"}'

Le code de réponse oriente immédiatement le diagnostic :

  • 404 avec {"message":"The requested webhook is not registered."} → workflow inactif, ou URL de test (/webhook-test/…) confondue avec la production (/webhook/…).
  • 403 → un reverse proxy, un pare-feu ou Cloudflare bloque les requêtes serveur-à-serveur.
  • Timeout → réseau ou reverse proxy.
  • Rien côté n8n alors que curl passe depuis le serveur → l'émetteur pointe encore vers une ancienne adresse.

Le workflow est-il actif ?

Un webhook de production ne répond que si le workflow est activé (bouton en haut à droite de l'éditeur). Un scénario en brouillon n'écoute que pendant que vous cliquez sur « Execute ». Beaucoup de « pannes » ne sont qu'un workflow désactivé après une modification.

La requête arrive, mais ça casse plus loin ?

Deux causes fréquentes une fois le webhook atteint :

  1. La charge utile a changé : l'émetteur a renommé un champ, imbriqué la structure différemment, changé un format de date. Ouvrez la dernière exécution (onglet « Executions ») et comparez la structure reçue à celle attendue.
  2. L'authentification a expiré : les nœuds suivants appellent souvent une API tierce (Google, HubSpot). Les jetons OAuth expirent, les clés sont révoquées. Le webhook se déclenche, mais l'étape d'API renvoie un 401. Régénérez les credentials du nœud concerné.

Checklist de débogage

  • [ ] curl sur l'URL de production → code de réponse ?
  • [ ] Workflow activé (pas en mode test) ?
  • [ ] Émetteur pointe sur /webhook/… et non /webhook-test/… ?
  • [ ] Reverse proxy / pare-feu / Cloudflare : exception sur /webhook/* ?
  • [ ] Charge utile conforme à ce que le scénario attend (Executions) ?
  • [ ] Credentials des API tierces à jour (pas de 401) ?
  • [ ] Limites de débit (429) et timeouts gérés sur les appels externes ?
  • [ ] Workflow d'erreur + alerte en place ?

La vraie leçon : instrumenter avant que ça casse

Un scénario qui échoue en silence est un scénario mal instrumenté. Ajoutez un workflow d'erreur dans les réglages de n8n : à chaque échec, il envoie une alerte (email, Slack) avec le détail. Vous passez de « on l'a su trois jours après » à « on le sait dans la minute ». C'est le meilleur investissement de temps sur toute automatisation en production.

Questions fréquentes

Pourquoi mon webhook n8n renvoie 404 « not registered » ?

Parce que le workflow n'est pas activé, ou parce que l'émetteur appelle l'URL de test (/webhook-test/…), active seulement pendant l'écoute manuelle dans l'éditeur. Activez le workflow et pointez sur l'URL de production /webhook/….

Le webhook marche en curl mais pas depuis l'outil source, pourquoi ?

Le blocage est en amont de n8n : souvent une règle Cloudflare/WAF qui laisse passer votre requête manuelle mais bloque les requêtes serveur-à-serveur de l'émetteur. Vérifiez les logs Cloudflare et ajoutez une exception sur /webhook/*.

Comment éviter les doublons quand le webhook est réémis ?

Un traitement trop long dépasse le délai d'attente et l'émetteur réémet. Répondez vite (202) puis traitez en asynchrone, et rendez le scénario idempotent avec une clé d'unicité (l'identifiant de l'événement) pour ignorer un rejeu.

Comment être prévenu quand un scénario échoue ?

Configurez un workflow d'erreur global : il se déclenche à chaque échec et envoie une alerte avec le détail. Sans lui, une panne silencieuse se découvre des jours plus tard, quand les données manquent déjà.

Quand faire appel à HelpApp Pro

Quand le webhook arrive, que le workflow est actif, et que ça casse quand même au milieu, retracer le flux demande de la méthode. HelpApp Pro reprend ces scénarios — n8n, Zapier ou Make — pour isoler l'étape fautive, corriger, et ajouter les alertes manquantes. Décrivez votre workflow via le devis en ligne, ou consultez notre page réparation d'automatisations.

Cet article vous a été utile ?

Partager

Besoin d'une intervention ciblée ?

Décrivez le blocage — devis sans engagement, ou rappel sous 2 h ouvrées. Supplément urgence possible.

À lire aussi