Quand utiliser l’itérateur
| Scénario | Exemple |
|---|---|
| Traiter les résultats de recherche | Envoyer un e-mail à chaque personne trouvée |
| Gérer les tableaux de webhooks | Créer des enregistrements pour chaque élément, dans l’ordre |
| Mises à jour en masse | Mettre à jour plusieurs enregistrements avec des valeurs calculées |
| Notifications | Avertir plusieurs personnes d’un événement |
Comprendre l’itérateur
L’itérateur attend un tableau en entrée. Il va ensuite :- Prend le premier élément du tableau
- Exécute toutes les actions à l’intérieur de l’itérateur avec cet élément
- Passe à l’élément suivant
- Répète jusqu’à ce que tous les éléments soient traités
Configuration de base
Exemple : envoyer un e-mail à toutes les personnes dans les résultats de recherche
Objectif : Trouver tous les contacts d’une entreprise spécifique et envoyer à chacun un e-mail personnalisé.Étape 1 : Rechercher des enregistrements
- Ajoutez l’action Rechercher des enregistrements
- Objet : Personnes
- Filtre : Entreprise égale à “Acme Inc”
- Cela renvoie un tableau de personnes
Étape 2 : Vérifier que des résultats existent
- Ajoutez l’action Filtre
- Condition :
{{searchRecords.length}}est supérieur à 0 - Cela évite les erreurs de l’itérateur sur des résultats vides
Étape 3 : Ajouter un itérateur
- Ajoutez une action Itérateur
- Entrée du tableau : sélectionnez
{{searchRecords}} - Cela crée une boucle
Étape 4 : Ajouter des actions dans l’itérateur
Les actions placées dans l’itérateur s’exécutent pour chaque élément :- Ajoutez une action Envoyer un e-mail (dans l’itérateur)
- À :
{{iterator.currentItem.email}} - Objet : Bonjour
{{iterator.currentItem.firstName}}! - Corps : Message personnalisé utilisant les champs de l’élément en cours
Résultat
Si l’action Rechercher des enregistrements renvoie 5 personnes, l’itérateur :- Envoie un e-mail à la personne 1
- Envoie un e-mail à la personne 2
- … continue pour les 5
Accéder aux données de l’élément en cours
Dans l’itérateur, utilisez{{iterator.currentItem}} pour accéder à l’enregistrement en cours :
| Variable | Description |
|---|---|
{{iterator.currentItem}} | L’objet de l’enregistrement en cours dans son intégralité |
{{iterator.currentItem.id}} | ID de l’enregistrement |
{{iterator.currentItem.email}} | Champ e-mail |
{{iterator.currentItem.company.name}} | Nom de l’entreprise associée |
{{iterator.index}} | Position actuelle dans le tableau (indexé à partir de 0) |
Modèles courants
Mettre à jour plusieurs enregistrements
Objectif : Marquer toutes les tâches en retard comme “En retard”Créer des enregistrements à partir d’un tableau
Objectif : Le webhook reçoit une commande avec plusieurs éléments, créer un enregistrement pour chacunTraitement conditionnel dans la boucle
Objectif : N’envoyer un e-mail qu’aux contacts avec des adresses validesRésolution des problèmes
”L’itérateur attend un tableau”
Cause : Vous avez passé un seul enregistrement au lieu d’un tableau. Correctif : Assurez-vous de passer le résultat de Rechercher des enregistrements ou un champ de type tableau, pas un seul enregistrement.L’itérateur ne s’exécute pas
Cause : Le tableau est vide. Correctif : Ajoutez un filtre avant l’itérateur pour vérifier la longueur du tableau :Les actions s’exécutent trop de fois
Cause : Rechercher des enregistrements a renvoyé plus d’enregistrements que prévu. Correctif :- Ajoutez des filtres plus spécifiques à Rechercher des enregistrements
- Définissez une limite sur Rechercher des enregistrements (max 200)
- Ajoutez un filtre dans l’itérateur pour des conditions supplémentaires
Considérations relatives aux performances
- Utilisation de crédits : Chaque itération consomme des crédits pour ses actions
- Temps : Les grands tableaux prennent plus de temps à traiter
- Limites : Envisagez de traiter par lots les opérations très volumineuses
- Limites de débit : Les appels d’API externes peuvent atteindre des limites de débit avec de nombreuses itérations
Meilleures pratiques
- Vérifiez toujours la longueur du tableau avant l’itérateur pour éviter les erreurs
- Ajoutez des filtres dans les boucles quand tous les éléments n’ont pas besoin d’être traités
- Renommez votre étape Itérateur pour décrire ce qu’elle parcourt
- Testez avec de petits tableaux avant de traiter de grands ensembles de données
- Surveillez l’exécution des workflows pour vous assurer que les itérations se terminent comme prévu