
Le nœud IF est la brique fondamentale de la logique conditionnelle dans N8N. Il évalue une ou plusieurs conditions et dirige vos données vers deux branches distinctes : True (vrai) si les conditions sont remplies, False (faux) dans le cas contraire. Ce guide vous accompagne dans la configuration des conditions sur tous les types de données, la combinaison avec AND/OR, et les options avancées pour des workflows intelligents.
Qu’est-ce que le nœud IF ?
Le nœud IF évalue des conditions et route les données vers l’une des deux sorties : la branche True si la condition est vraie, la branche False si elle est fausse. C’est l’équivalent d’un « si… alors… sinon » dans un langage de programmation.
Contrairement au nœud Switch qui permet plusieurs branches de sortie, le IF propose exactement deux chemins. Cette simplicité le rend idéal pour les décisions binaires : l’utilisateur est-il majeur ? Le panier dépasse-t-il un montant minimum ? L’email est-il valide ?
Structure d’une condition
Chaque condition se compose de trois éléments :
- La valeur à tester : sélectionnez la variable provenant du nœud précédent (prénom, âge, email, etc.)
- Le type de données : String (chaîne), Number (nombre), Boolean (vrai/faux), Date & Time, Array (tableau), Object
- L’opérateur de test : le type de comparaison à effectuer (existe, égal, contient, plus grand que, etc.)
Tests sur les chaînes de caractères (String)
Les chaînes de caractères offrent le plus grand nombre d’opérateurs de test :
- Exists / Does Not Exist : vérifie si la variable est définie
- Is Empty / Is Not Empty : vérifie si la chaîne 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 / Does Not Start With : teste le début de la chaîne
- Ends With / Does Not End With : teste la fin de la chaîne
- Matches Regex / Does Not Match Regex : teste un pattern avec une expression régulière
Utiliser les expressions régulières (Regex)
Les regex permettent des tests avancés sur les chaînes. Quelques exemples courants :
^Val: commence par « Val »tin$: se termine par « tin »^[0-9]+$: contient uniquement des chiffres^[a-zA-Z]+@[a-zA-Z]+\.[a-zA-Z]+$: format email basique
Pour apprendre et tester vos regex, utilisez des outils en ligne comme regexr.com.
Tests sur les nombres (Number)
Les nombres supportent les comparaisons mathématiques :
- Exists / Does Not Exist : vérifie si la variable est définie
- Is Empty / Is Not Empty : vérifie si une valeur est présente
- Equals / Does Not Equal : égalité stricte
- Greater Than / Less Than : comparaisons strictes (> et <)
- Greater Than or Equal / Less Than or Equal : comparaisons inclusives (≥ et ≤)
Exemple pratique : tester si un utilisateur est majeur avec la condition « âge Greater Than or Equal 18 ».
Tests sur les booléens (Boolean)
Les booléens représentent des valeurs vrai/faux :
- Exists / Does Not Exist : vérifie si la variable est définie
- Is Empty / Is Not Empty : vérifie si une valeur est présente
- Is True / Is False : teste directement la valeur booléenne
- Equals / Does Not Equal : compare à une valeur spécifique
Tests sur les dates (Date & Time)
Les dates permettent des comparaisons temporelles :
- Exists / Does Not Exist : vérifie si la date est définie
- Is Empty / Is Not Empty : vérifie si une date est présente
- Equals / Does Not Equal : égalité de date
- Is Before / Is After : comparaisons strictes (avant/après)
- Is Before or Equal / Is After or Equal : comparaisons inclusives
Exemple : vérifier si une date d’inscription est antérieure à une date limite pour appliquer une promotion.
Tests sur les tableaux (Array)
Les tableaux (listes) supportent des tests sur leur contenu et leur taille :
- 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 spécifique
- Length Equals / Does Not Equal : teste le nombre exact d’éléments
- Length Greater Than / Less Than : compare la taille du tableau
Exemple : vérifier si une liste de courses contient au moins un élément avant de générer un récapitulatif.
Tests sur les objets (Object)
Les objets supportent des tests basiques sur leur existence :
- 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
Pour tester les propriétés internes d’un objet (exemple : voiture.couleur), accédez directement à la propriété et testez-la comme une chaîne ou un nombre.
Combiner les conditions avec AND et OR
Vous pouvez ajouter plusieurs conditions au même nœud IF. Entre chaque condition, choisissez l’opérateur logique :
- AND : toutes les conditions doivent être vraies pour que le résultat soit True. Si une seule condition est fausse, le résultat est False.
- OR : au moins une condition doit être vraie pour que le résultat soit True. Le résultat n’est False que si toutes les conditions sont fausses.
Exemple avec AND : le prénom existe ET l’âge est supérieur ou égal à 18 ET l’email n’est pas vide. Les trois conditions doivent être vraies.
Exemple avec OR : l’utilisateur est administrateur OU l’utilisateur est modérateur. Une seule des deux conditions suffit.
Options du nœud IF
Ignore Case
Cette option rend les comparaisons de chaînes insensibles à la casse. « Valentin » sera considéré égal à « valentin » ou « VALENTIN ». Activez cette option pour éviter les erreurs liées aux majuscules/minuscules.
Convert Type Where Required
Cette option convertit automatiquement les types de données si nécessaire. Par exemple, la chaîne « false » ou le nombre 0 seront convertis en booléen False lors d’un test booléen. Utile pour gérer les données provenant de sources hétérogènes.
Panneau Settings
Le panneau Settings contient les options communes à tous les nœuds N8N :
- Always Output Data : envoie toujours des données en sortie, même si le résultat est vide. Évite de bloquer le workflow.
- Execute Once : si plusieurs items arrivent en entrée, n’exécute le nœud que sur le premier. Utile pour les tests.
- Retry On Fail : relance automatiquement en cas d’erreur (jusqu’à 5 tentatives avec un intervalle configurable).
- On Error : définit le comportement en cas d’erreur persistante (Stop Workflow, Continue, Continue with Error Output).
- Note et Display Note In Flow : ajoutez une description visible sous le nœud pour documenter sa fonction.
Cas d’usage du nœud IF
- Validation de formulaire : vérifier que tous les champs obligatoires sont remplis avant traitement.
- Vérification d’âge : rediriger les mineurs vers un message d’erreur ou les majeurs vers le processus d’inscription.
- Filtrage de données : ne traiter que les commandes supérieures à un certain montant.
- Gestion des rôles : appliquer des traitements différents selon le type d’utilisateur (admin, client, invité).
- Détection d’anomalies : alerter si une valeur dépasse un seuil critique.

