Accueil » 📂N8N » 📂Noeuds » 🇫🇷 Switch
Guide Complet :  Noeud Switch N8N

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

Tests sur les nombres

Tests sur les booléens

Tests sur les dates

Tests sur les tableaux

Tests sur les objets

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 :

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 :

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 :

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.

Quotien Intellectuel pour illustrer l'apprentissage du noeud N8N

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.

Quelle est la différence entre le nœud Switch et le nœud IF ?

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.

Dans quel ordre le Switch évalue-t-il les règles ?

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.

Que se passe-t-il si aucune règle du Switch n'est validée ?

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.

Comment tester si une valeur est comprise entre deux nombres ?

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

À quoi sert l'option 'Send Data to All Matching Outputs' ?

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.

Comment gérer les erreurs de type dans le Switch ?

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.


Vous recherchez d'autres contenus ?