Condition
Créez une logique conditionnelle et des embranchements dans vos workflows
Le bloc Condition vous permet d'embrancer le chemin d'exécution de votre workflow en fonction d'expressions booléennes. Il évalue les conditions et achemine le workflow en conséquence, vous permettant de créer des workflows dynamiques et réactifs avec différents chemins d'exécution.

Les blocs Condition permettent une prise de décision déterministe sans nécessiter de LLM, ce qui les rend idéaux pour les logiques d'embranchement simples.
Vue d'ensemble
Insérer une branche après avoir connecté les sorties
Cliquez sur + Ajouter une condition entre les cartes pour insérer une condition vide à cet endroit. Le dernier bouton, juste avant Else, ajoute une condition à la fin. Aucune boîte de dialogue ni aucun panneau contextuel ne s'ouvre. Les connexions existantes restent attachées à leurs conditions ; la nouvelle condition démarre sans connexion.
Faites glisser une condition par sa poignée à gauche, ou utilisez les flèches haut/bas, pour changer l'ordre d'évaluation. Les expressions et les connexions suivent la condition. Else reste toujours en dernier. Chaque insertion ou déplacement terminé constitue une étape d'annulation/rétablissement. Appuyez sur Échap pour annuler un glissement en cours. En cas de conflit avec une autre modification, vérifiez les branches actuelles avant de réessayer.
Le bloc Condition vous permet de :
Créer une logique d'embranchement : Acheminer les workflows en fonction d'expressions booléennes
Prendre des décisions basées sur les données : Évaluer des conditions à partir des sorties des blocs précédents
Gérer plusieurs scénarios : Définir plusieurs conditions avec des chemins différents
Fournir un acheminement déterministe : Prendre des décisions sans nécessiter de LLM
Fonctionnement
Le bloc Condition fonctionne selon un processus d'évaluation séquentielle :
- Évaluer l'expression - Traite l'expression booléenne en utilisant les données actuelles du workflow
- Déterminer le résultat - Renvoie vrai ou faux en fonction de l'évaluation de l'expression
- Acheminer le workflow - Dirige l'exécution vers le bloc de destination approprié en fonction du résultat
- Fournir du contexte - Génère des métadonnées sur la décision pour le débogage et la supervision
Options de configuration
Conditions
Définissez une ou plusieurs conditions à évaluer. Chaque condition comprend :
- Expression : Une expression de données qui s'évalue à vrai ou faux (voir Syntaxe d'expression prise en charge)
- Chemin : Le bloc de destination vers lequel acheminer si la condition est vraie
- Description : Explication optionnelle de ce que vérifie la condition
Vous pouvez créer plusieurs conditions évaluées dans l'ordre, la première condition correspondante déterminant le chemin d'exécution.
Format des expressions de condition
Les conditions utilisent un sous-ensemble sûr, limité aux données, de la syntaxe d'expression JavaScript et peuvent référencer des valeurs d'entrée des blocs précédents. Les expressions sont évaluées par un interpréteur strict — et non par eval() — de sorte que seules les constructions listées dans Syntaxe d'expression prise en charge sont disponibles.
// Check if a score is above a threshold
<agent.score> > 75Accéder aux résultats
Après l'évaluation d'une condition, vous pouvez accéder à ses sorties :
<condition.result>: Résultat booléen de l'évaluation de la condition<condition.matched_condition>: Identifiant de la condition qui a correspondu<condition.content>: Description du résultat de l'évaluation<condition.path>: Détails de la destination d'acheminement choisie
Fonctionnalités avancées
Expressions complexes
Combinez les opérateurs et les méthodes prises en charge sur les chaînes, les tableaux et les nombres :
// String operations
<user.email>.endsWith('@company.com')
// Array operations
<api.tags>.includes('urgent')
// Mathematical operations
<agent.confidence> * 100 > 85
// Nested values and indexes
<api.result>.status === 'ok' && <api.items>[0].id === 42
// Fallback for a null value
(<api.label> ?? 'none') !== 'none'Syntaxe d'expression prise en charge
Les conditions sont évaluées par un interpréteur strict sur les données de votre workflow. Tout ce qui sort de cette liste fait échouer l'étape avec une erreur explicite au lieu de s'exécuter.
Pris en charge
- Littéraux : nombres, chaînes entre guillemets simples ou doubles,
true,false,null - Références aux sorties des blocs précédents, et lectures en dessous —
<api.result>.status,<api.items>[0],<api.map>['key'] .lengthsur les chaînes et les tableaux- Comparaison :
===,!==,==,!=,<,>,<=,>= - Opérateurs logiques et unaires :
&&,||,!,??,-unaire,typeof - L'opérateur conditionnel (ternaire) :
<agent.score> > 50 ? 'high' : 'low' - Arithmétique et concaténation de chaînes :
+,-,*,/,% - Méthodes de chaîne :
includes,startsWith,endsWith,indexOf,lastIndexOf,trim,trimStart,trimEnd,toLowerCase,toUpperCase,slice,substring,charAt,at,concat,split,replace,replaceAll,toString - Méthodes de tableau :
join,flat - Méthodes de nombre :
toFixed,toPrecision - Littéraux de tableau et d'objet — une référence de bloc dont la valeur est un tableau ou un objet est interpolée sous forme de littéral JSON :
<api.tags>.includes('urgent')s'exécute donc comme["urgent","billing"].includes('urgent')
Non pris en charge
new(y comprisnew Date(...)), les littéraux d'expression régulière et les littéraux de gabarit- Les fonctions fléchées et toute méthode acceptant un rappel (
map,filter,some, …) - L'affectation et le chaînage optionnel (
?.) - Les objets globaux tels que
Math,JSON,Date,processetfetch
Pour les dates, les expressions régulières ou toute transformation hors de ce sous-ensemble, calculez la valeur dans un bloc Function et comparez sa sortie dans le bloc Condition.
Limites
Un bloc Condition prend en charge au maximum 100 conditions, et chaque expression est limitée à 2 000 caractères. Le dépassement d'une limite fait échouer l'étape avec une erreur explicite.
Évaluation de plusieurs conditions
Les conditions sont évaluées dans l'ordre jusqu'à ce qu'une corresponde :
// Condition 1: Check for high priority
<ticket.priority> === 'high'
// Condition 2: Check for urgent keywords
<ticket.subject>.toLowerCase().includes('urgent')
// Condition 3: Default fallback
trueGestion des erreurs
Une expression qui ne peut pas être évaluée fait échouer l'étape — elle ne retombe pas silencieusement sur else. Cela s'applique à :
- Une référence qui ne correspond à aucun bloc, y compris à l'intérieur d'une expression composée
&&/|| - Une syntaxe hors du sous-ensemble pris en charge, comme
new Date(...)ou un littéral d'expression régulière - Une expression ou une liste de conditions qui dépasse les limites documentées
Les valeurs null et undefined sont évaluées en toute sécurité — comparez-les explicitement avec === null ou fournissez une valeur de repli avec ??.
Entrées et sorties
Conditions : Tableau d'expressions booléennes à évaluer
Expressions : Expressions de données sur les sorties des blocs
Chemins d'acheminement : Blocs de destination pour chaque résultat de condition
Exemples d'utilisation
Acheminement du support client
Scénario : Acheminer les tickets de support selon la priorité
- Le bloc API récupère les données du ticket de support
- La condition vérifie si
<api.priority>est égal à 'high' - Tickets haute priorité → Agent avec outils d'escalade
- Tickets priorité normale → Agent de support standard
Modération de contenu
Scénario : Filtrer le contenu en fonction des résultats d'analyse
- L'agent analyse le contenu généré par les utilisateurs
- La condition vérifie si
<agent.toxicity_score>> 0,7 - Contenu toxique → Workflow de modération
- Contenu propre → Workflow de publication
Flux d'intégration des utilisateurs
Scénario : Personnaliser l'intégration selon le type d'utilisateur
- Le bloc Fonction traite les données d'inscription de l'utilisateur
- La condition vérifie si
<user.account_type>=== 'enterprise' - Utilisateurs entreprise → Workflow de configuration avancé
- Utilisateurs individuels → Workflow d'intégration simplifié
Bonnes pratiques
- Ordonnez correctement les conditions : Placez les conditions plus spécifiques avant les conditions générales pour garantir que la logique spécifique ait la priorité sur les cas de repli
- Incluez une condition par défaut : Ajoutez une condition attrape-tout (
true) comme dernière condition pour gérer les cas non correspondants et éviter que l'exécution du workflow ne se bloque - Gardez les expressions simples : Utilisez des expressions booléennes claires et directes pour une meilleure lisibilité et un débogage facilité
- Documentez vos conditions : Ajoutez des descriptions pour expliquer le but de chaque condition afin de faciliter la collaboration en équipe et la maintenance
- Testez les cas limites : Vérifiez que les conditions gèrent correctement les valeurs aux bornes en testant avec des valeurs aux limites de vos plages de condition
