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ètre | Description |
|---|
| Items | Tableau à parcourir |
| Max iterations | Limite pour éviter les boucles infinies |
| Delay | Délai entre chaque itération |
Accéder aux données de la boucle
À l’intérieur d’une boucle, accédez à :
| Variable | Description |
|---|
{{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
| Operator | Description | Exemple |
|---|
equals | Égal à | status equals "active" |
not_equals | Différent de | type not_equals "test" |
greater_than | Supérieur à | score > 80 |
less_than | Inférieur à | count < 10 |
contains | Chaîne contient | email contains "@gmail" |
starts_with | Chaîne commence par | url starts_with "https" |
is_empty | La valeur est vide | data is_empty |
is_not_empty | La valeur existe | result 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ètre | Description |
|---|
| Error message | Message personnalisé à afficher |
| Error code | Code 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