
Le nœud Switch de N8N permet de diriger vos données vers différentes branches de votre workflow en fonction de conditions. Contrairement au nœud IF qui propose uniquement deux sorties (vrai/faux), le Switch peut gérer plusieurs règles et orienter les données vers la première condition validée. Ce guide vous accompagne dans la configuration des règles, les types de tests disponibles, le mode Expression pour des conditions complexes, et les options avancées de gestion des cas non prévus.
Qu’est-ce que le nœud Switch ?
Le nœud Switch évalue une série de règles dans l’ordre et envoie les données vers la première branche dont la condition est vraie. Si aucune règle ne correspond, les données peuvent être ignorées, redirigées vers une sortie par défaut, ou envoyées vers une branche spécifique selon votre configuration.
Ce comportement séquentiel est fondamental : le Switch teste la première règle, si elle est vraie, les données sortent par cette branche et les règles suivantes ne sont pas évaluées. Si elle est fausse, il passe à la deuxième règle, et ainsi de suite.
Mode Rules : configurer des règles simples
Le mode Rules est le plus intuitif. Chaque règle se compose de trois éléments : la variable à tester, le type de comparaison, et la valeur de référence.
Créer une première règle
Sélectionnez la variable à tester dans le premier champ. N8N détecte automatiquement les données disponibles en entrée. Choisissez ensuite le type de test selon le type de données :
Tests sur les chaînes de caractères
- Exists / Does Not Exist : vérifie si la variable est définie ou non
- Is Empty / Is Not Empty : vérifie si la chaîne est vide ou contient du texte
- Equals / Does Not Equal : compare à une valeur exacte
- Contains / Does Not Contain : vérifie la présence d’une sous-chaîne
- Starts With / Ends With : teste le début ou la fin de la chaîne
- Matches Regex / Does Not Match Regex : utilise une expression régulière pour des patterns complexes
Tests sur les nombres
- Exists / Does Not Exist : vérifie si la variable est définie
- Is Empty / Is Not Empty : vérifie si la valeur est présente
- Equals / Does Not Equal : égalité stricte
- Greater Than / Less Than : comparaisons strictes
- Greater Than or Equal / Less Than or Equal : comparaisons inclusives
Tests sur les booléens
- Exists / Does Not Exist : vérifie si la variable est définie
- Is True / Is False : teste la valeur booléenne
- Equals / Does Not Equal : compare à une valeur spécifique
Tests sur les dates
- Exists / Does Not Exist : vérifie si la date est définie
- Equals / Does Not Equal : égalité de date
- Is Before / Is After : comparaisons temporelles
Tests sur les tableaux
- Exists / Does Not Exist : vérifie si le tableau est défini
- Is Empty / Is Not Empty : vérifie si le tableau contient des éléments
- Contains / Does Not Contain : vérifie la présence d’un élément
- Length Equals / Greater Than / Less Than : teste le nombre d’éléments
Tests sur les objets
- Exists / Does Not Exist : vérifie si l’objet est défini
- Is Empty / Is Not Empty : vérifie si l’objet contient des propriétés
Ajouter plusieurs règles
Cliquez sur Add Rule pour créer des branches supplémentaires. Chaque règle génère une nouvelle sortie dans le nœud. L’option Rename Output permet de nommer chaque branche pour une meilleure lisibilité (exemple : « Majeur », « Mineur », « Non renseigné »).
Rappel important : le Switch évalue les règles dans l’ordre. Dès qu’une règle est vraie, les données sortent par cette branche et les règles suivantes sont ignorées. Ordonnez vos règles de la plus spécifique à la plus générale.
Gérer les cas non prévus
Que se passe-t-il si aucune règle n’est validée ? Par défaut, les données ne sortent d’aucune branche et sont perdues. L’option Fallback Output permet de définir un comportement alternatif :
- None (défaut) : les données ne sortent pas si aucune condition n’est vraie
- Extra Output : crée une branche supplémentaire qui capture tous les cas non prévus. Utile pour déclencher une alerte ou loguer les anomalies
- Sortie spécifique : redirige vers une branche existante (exemple : toujours sortir dans la branche 0 si rien ne matche)
Options avancées
Loose Type Validation
Par défaut, N8N vérifie que le type de la variable correspond au type de test sélectionné. Si vous testez un nombre avec un comparateur de chaîne, une erreur s’affiche. L’option Loose Type Validation permet de convertir automatiquement les types : le nombre 32 sera converti en chaîne « 32 » pour le test.
Ignore Case
Pour les comparaisons de chaînes, l’option Ignore Case rend les tests insensibles à la casse. « Valentin » sera considéré égal à « valentin » ou « VALENTIN ».
Send Data to All Matching Outputs
Par défaut, les données sortent uniquement par la première branche validée. En activant Send Data to All Matching Outputs, les données sont envoyées vers toutes les branches dont la condition est vraie. Utile si vous souhaitez déclencher plusieurs traitements parallèles basés sur des critères différents.
Mode Expression : conditions complexes
Le mode Expression permet d’écrire des conditions JavaScript pour des cas que le mode Rules ne peut pas gérer, comme les comparaisons combinées (valeur entre X et Y).
Structure d’une expression
L’expression doit retourner un nombre correspondant à l’index de la sortie (0, 1, 2, 3…). Voici un exemple pour router selon le kilométrage d’une voiture :
{{
(() => {
const km = $json.voiture.kilometres;
if (km < 20000) return 0;
if (km >= 20000 && km < 100000) return 1;
if (km >= 100000 && km < 200000) return 2;
return 3;
})()
}}
Cette expression teste le kilométrage et retourne :
- 0 : moins de 20 000 km (véhicule récent)
- 1 : entre 20 000 et 100 000 km (usage normal)
- 2 : entre 100 000 et 200 000 km (usage intensif)
- 3 : plus de 200 000 km (véhicule âgé)
Le mode Expression offre une flexibilité totale mais nécessite des connaissances en JavaScript. Pour les cas simples, privilégiez le mode Rules plus lisible et maintenable.
Panneau Settings
Le panneau Settings contient les options communes à tous les nœuds N8N :
- Always Output Data : envoie toujours des données même en cas d'erreur
- Execute Once : exécute le nœud une seule fois même si plusieurs items arrivent en entrée
- Retry On Fail : relance automatiquement en cas d'échec (jusqu'à 5 tentatives)
- On Error : définit le comportement en cas d'erreur (Stop Workflow, Continue, Continue with Error Output)
- Note et Display Note In Flow : ajoutez une description visible sous le nœud
Switch vs IF : quelle différence ?
Le nœud IF propose deux sorties : True et False. Il est adapté aux conditions binaires simples (oui/non, vrai/faux). Le nœud Switch permet de créer autant de branches que nécessaire et d'évaluer plusieurs conditions en cascade.
Utilisez IF pour les décisions simples à deux options. Utilisez Switch pour les routages complexes avec plusieurs destinations possibles ou des conditions multiples.

