Erreurs de migration fréquentes et comment les corriger
· Par AI Compare
Les dix erreurs que rencontrent les équipes après le passage à n8n, et comment corriger chacune précisément.
Les erreurs les plus fréquentes après une migration vers n8n
1. « Workflow could not be activated » ou webhook qui ne reçoit rien
Cause : l’application source pointe encore vers l’URL de webhook de test, ou le workflow n’est pas actif.
Solution : les webhooks n8n ont une Test URL (qui ne fonctionne que pendant que vous cliquez sur « Listen for test event ») et une Production URL (qui ne fonctionne que lorsque le workflow est actif). Activez le workflow et collez la Production URL dans l’application source. Sur n8n auto-hébergé, définissez WEBHOOK_URL pour que n8n affiche votre domaine public et non localhost.
2. Les planifications s’exécutent à la mauvaise heure
Cause : fuseau horaire non défini.
Solution : définissez GENERIC_TIMEZONE (auto-hébergé) ou le fuseau horaire du workflow dans Workflow settings.
3. Des nœuds s’exécutent trop (ou pas assez) souvent
Cause : une mauvaise compréhension des items. n8n exécute chaque nœud une fois par item entrant. Une étape « Looping » migrée ou un itérateur Make ajouté par-dessus entraîne un double traitement.
Solution : supprimez les boucles inutiles. Utilisez Aggregate pour regrouper les items quand vous voulez une seule sortie (par exemple un message Slack qui résume 20 lignes), ou activez Execute Once sur un nœud.
4. « Cannot read properties of undefined » dans les expressions
Cause : le champ référencé n’existe pas sur certains items, ou vous avez référencé le mauvais nœud.
Solution : utilisez le chaînage optionnel et des valeurs par défaut : {{ $json.customer?.email ?? '' }}. Référencez explicitement les nœuds précédents : {{ $('Stripe Trigger').item.json.data.object.id }}.
5. Erreurs OAuth : « invalid_grant », « redirect_uri_mismatch », jetons qui expirent
Causes et solutions :
- redirect_uri_mismatch : l’URL de redirection dans la console développeur de l’application doit correspondre exactement à celle affichée dans le credential n8n (https, domaine, chemin).
- invalid_grant au bout de 7 jours (Google) : votre application OAuth Google est en mode « Testing ». Publiez-la ou utilisez une application Internal dans Google Workspace.
- Scopes manquants : ajoutez les scopes requis et reconnectez le credential.
Voir le guide des credentials.
6. Doublons après la bascule
Cause : l’ancien Zap ou scénario et le nouveau workflow ont tourné en même temps, ou un webhook a été renvoyé.
Solution : désactivez l’ancienne automatisation au moment où vous activez la nouvelle. Utilisez des upserts (créer ou mettre à jour) et stockez les identifiants externes pour rendre les workflows idempotents.
7. Les formats de date diffèrent de Zapier
Cause : le Formatter de Zapier produisait un format précis ; n8n renvoie des dates ISO.
Solution : formatez explicitement : {{ $json.date.toDateTime().toFormat('dd/MM/yyyy') }}.
8. Fichiers binaires manquants (pièces jointes, PDF)
Cause : les données de fichier se trouvent dans la propriété binary de l’item, pas dans le JSON, et un nœud intermédiaire les a perdues.
Solution : vérifiez le nom de la propriété binaire (par exemple attachment_0 ou data) et indiquez-le dans le nœud qui la reçoit. Certains nœuds (comme Edit Fields) nécessitent d’activer « Include binary data ».
9. Erreurs de limite de débit (429)
Cause : n8n traite les items rapidement et atteint des limites d’API que l’interrogation plus lente de Zapier évitait.
Solution : activez Retry On Fail avec une attente entre les tentatives, utilisez Loop Over Items avec une taille de lot et un nœud Wait, ou les options de traitement par lots du nœud.
10. L’instance auto-hébergée manque de mémoire
Cause : gros fichiers, payloads JSON volumineux ou nombreuses exécutions simultanées sur un petit serveur.
Solution : augmentez la RAM, traitez les données par lots, évitez de garder de gros binaires en mémoire (utilisez le mode binaire « filesystem ») ou passez en queue mode avec des workers.
Des habitudes de débogage qui font gagner des heures
- Épinglez les données du déclencheur pendant la construction pour relancer sans nouvel événement.
- Ouvrez les exécutions en échec et vérifiez l’entrée et la sortie du premier nœud en rouge.
- Ajoutez un workflow Error Trigger qui publie les échecs dans Slack avec le nom du workflow et un lien.
