Qu’est-ce qu’un iterator ?
Un iterator (boucle) est un mécanisme qui permet de traiter un ensemble d’éléments un par un dans un workflow. Quand un module retourne une liste de 50 contacts, l’iterator les sépare pour appliquer une action personnalisée à chacun.
Sans iterator, le workflow traite le lot de données comme un bloc unique. Avec un iterator, chaque élément est traité individuellement, ce qui permet des opérations personnalisées : générer un email adapté à chaque contact, créer une fiche CRM pour chaque lead, ou résumer chaque document séparément via un LLM.
Fonctionnement par plateforme
n8n
n8n traite nativement les tableaux de données. Quand un nœud produit plusieurs éléments, les nœuds suivants les traitent automatiquement un par un. Pour les cas plus complexes, le nœud Loop Over Items permet de contrôler explicitement la boucle avec des options de batch (traiter par lots de N éléments).
Make
Make utilise un module Iterator dédié. Il prend un tableau en entrée et produit un élément en sortie à chaque itération. Chaque passage dans la boucle exécute les modules suivants, et chaque module consomme une opération facturée.
Pour consolider les résultats après le traitement, Make propose le module Aggregator qui regroupe les éléments individuels en un seul tableau.
Zapier
Zapier gère les boucles via le module Looping by Zapier (disponible sur les plans payants). La boucle se répète jusqu’à ce qu’une condition de sortie soit remplie ou qu’un nombre maximum d’itérations soit atteint.
Impact sur la facturation
L’iterator est le mécanisme qui peut transformer un workflow économique en gouffre financier sur les plateformes facturées à l’opération.
Exemple concret : un workflow qui récupère une liste de 200 commandes et, pour chaque commande, appelle un LLM pour générer un résumé puis l’enregistre dans Google Sheets.
| Plateforme | Calcul | Coût en unités |
|---|---|---|
| n8n (self-hosted) | 1 exécution | 1 exécution (illimité) |
| Make | 1 (fetch) + 200 × 2 (LLM + Sheets) | 401 opérations |
| Zapier | 200 × 2 (LLM + Sheets) | 400 tâches |
Sur Make avec le plan gratuit (1 000 opérations/mois), ce seul workflow consommé une fois utiliserait 40 % du quota mensuel.
Cas d’usage courants
Traitement batch d’emails
Récupérer les 20 derniers emails non lus, les analyser individuellement via un LLM, puis enregistrer chaque résultat dans un tableau de bord.
Enrichissement de contacts
Parcourir une liste de leads, interroger une API d’enrichissement pour chaque contact (LinkedIn, Clearbit), puis mettre à jour le CRM avec les données récupérées.
Génération de contenu en masse
Itérer sur une liste de sujets, générer un premier brouillon pour chacun via un LLM, puis enregistrer les résultats dans Notion ou Google Docs.
Bonnes pratiques
- Traiter par lots quand c’est possible : au lieu de traiter 1 000 éléments un par un, les regrouper par lots de 50 ou 100 réduit les appels API et les opérations facturées
- Ajouter des délais entre les itérations : certaines API imposent des limites de débit. Un délai de 200-500 ms entre chaque itération évite les erreurs 429 (rate limit)
- Surveiller la consommation : activer les alertes de quota sur Make et Zapier pour éviter les dépassements causés par des boucles sur des volumes inattendus
- Utiliser l’agrégateur : après le traitement individuel, consolider les résultats pour les étapes suivantes du workflow qui n’ont pas besoin du détail par élément
Termes associés
Questions fréquentes
C'est quoi un iterator dans un workflow ?
Un iterator (ou boucle) est un mécanisme qui prend un lot de données (une liste d'emails, un tableau de contacts, un ensemble de fichiers) et les traite un par un. Chaque élément passe individuellement par la suite du workflow. Par exemple, récupérer 50 commandes puis envoyer un email de confirmation personnalisé à chaque client.
Quelle est la différence entre un iterator et un agrégateur ?
L'iterator et l'agrégateur sont des opérations inverses. L'iterator prend un lot de données et le découpe en éléments individuels (1 tableau → N éléments). L'agrégateur prend des éléments individuels et les combine en un seul lot (N éléments → 1 tableau). On utilise souvent les deux ensemble : iterator pour traiter, agrégateur pour consolider les résultats.
Un iterator augmente-t-il le coût sur Make ?
Oui, significativement. Sur Make, chaque module exécuté par chaque itération consomme une opération. Si un iterator traite 100 éléments et que chaque itération traverse 3 modules, cela représente 300 opérations. C'est un des pièges de facturation les plus fréquents sur Make.
Comment éviter les boucles infinies dans un workflow ?
Trois garde-fous essentiels : définir une limite maximale d'itérations (la plupart des plateformes le permettent), s'assurer que la condition de sortie est atteignable, et ajouter un timeout global au workflow. Dans n8n, le nœud Loop Over Items intègre une limite configurable. Sur Make, le module Iterator ne boucle que sur les éléments du tableau fourni, ce qui élimine le risque de boucle infinie.