Aller au contenu principal

Gestion des erreurs

Lors de la conception de la logique d’un workflow, il est recommandé de prévoir les erreurs potentielles et de mettre en place une gestion élégante des erreurs. En configurant un Workflow d’erreur, vous pouvez contrôler la manière dont n8n réagit lorsqu’une exécution échoue.

Dépannage des erreurs

Pour diagnostiquer une exécution ayant échoué, vous pouvez :

  • Consulter vos journaux d’exécution, soit pour un workflow spécifique, soit pour tous les workflows auxquels vous avez accès. Vous pouvez également charger les données de la dernière exécution dans le workflow en cours (pour analyse).
  • Activer le flux de logs (« log stream »).

Créer et configurer un Workflow d’erreur

Pour chaque workflow, vous pouvez configurer un Workflow d’erreur dans les Paramètres du workflow. Ce workflow s’exécute automatiquement en cas d’échec de l’exécution principale. Cela vous permet, par exemple, d’envoyer une notification par e-mail ou via Slack lorsque votre workflow rencontre une erreur. Le Workflow d’erreur doit commencer par un nœud Error Trigger.

Plusieurs workflows peuvent partager le même Workflow d’erreur.

  1. Créez un nouveau workflow en plaçant un nœud Error Trigger comme premier nœud.
  2. Donnez-lui un nom explicite, par exemple « Error Handler » (Gestionnaire d’erreurs).
  3. Cliquez sur Enregistrer.
  4. Dans le workflow cible (celui que vous souhaitez protéger avec ce gestionnaire d’erreurs) :
    1. Cliquez sur Options Icône « Options » > Paramètres.
    2. Dans le champ Workflow d’erreur, sélectionnez le workflow que vous venez de créer (par exemple Error handler).
    3. Cliquez sur Enregistrer. Désormais, en cas d’erreur dans ce workflow, le Workflow d’erreur associé sera exécuté automatiquement.

Données d’erreur

Les données d’erreur transmises par défaut au nœud Error Trigger sont les suivantes :

[
{
"execution": {
"id": "...",
"url": "...",
"retryOf": null,
"error": {
"name": "NodeOperationError",
"message": "",
"cause": {},
"node": {}
},
"lastNodeExecuted": "Node With Error",
"mode": "manual"
},
"workflow": {}
}
]

Les champs suivants ne sont pas toujours présents :

  • execution.id : nécessite que l’exécution ait été enregistrée dans la base de données. Si l’erreur se produit dans le nœud déclencheur du workflow principal (avant le démarrage effectif de l’exécution), ce champ n’existe pas.
  • execution.url : idem, nécessite un enregistrement en base. Absent si l’erreur survient dans le déclencheur initial.
  • execution.retryOf : présent uniquement si l’exécution actuelle est une tentative de relance suite à un échec précédent.

Si l’erreur provient directement du nœud déclencheur du workflow principal (et non d’une étape ultérieure), la structure des données envoyées au Workflow d’erreur est différente : le champ execution contient moins d’informations, tandis qu’un champ trigger fournit davantage de détails :

{
"trigger": {
"error": {
"name": "WorkflowActivationError",
"cause": {},
"timestamp": 1654609328787,
"message": "",
"node": {}
},
"mode": "trigger"
},
"workflow": {}
}

Utiliser le nœud « Arrêter et signaler une erreur » pour forcer un échec d’exécution

Une fois votre Workflow d’erreur créé et configuré, n8n l’exécute automatiquement en cas d’échec — généralement causé par une erreur de configuration d’un nœud ou une panne lors de l’exécution.

Vous pouvez également insérer un nœud « Arrêter et signaler une erreur » dans votre workflow pour provoquer intentionnellement un échec d’exécution selon des conditions spécifiques, déclenchant ainsi le Workflow d’erreur.