n8n
Automatisation fair-code : relie vos outils en visuel, le Code node quand il faut du sur-mesure.
Vue d'ensemble
n8n est une plateforme d'automatisation de workflows en fair-code : le code source est ouvert mais sous licence restrictive, pas open source au sens OSI. Fondée en 2019, elle compte plus de 400 intégrations. Son abstraction centrale est un graphe orienté de nodes : un node déclencheur lance l'exécution, puis la donnée circule de node en node sous forme de tableau d'items JSON, chaque node recevant les items et renvoyant un tableau transformé. L'éditeur visuel couvre les cas courants ; le Code node prend le relais pour le reste.
Côté agentique, n8n embarque plus de 70 nodes bâtis sur LangChain. Le node AI Agent (Tools Agent) implémente l'appel d'outils de LangChain, et les nodes IA se relient par des connexions typées dédiées : modèle de langage, mémoire, outil, retriever, embedding. On assemble un agent avec ses outils, sa mémoire et un vector store en quelques minutes, sans écrire de code. Cette rapidité dit exactement sa place dans le paysage : faire la liaison et prototyper vite, pas tenir le cœur d'orchestration.
Deux éléments façonnent son économie. La facturation se fait à l'exécution : une exécution complète de workflow compte pour une, quel que soit son nombre d'étapes, là où d'autres outils facturent à la tâche. La montée en charge est une affaire d'exploitation : le mode main exécute tout dans un seul processus, tandis que le mode queue ajoute un broker Redis et un pool de workers que l'on multiplie horizontalement (Postgres requis). L'auto-hébergement est gratuit sous la Sustainable Use License ; les fichiers marqués .ee. exigent une Enterprise License.
Architecture
Deux modèles mentaux couvrent l'essentiel. Un workflow est un graphe de nodes : un déclencheur émet des items, chaque node transforme le tableau d'items, les branches (IF/Switch) divisent le flux et Merge le recombine, le Code node servant d'issue de secours quand aucun node ne convient. La montée en charge est indépendante du graphe : le mode main exécute tout dans un processus, le mode queue confie chaque exécution à un pool de workers arbitré par Redis, que l'on multiplie horizontalement.
Concepts clés
- Node
- Une étape d'un workflow. Il reçoit le tableau d'items entrant, effectue une action (appel HTTP, transformation, condition) et renvoie un tableau d'items. Les nodes s'enchaînent par la connexion de données principale.
- Item
- L'unité de données échangée entre nodes : un objet JSON encapsulé dans { json: {...} }. Un node s'exécute une fois sur tout le tableau d'items (ou une fois par item), et la plupart des bugs viennent d'un oubli : les données d'un webhook arrivent sous .body.
- Node déclencheur
- Le point d'entrée qui démarre une exécution : webhook, planification (cron) ou événement applicatif. En mode queue, le déclencheur réside sur l'instance main, qui crée l'exécution sans la lancer elle-même.
- Code node
- L'issue de secours : du JavaScript ou du Python exécuté dans le workflow. On lit la donnée via $input.all() / $input.first() et on renvoie [{ json: {...} }]. À réserver à la logique qu'aucun node n'exprime ; le jour où il porte de la logique métier qu'on veut tester, c'est le signe qu'il faut la sortir de n8n.
- Node AI Agent
- Un node basé sur LangChain où un LLM choisit et appelle des outils pour atteindre un objectif. Le Tools Agent implémente l'appel d'outils de LangChain ; modèle, mémoire, outils et retriever s'y rattachent par des connexions typées dédiées, distinctes de la connexion de données principale.
- Mode queue
- Le mode de montée en charge : l'instance main envoie les identifiants d'exécution à Redis, un pool de workers les récupère, les exécute et écrit les résultats en base. On monte en charge en ajoutant des workers. Postgres est requis ; SQLite n'est pas supporté.
Quand l'utiliser
Cas adaptés
- Automatisation interne qui relie des SaaS et des APIs : un webhook en entrée, quelques transformations, une écriture vers un CRM ou une base en sortie.
- Tâches déclenchées par webhook ou planifiées, où un flux visuel est plus rapide à livrer et à transmettre qu'un service déployé.
- Prototypage rapide d'un agent IA (outils, mémoire, vector store) pour valider la forme avant de l'engager dans du code.
- Étapes avec intervention humaine : un node d'approbation ou d'attente qui met l'exécution en pause jusqu'à validation, sans construire d'interface.
- Équipes qui veulent un éditeur visuel mais savent descendre dans le Code node pour la part de logique qu'aucun node n'exprime.
Anti-patterns
- Cycles multi-agents à état exigeant un contrôle fin et du checkpointing durable : passez à LangGraph, où l'état et la reprise sont natifs.
- Logique métier qui doit être testée unitairement, relue et versionnée : un graphe de nodes l'héberge mal, déplacez-la dans du code.
- SLA de latence serrés ou fort débit, où le coût d'exploitation du mode queue dépasse celui d'écrire le service vous-même.
- Un workflow qui a débordé au-delà de cinquante à quatre-vingts nodes et n'est plus lisible : l'enchevêtrement lui-même est le signe qu'il faut en sortir.
Exemples de code
Code node : normaliser des items de leads
// Code node, mode "Run Once for All Items"
const items = $input.all();
return items.map((item) => ({
json: {
email: item.json.email?.toLowerCase() ?? null,
domain: item.json.email?.split('@')[1] ?? null,
createdAt: DateTime.now().toISO(),
},
}));Le contrat : lire via $input.all(), renvoyer un tableau d'objets { json }. C'est le cas de liaison pour lequel n8n est fait : une transformation entre un webhook et un CRM.
Code node : appeler une API, gérer les échecs
// Code node: drop to code when no node fits
try {
const scored = await $helpers.httpRequest({
method: 'POST',
url: 'https://api.internal/score',
body: { items: $input.all().map((i) => i.json) },
json: true,
});
return [{ json: { ok: true, scored } }];
} catch (error) {
return [{ json: { ok: false, error: error.message } }];
}Acceptable tant que ça reste de la simple liaison. Le jour où ce node porte une vraie logique métier testée, avec des politiques d'erreur ramifiées, c'est le signal de la sortir vers un service versionné ou un graphe LangGraph.
Comparatif
vs LangGraph
Liaison visuelle vs état code-first
n8n l'emporte sur la largeur d'intégration et le temps jusqu'à la première exécution ; LangGraph l'emporte sur les cycles, les machines à états précises et le checkpointing durable. Prototypez l'agent dans n8n, basculez vers LangGraph quand l'orchestration réclame un vrai état.
vs Make / Zapier
Tarification et contrôle
n8n facture à l'exécution (une exécution complète, quel que soit le nombre d'étapes) là où Make et Zapier facturent à la tâche. Il est auto-hébergeable et son code est ouvert, avec un Code node en issue de secours que les SaaS fermés n'offrent pas.
vs Hand-written code
Vitesse vs contrôle
n8n échange le contrôle fin contre la visibilité et la vitesse. Gardez-le tant que la logique reste de la liaison lisible ; sortez-en le jour où elle devient une brique produit testée, avec des exigences de reproductibilité et de revue.
Ressources
FAQ
- n8n est-il open source ?
- Pas au sens OSI. n8n est en fair-code : le code source est disponible et l'auto-hébergement est gratuit sous la Sustainable Use License, mais l'usage commercial est restreint et les fichiers marqués .ee. exigent une Enterprise License.
- n8n peut-il construire de vrais agents IA ?
- Oui. Il embarque plus de 70 nodes basés sur LangChain, dont un node AI Agent dont le Tools Agent implémente l'appel d'outils de LangChain. Modèle, mémoire, outils et retriever s'y rattachent par des connexions typées dédiées : un agent avec outils et mémoire se monte en quelques nodes.
- Comment n8n monte-t-il en charge ?
- Via le mode queue : l'instance main envoie les identifiants d'exécution à Redis et un pool de workers les exécute, en écrivant les résultats dans Postgres. On monte en charge en ajoutant des workers. SQLite n'est pas supporté dans ce mode.
- n8n ou LangGraph ?
- Utilisez n8n pour la liaison entre outils et pour prototyper des agents vite. Passez à LangGraph quand vous avez besoin de cycles, de machines à états précises ou de checkpointing durable. Les deux forment une séquence, pas une rivalité : n8n d'abord, le code quand l'orchestration le mérite.
- Comment n8n est-il facturé ?
- La tarification cloud se fait à l'exécution : une exécution complète de workflow en vaut une, quel que soit son nombre d'étapes, ce qui revient moins cher que les outils à la tâche pour les flux à plusieurs étapes. L'auto-hébergement est gratuit sous la Sustainable Use License.