Passer au contenu principal

Vue d’ensemble

Les nodes de flux de contrôle déterminent le chemin d’exécution de votre workflow. Parcourez des données en boucle, créez des embranchements selon des conditions et gérez les erreurs de manière élégante.

Nodes de flux de contrôle disponibles

Node Loop

Traitez des tableaux de données en répétant une séquence de nodes pour chaque élément.

Quand l’utiliser

  • Traiter une liste d’URL
  • Parcourir les lignes d’un tableau
  • Traiter par lot les réponses d’API

Utilisation de base

Configuration

ParamètreDescription
ItemsTableau à parcourir
Max iterationsLimite pour éviter les boucles infinies
DelayDélai entre chaque itération

Accéder aux données de la boucle

À l’intérieur d’une boucle, accédez à :
VariableDescription
{{Loop_0.currentItem}}Élément en cours de traitement
{{Loop_0.index}}Index actuel (0, 1, 2…)
{{Loop_0.totalItems}}Nombre total d’éléments

Exemple

Traiter une liste d’URL :
Entrée : ["url1.com", "url2.com", "url3.com"]

Loop :
  Pour chaque URL :
    → Web Scraper (URL : {{Loop_0.currentItem}})
    → LLM Analysis
    → Save to Sheets

Node Conditional

Exécutez différentes branches selon des conditions.

Quand l’utiliser

  • Routage selon les valeurs des données
  • Chemins de gestion des erreurs
  • Logique de tests A/B

Utilisation de base

Opérateurs disponibles

OperatorDescriptionExemple
equalsÉgal àstatus equals "active"
not_equalsDifférent detype not_equals "test"
greater_thanSupérieur àscore > 80
less_thanInférieur àcount < 10
containsChaîne contientemail contains "@gmail"
starts_withChaîne commence parurl starts_with "https"
is_emptyLa valeur est videdata is_empty
is_not_emptyLa valeur existeresult is_not_empty

Conditions multiples

Combinez des conditions avec une logique ET/OU :
Condition 1 : score > 50
ET
Condition 2 : status equals "active"

Exemple

Router les leads selon le score :

Node Fail

Arrête l’exécution du workflow avec un message d’erreur personnalisé.

Quand l’utiliser

  • Valider les données requises
  • Appliquer des règles métier
  • Gérer les erreurs de manière élégante

Utilisation de base

Configuration

ParamètreDescription
Error messageMessage personnalisé à afficher
Error codeCode d’erreur optionnel

Exemple

Valider avant de traiter :
Conditional :
  Si {{data}} is_empty
    → Fail : "Aucune donnée fournie. Vérifiez l'entrée."
  Sinon
    → Continuer le traitement

Patterns courants

Traiter et filtrer

Boucle avec filtrage conditionnel :

Gestion des erreurs avec nouvelle tentative

Branches parallèles

Traitez les données de différentes façons :

Pipeline de validation des données

Bonnes pratiques

Sécurité des boucles

  • Définissez toujours un max iterations pour éviter les boucles infinies
  • Ajoutez des délais pour les appels API (limitation du débit)
  • Gérez les erreurs à l’intérieur des boucles de manière élégante
  • Enregistrez la progression pour les boucles longues

Clarté des conditions

  • Utilisez des conditions explicites faciles à comprendre
  • Prévoyez tous les cas (ne laissez pas de chemins non définis)
  • Testez les cas limites (données vides, valeurs null)

Gestion des erreurs

  • Échouez tôt avec des messages clairs
  • Donnez du contexte dans les messages d’erreur
  • Envisagez une logique de nouvelle tentative pour les échecs temporaires
  • Enregistrez les échecs pour le débogage

Flux de contrôle imbriqués

Combinez boucles et conditions :
Boucle sur les URL :
  → Scraper la page
  → Conditional : Contenu présent ?
    → Oui :
      → Loop sur les paragraphes
      → Analyser chacun
    → Non :
      → Logger la page vide
Un flux de contrôle fortement imbriqué peut être difficile à déboguer. Envisagez de le découper en sous-workflows.

Étapes suivantes