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.

diagramme montrant un nœud d'entrée unique se divisant en deux chemins via un nœud IF — un chemin étiqueté TRUE, l'autre FALSE, chacun menant à un nœud d'action différent

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é.

json
Rule 1: priority equals "critical" → Output 0 → PagerDuty node
Rule 2: priority equals "high" → Output 1 → Slack node
Rule 3: priority equals "low" → Output 2 → Email node
Fallback → Output 3 → Log to spreadsheet

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.

diagramme montrant un nœud Switch avec une entrée et quatre branches de sortie étiquetées critical, high, low et fallback, chacune connectée à un nœud d'action différent

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

1. Quels sont les deux chemins de sortie d'un nœud IF dans n8n ?

2. Quand devriez-vous privilégier le nœud Switch plutôt que d'enchaîner plusieurs nœuds IF ?

3. Dans un nœud Switch, qu'advient-il des items qui ne correspondent à aucune règle définie ?

4. Quel est le risque de laisser la sortie FALSE d'un nœud IF non connectée ?

5. Vous recevez un champ sous forme de chaîne « 1500 » et vous le comparez avec Greater Than 1000 via un opérateur Number. Quelle est l'approche la plus sûre ?

6. Que fait l'activation de « Send data to all matching outputs » sur un nœud Switch ?

7. Lorsque l'on combine plusieurs conditions dans un seul nœud IF avec la logique AND, qu'est-ce qui est requis pour qu'un item emprunte le chemin TRUE ?