Nœud Code n8nConfigurer Code dans n8n.
Le nœud Code n8n exécute ton propre JavaScript ou Python sur les items qui traversent un workflow. Deux paramètres le pilotent : Language et Mode. Mode choisit entre une exécution unique sur tout le lot et une exécution par item. Utile le jour où aucun nœud livré ne fait la transformation voulue.
Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth
À quoi sert le nœud Code n8n ?
Code exécute le JavaScript ou le Python que tu écris toi-même, au milieu du workflow, sur les items que lui tend le nœud d'avant. La donnée circule en liste d'objets, chacun rangé sous une clé json, et ton script doit rendre cette même forme. Sa raison d'être tient en une phrase : couvrir la transformation ou la logique qu'aucun nœud livré ne sait faire.
Le premier réflexe utile porte sur l'agrégation. Un lot de lignes entre, et ce qui doit ressortir tient en une seule : un total, une valeur maximale, une liste mise bout à bout. Mode réglé sur Run Once for All Items met le lot entier à portée du script, qui renvoie un item unique, prêt à s'écrire dans Google Sheets comme une ligne de synthèse plutôt qu'un tableau à recoller ensuite.
Vient ensuite le travail de forme, fiche par fiche. Les réponses d'API arrivent imbriquées, avec des clés dont personne n'a l'usage, alors qu'une base relationnelle attend des colonnes plates. Run Once for Each Item laisse le script ne regarder qu'un objet à la fois et le remettre à plat : l'insertion dans MySQL cesse d'échouer sur une clé qui n'a jamais été une colonne. Ce que le script renvoie est exactement ce que le nœud suivant reçoit.
Troisième terrain, les calculs que l'interface n'offre pas : une date à cadrer, un JSON à interroger en profondeur, un score composé à partir de trois champs. En JavaScript, $today et $jmespath font ce travail ; côté Python, ce sont _today et _jmespath. Les templates publiés montrent le motif sur des revues de pull request GitHub, où le nœud Code prépare le texte avant de le confier à une chaîne IA.
Reste à savoir quand ne pas y toucher. Un nœud Code n'atteint jamais les credentials, c'est-à-dire les identifiants stockés par n8n : this.getCredentials() et $getCredentials() échouent, et cette barrière est volontaire, elle garde les données d'authentification hors du script. Un appel authentifié appartient donc au nœud HTTP Request, qui gère les credentials, ou au nœud dédié au service. Choisir dynamiquement entre deux credentials se règle avec un nœud Switch placé devant. Et pour se souvenir des fiches déjà traitées d'une exécution à l'autre, plutôt que de les empiler en static data, le nœud Remove Duplicates est prévu pour ça.
Les limites tiennent surtout aux modules. Le bac à sable JavaScript ignore import et export : le chargement passe par require. Sur n8n Cloud, l'import de modules n'est pas supporté ; en auto-hébergé, le module s'installe dans le même environnement que n8n ou l'image Docker officielle s'étend, puis les variables d'environnement NODE_FUNCTION_ALLOW_BUILTIN et NODE_FUNCTION_ALLOW_EXTERNAL l'autorisent. La version décrite ici est la version 2. Pour prendre les bons réflexes avant de se lancer, la Formation n8n couvre ce terrain.
Quels paramètres expose le nœud Code ?
Le nœud Code compte 2 paramètres. Pour chacun : le nœud tel que tu le configures dans n8n, ce que le paramètre change, et nos notes de terrain.
Sommaire des paramètres
Mode
modeCe que tu vois dans n8n
Notes & cas d'usage
Mode fixe le nombre de passages du script sur les données entrantes. Ce réglage se pose en premier.
Paramètres clés
- Run Once for All Items (
runOnceForAllItems) : le code ne tourne qu'une fois, quel que soit le nombre d'items entrants, avec le lot entier sous la main. - Run Once for Each Item (
runOnceForEachItem) : le code tourne autant de fois qu'il y a d'items entrants, un objet à la fois. - JavaScript et Python : la zone de code sous le sélecteur, là où tu écris ce qui s'exécute vraiment.
Language
languageCe que tu vois dans n8n
Notes & cas d'usage
Deux moteurs sont proposés sous Language, et le choix engage surtout les aides intégrées disponibles dans la zone de code. La structure de données à renvoyer, elle, ne bouge pas d'un iota.
Paramètres clés
- JavaScript (
javaScript) : donne accès aux variables luxon comme$todaypour les dates et à$jmespathpour interroger des structures JSON. - Python (
pythonNative) : donne les méthodes et variables intégrées équivalentes,_todaypour les dates et_jmespathpour les requêtes.
Besoin d'aide pour automatiser Code avec n8n ?
L'équipe te répond directement.
Chaque message est lu par une personne.
Nœud Code dans n8n : les questions fréquentes
01Le nœud Code est-il inclus dans n8n, sur Cloud comme en auto-hébergé ?
02Que faut-il configurer avant que le nœud Code fonctionne ?
03Quelles sont les limites du nœud Code ?
04Quand choisir le nœud Code n8n plutôt qu'un autre nœud ?
05n8n ou Make quand il faut du code sur mesure ?
Reçois nos tips intégration chaque semaine.
Pas de spam. Désinscription à tout moment.



