Introduction
Tout workflow réel finit par rencontrer un embranchement : envoyer une notification uniquement si un deal dépasse 10 000 $, traiter une commande différemment selon son statut, sauter une étape quand un champ est vide. n8n gère tout cela via le branchement conditionnel — l'exécution est acheminée sur différents chemins en fonction des données réelles qui circulent dans le workflow.
n8n propose deux nœuds pour cela : IF pour les décisions binaires oui/non, et Switch lorsque vous avez besoin de plus de deux issues. Savoir lequel utiliser, et comment configurer précisément les conditions, est ce qui distingue un workflow fragile d'un workflow fiable en production.
Le nœud IF : branchement binaire
Le nœud IF évalue une ou plusieurs conditions par rapport à vos données d'entrée et achemine chaque item soit vers la sortie TRUE, soit vers la sortie FALSE. Aucun item ne va aux deux — chaque item choisit exactement un chemin.
Pour le configurer, vous choisissez une valeur dans vos données entrantes (généralement une référence à un champ via la syntaxe d'expression), vous choisissez un opérateur, et vous définissez une valeur de comparaison. n8n prend en charge un éventail d'opérateurs selon le type de données :
Pour les chaînes : equals, not equals, contains, starts with, ends with, regex match. Pour les nombres : equals, not equals, greater than, less than, greater than or equal, less than or equal. Pour les booléens : is true, is false. Pour les tableaux et objets : is empty, is not empty.
Voici un exemple simple : un webhook reçoit des données de commande et vous souhaitez acheminer les commandes à forte valeur vers un canal Slack dédié.
Dans le nœud IF vous définiriez : Value 1 — expression référençant le champ du montant de la commande ; Operation — Greater Than ; Value 2 — 10000
Les items dont le montant dépasse 10 000 sortent par la sortie TRUE. Tous les autres sortent par FALSE. Vous connectez ensuite chaque sortie à ses propres nœuds en aval.
Vous pouvez empiler plusieurs conditions dans un seul nœud IF en utilisant AND (toutes doivent être satisfaites) ou OR (il suffit qu'une seule le soit). Gardez à l'esprit que les chaînes AND deviennent difficiles à lire au-delà de trois conditions — à ce stade, les répartir dans des nœuds IF séquentiels ou passer à Switch est généralement plus clair.
Le nœud Switch : issues multiples
Lorsque vous avez plus de deux routes possibles, empiler des nœuds IF devient vite confus. Switch vous permet de définir plusieurs règles, chacune avec sa propre sortie, évaluées de haut en bas. La première règle qui correspond l'emporte, et l'item sort par cette sortie.
Switch dispose également d'une sortie Fallback — les items qui ne correspondent à aucune règle atterrissent ici. Connectez toujours quelque chose à la sortie de repli, même s'il s'agit juste d'un nœud No Operation, afin de savoir ce qu'il est advenu des items non appariés.
Un exemple concret : vous recevez des tickets de support et vous souhaitez les router selon leur priorité.
Dans n8n, vous configurez chaque règle de la même manière qu'une condition IF — vous choisissez un champ, un opérateur et une valeur de comparaison. La différence est que chaque règle dispose de son propre connecteur de sortie numéroté sur le nœud.
Une subtilité à connaître : par défaut, Switch achemine chaque item uniquement vers la première règle correspondante. Si vous activez le toggle « Send data to all matching outputs », un item peut sortir simultanément par plusieurs sorties. C'est utile mais cela peut entraîner des actions en aval dupliquées si vous ne vous y attendez pas — laissez-le désactivé sauf si vous avez explicitement besoin d'un comportement de fan-out.
Erreurs courantes
Les incompatibilités de types provoquent davantage d'échecs silencieux que toute autre chose. Si votre champ entrant contient la chaîne « 1500 » et que vous la comparez avec Greater Than 1000 en utilisant un opérateur Number, n8n peut ne pas convertir la chaîne automatiquement selon la provenance des données. Utilisez un nœud Set ou une expression comme parseInt() pour normaliser les types avant le branchement.
Une autre erreur fréquente consiste à laisser la sortie FALSE d'un nœud IF ou la sortie Fallback d'un nœud Switch non connectée. n8n ne lèvera pas d'erreur — ces items disparaissent simplement de l'exécution. Dans un workflow qui traite des fiches clients, des suppressions silencieuses comme celle-ci peuvent être difficiles à déboguer par la suite. Connectez chaque sortie à quelque chose, même à une simple étape de logging.
Méfiez-vous également des champs vides ou null. Comparer une valeur null avec « equals some string » évaluera à false, ce qui est généralement ce que vous souhaitez — mais « is empty » et « is not empty » se comportent différemment de « equals empty string ». Testez avec de véritables payloads null, pas seulement avec des chaînes vides.
Résumé
Utilisez le nœud IF lorsque votre décision est binaire — TRUE ou FALSE, oui ou non, correspondance ou non. Utilisez Switch lorsque vous avez trois issues distinctes ou plus et que vous souhaitez des chemins de sortie propres et séparés sans enchaîner plusieurs nœuds IF. Dans les deux cas, gérez toujours explicitement le chemin non correspondant, normalisez les types de données avant la comparaison et testez avec des entrées limites (null, chaînes vides, types inattendus) avant de passer en production. Ces deux nœuds sont la fondation de tout workflow qui implémente une véritable logique conditionnelle.
Point de contrôle de la leçon