Dans un nœud Switch N8N avec plusieurs règles, que se passe-t-il quand les données correspondent à la deuxième règle ?
Conclusion
Le nœud Switch est essentiel pour créer des workflows intelligents qui s'adaptent aux données. En évaluant des règles dans l'ordre, il permet de router les informations vers la bonne branche de traitement. Le mode Rules couvre la majorité des cas d'usage, tandis que le mode Expression offre une flexibilité totale pour les conditions complexes.
Le point clé à retenir : les règles sont évaluées dans l'ordre, de haut en bas. Dès qu'une condition est vraie, les données sortent et les règles suivantes sont ignorées. Ordonnez vos conditions de la plus spécifique à la plus générale. Pour aller plus loin, explorez nos autres ressources N8N ou contactez notre équipe pour concevoir des workflows conditionnels adaptés à vos besoins métier.
Le nœud IF propose deux sorties (True/False) pour des conditions binaires. Le nœud Switch permet de créer plusieurs branches et d'évaluer une cascade de règles. Utilisez IF pour les décisions simples oui/non, et Switch pour les routages avec plus de deux destinations possibles.
Le Switch évalue les règles de haut en bas, dans l'ordre où elles apparaissent. Dès qu'une règle est vraie, les données sortent par cette branche et les règles suivantes ne sont pas testées. Ordonnez vos conditions de la plus spécifique à la plus générale.
Par défaut, les données ne sortent d'aucune branche et sont perdues. Utilisez l'option 'Fallback Output' pour définir un comportement alternatif : créer une branche 'Extra Output' pour capturer les cas non prévus, ou rediriger vers une branche existante.
Le mode Rules ne permet pas les comparaisons combinées (entre X et Y). Utilisez le mode Expression avec du JavaScript : if (valeur >= 10 && valeur <= 50) return 0. L'expression doit retourner l'index de la sortie (0, 1, 2...).
Par défaut, les données sortent uniquement par la première branche validée. En activant cette option, les données sont envoyées vers TOUTES les branches dont la condition est vraie. Utile pour déclencher plusieurs traitements parallèles basés sur des critères différents.
Si le type de la variable ne correspond pas au type de test (exemple : tester un nombre avec un comparateur de chaîne), N8N affiche une erreur. Activez l'option 'Loose Type Validation' pour convertir automatiquement les types et éviter ces erreurs.
