Boucles
Les boucles dans n8n
Les boucles sont très utiles lorsque vous devez traiter plusieurs éléments de données ou répéter une opération (par exemple, envoyer un message à chaque contact d’une liste). n8n gère automatiquement ce type d’opérations répétitives, ce qui signifie que, dans la majorité des cas, vous n’avez pas besoin de créer explicitement une boucle dans votre workflow. Cependant, certaines exceptions existent.
Utiliser les boucles dans n8n
Les nœuds de n8n acceptent un nombre arbitraire d’éléments de données en entrée, les traitent, puis produisent un résultat en sortie. Vous pouvez considérer chaque élément de données comme un point de données individuel, ou comme une ligne dans le tableau de sortie d’un nœud.

En général, un nœud s’exécute une fois par élément de données. Par exemple, si vous souhaitez envoyer le nom et les commentaires de chaque client provenant du nœud Customer Datastore sous forme de messages sur Slack, il vous suffit de :
- Connecter le nœud Slack au nœud Customer Datastore.
- Configurer les paramètres.
- Exécuter le nœud.
Vous recevez alors cinq messages, un pour chaque élément de données.
C’est ainsi que n8n permet de traiter plusieurs éléments de données par lots, sans avoir à relier explicitement les nœuds en une structure circulaire.
Exécuter un nœud une seule fois
Créer des boucles
n8n parcourt généralement automatiquement tous les éléments de données entrants, mais dans certains cas spécifiques, vous devrez créer manuellement une boucle pour itérer sur tous les éléments. Pour connaître les nœuds concernés, consultez la section « Exceptions par nœud ».
Boucler jusqu’à ce qu’une condition soit remplie
Pour créer une boucle dans un workflow n8n, reliez la sortie d’un nœud à l’entrée d’un nœud précédent. Ajoutez un nœud IF pour déterminer quand arrêter la boucle.
Voici un exemple de workflow utilisant un nœud IF pour implémenter une boucle :

Boucler jusqu’à ce que tous les éléments soient traités
Lorsque vous souhaitez boucler jusqu’à ce que tous les éléments de données soient traités, utilisez le nœud Loop Over Items. Pour traiter chaque élément individuellement, définissez la Taille du lot (Batch Size) à 1.
Vous pouvez également traiter les données par lots. Cette approche est utile lorsque vous gérez un grand volume de données entrantes ou lorsque vous devez respecter les limites de débit (rate limits) d’une API.
Une fois que tous les éléments entrants ont été transmis par lots au nœud suivant du workflow, le nœud Loop Over Items s’arrête automatiquement. Il n’est donc pas nécessaire d’ajouter un nœud IF supplémentaire pour interrompre la boucle.
Exceptions par nœud
Les nœuds et opérations suivants nécessitent la création manuelle d’une boucle dans votre workflow :
- CrateDB : les opérations
insertetupdatene s’exécutent qu’une seule fois. - Code (mode Exécuter une fois pour tous les éléments) : le code fourni traite tous les éléments ensemble.
- Execute Workflow (mode Exécuter une fois pour tous les éléments).
- HTTP Request : vous devez gérer manuellement la pagination. Si l’appel API renvoie des résultats paginés, vous devez créer une boucle pour récupérer chaque page.
- Microsoft SQL : les opérations
insert,updateetdeletene s’exécutent qu’une seule fois. - MongoDB : les opérations
insertetupdatene s’exécutent qu’une seule fois. - QuestDB : l’opération
insertne s’exécute qu’une seule fois. - Redis :
- Info : cette opération ne s’exécute qu’une seule fois, quel que soit le nombre d’éléments en entrée.
- RSS Read : l’opération ne s’exécute qu’une seule fois pour l’URL demandée.
- TimescaleDB : les opérations
insertetupdatene s’exécutent qu’une seule fois.