Pular para o conteúdo principal

Loops

Loops no n8n

Loops são úteis quando você precisa processar múltiplos itens de dados ou repetir uma ação — por exemplo, enviar uma mensagem para cada contato em uma lista. O n8n lida automaticamente com essa repetição, o que significa que, na maioria dos casos, você não precisa criar loops explicitamente no seu fluxo de trabalho. Existem, no entanto, algumas exceções.

Usando loops no n8n

Os nós do n8n aceitam qualquer quantidade de itens de dados como entrada e os processam, gerando resultados. Cada item de dado pode ser entendido como um ponto único de informação ou como uma linha em uma tabela de saída de um nó.

Saída do nó Customer Datastore

Normalmente, os nós são executados uma vez por item de dado. Por exemplo, se você quiser enviar o nome e as observações de cada cliente do nó Customer Datastore como mensagens no Slack, basta:

  1. Conectar o nó do Slack ao nó Customer Datastore.
  2. Configurar os parâmetros.
  3. Executar o nó.

Você receberá cinco mensagens — uma para cada item de dado.

Essa é a forma como o n8n realiza o processamento em lote de múltiplos itens de dados, sem exigir que você conecte os nós em uma estrutura de loop explícita.

Criando loops manualmente

Embora o n8n normalmente processe automaticamente todos os itens de dados recebidos, há cenários específicos em que você precisa criar loops manualmente para iterar sobre todos os itens. Consulte a seção "Exceções de nós" para saber quais nós não percorrem automaticamente todos os itens de entrada.

Loop até que uma condição seja satisfeita

Para criar um loop em um fluxo de trabalho do n8n, conecte a saída de um nó à entrada de um nó anterior. Adicione um nó IF para determinar quando o loop deve parar.

Aqui está um exemplo de fluxo de trabalho que implementa um loop usando o nó IF:

Visualização do editor do fluxo de trabalho de exemplo

Loop até que todos os itens sejam processados

Quando você deseja iterar até que todos os itens de dados tenham sido processados, use o nó Loop Over Items. Para processar os itens um por um, defina o parâmetro Tamanho do lote (Batch Size) como 1.

Você também pode processar os dados em lotes maiores. Isso é útil ao lidar com grandes volumes de dados de entrada ou quando deseja evitar atingir os limites de taxa (rate limits) das APIs.

O nó Loop Over Items para automaticamente após passar todos os itens de entrada para o próximo nó do fluxo de trabalho, não sendo necessário adicionar um nó IF adicional para interromper o loop.

Exceções de nós

Os seguintes nós e operações não processam automaticamente todos os itens de entrada e exigem que você crie loops manualmente no fluxo de trabalho:

  • CrateDB: as operações insert e update são executadas apenas uma vez.
  • nó Code (modo "Executar uma vez para todos os itens"): o código fornecido processa todos os itens de uma só vez.
  • nó Execute Workflow (modo "Executar uma vez para todos os itens").
  • HTTP Request: você deve tratar manualmente a lógica de paginação. Se a chamada à API retornar resultados paginados, é necessário criar um loop para buscar página por página.
  • Microsoft SQL: as operações insert, update e delete são executadas apenas uma vez.
  • MongoDB: as operações insert e update são executadas apenas uma vez.
  • QuestDB: a operação insert é executada apenas uma vez.
  • Redis:
    • Operação Info: executada apenas uma vez, independentemente da quantidade de itens na entrada.
  • RSS Read: executa apenas uma vez por URL solicitada.
  • TimescaleDB: as operações insert e update são executadas apenas uma vez.