Dans un nœud IF avec plusieurs conditions liées par AND, que se passe-t-il si une seule condition est fausse ?
Conclusion
Le nœud IF est la base de la logique conditionnelle dans N8N. Avec ses deux branches (True/False), il permet de créer des workflows intelligents qui s’adaptent aux données. Maîtrisez les différents types de tests, combinez les conditions avec AND/OR, et utilisez les options comme Ignore Case pour des comparaisons robustes.
Le point clé à retenir : avec AND, toutes les conditions doivent être vraies ; avec OR, une seule suffit. Pour des routages avec plus de deux branches, utilisez le nœud Switch. 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 et False. Il est adapté aux décisions binaires (oui/non). Le nœud Switch permet de créer plusieurs branches et d’évaluer une cascade de règles. Utilisez IF pour les conditions simples à deux options, Switch pour les routages complexes avec plus de deux destinations.
Sélectionnez la variable à tester, choisissez le type String, puis utilisez l’opérateur ‘Is Not Empty’ pour vérifier que le champ contient du texte. Vous pouvez aussi utiliser ‘Exists’ pour vérifier que la variable est définie, ou ‘Contains’ pour chercher une sous-chaîne spécifique.
Activez l’option ‘Ignore Case’ dans les paramètres du nœud IF. Cette option rend les comparaisons insensibles à la casse : ‘Valentin’ sera considéré égal à ‘valentin’ ou ‘VALENTIN’. Elle s’applique à tous les tests sur les chaînes de caractères.
Cliquez sur ‘Add Condition’ pour ajouter des conditions supplémentaires. Entre chaque condition, choisissez l’opérateur AND (toutes doivent être vraies) ou OR (au moins une doit être vraie). Vous pouvez mélanger les types de données : tester un texte ET un nombre ET un booléen dans le même nœud.
Oui, pour les chaînes de caractères, utilisez l’opérateur ‘Matches Regex’ ou ‘Does Not Match Regex’. Par exemple, ‘^Val’ teste si le texte commence par ‘Val’, ‘tin$’ teste s’il se termine par ‘tin’. Les regex permettent des validations avancées comme les formats d’email ou de téléphone.
Cette option convertit automatiquement les types de données pour les rendre compatibles avec le test. Par exemple, la chaîne ‘false’ ou le nombre 0 seront convertis en booléen False lors d’un test booléen. Utile quand vos données proviennent de sources hétérogènes avec des formats inconsistants.
