O bloco Loop é um container que executa blocos repetidamente. Itere sobre coleções, repita operações um número fixo de vezes ou continue enquanto uma condição for atendida.
Blocos Loop são nós de container que mantêm outros blocos dentro deles. Os blocos contidos executam múltiplas vezes com base na sua configuração.
Opções de Configuração
Tipo de Loop
Escolha entre quatro tipos de loops:
Loop For (Iterações) - Um loop numérico que executa um número fixo de vezes:

Use quando você precisa repetir uma operação um número específico de vezes.
Exemplo: Executar 5 vezes
- Iteração 1
- Iteração 2
- Iteração 3
- Iteração 4
- Iteração 5Loop ForEach (Coleção) - Um loop baseado em coleção que itera sobre cada item em um array ou objeto:

Use quando você precisa processar uma coleção de itens.
Exemplo: Processe ["maçã", "banana", "laranja"]
- Iteração 1: Processe "maçã"
- Iteração 2: Processe "banana"
- Iteração 3: Processe "laranja"Loop While (Baseado em Condição) - Continua executando enquanto uma condição for verdadeira:

Use quando você precisa fazer um loop até que uma condição específica seja atendida. A condição é verificada antes de cada iteração.
Exemplo: Enquanto {"<variable.i>"} < 10
- Verificar condição → Executar se verdadeiro
- Dentro do loop: Incrementar {"<variable.i>"}
- Dentro do loop: Variáveis atribuem i = {"<variable.i>"} + 1
- Verificar condição → Executar se verdadeiro
- Verificar condição → Sair se falsoLoop Do-While (Baseado em Condição) - Executa pelo menos uma vez, depois continua enquanto uma condição for verdadeira:

Use quando você precisa executar pelo menos uma vez, depois fazer um loop até que uma condição seja atendida. A condição é verificada após cada iteração.
Exemplo: Do-while {"<variable.i>"} < 10
- Executar blocos
- Dentro do loop: Incrementar {"<variable.i>"}
- Dentro do loop: Variáveis atribuem i = {"<variable.i>"} + 1
- Verificar condição → Continuar se verdadeiro
- Verificar condição → Sair se falsoComo Usar Loops
Criando um Loop
- Arraste um bloco Loop da barra de ferramentas para o canvas
- Configure o tipo de loop e parâmetros
- Arraste outros blocos para dentro do container do loop
- Conecte os blocos conforme necessário
Acessando Resultados
Após um loop completar, você pode acessar resultados agregados:
<loop.results>: Array de resultados de todas as iterações do loop
Exemplos de Uso
Processando Resultados de API - Loop ForEach processa registros de clientes de uma API
API (Buscar) → Loop (ForEach) → Agent (Analisar) → Function (Armazenar)Geração Iterativa de Conteúdo - Loop For gera múltiplas variações de conteúdo
Loop (5x) → Agent (Gerar) → Evaluator (Pontuar) → Function (Selecionar Melhor)Contador com While Loop - Loop While processa itens com contador
Variables (i=0) → Loop (While i<10) → Agent (Processar) → Variables (i++)Recursos Avançados
Limitações
Blocos de container (Loops e Parallels) não podem ser aninhados um dentro do outro. Isso significa:
- Você não pode colocar um bloco Loop dentro de outro bloco Loop
- Você não pode colocar um bloco Parallel dentro de um bloco Loop
- Você não pode colocar nenhum bloco de container dentro de outro bloco de container
Se você precisa de iteração multidimensional, considere reestruturar seu workflow para usar loops sequenciais ou processar dados em etapas.
Loops executam sequencialmente, não em paralelo. Se você precisa de execução concorrente, use o bloco Parallel.
Inputs e Outputs
Tipo de Loop: Escolha entre 'for', 'forEach', 'while' ou 'doWhile'
Iterações: Número de vezes a executar (loops for)
Coleção: Array ou objeto a iterar (loops forEach)
Condição: Expressão booleana a avaliar (loops while/do-while)
loop.currentItem: Item atual sendo processado
loop.index: Número da iteração atual (baseado em 0)
loop.items: Coleção completa (loops forEach)
loop.results: Array com todos os resultados de iteração
Estrutura: Resultados mantêm a ordem de iteração
Acesso: Disponível em blocos após o loop
Boas Práticas
- Defina limites razoáveis: Mantenha contagens de iteração razoáveis para evitar tempos de execução longos
- Use ForEach para coleções: Ao processar arrays ou objetos, use ForEach em vez de loops For
- Trate erros com elegância: Considere adicionar tratamento de erros dentro de loops para workflows robustos