---
title: Repetir para cada item
description: Percorra uma lista e execute o mesmo conjunto de blocos para cada item, em sequência ou em paralelo.
---

<NoCard kind="iteration" categoria="Lógica" />

# Repetir para cada item

<Secao icon="info">Para que serve</Secao>

É como um "para cada um da lista, faça isso": você tem uma lista de itens (contatos, documentos, produtos) e quer executar os mesmos blocos de fluxo para cada item, um a um — ou todos ao mesmo tempo, em paralelo.

<Secao icon="clock">Quando usar</Secao>

- Processar cada item de uma lista individualmente (ex.: enviar uma mensagem personalizada para cada contato de uma lista).
- Extrair informações de múltiplos documentos em sequência.
- Aplicar a mesma lógica a cada elemento retornado por uma chamada HTTP ou busca de dados.

## Como funciona o quadro de Repetir para cada item

A Repetir para cada item é um **quadro visual** no canvas — um bloco maior que envolve outros blocos. Quando você adiciona o quadro de Repetir para cada item, dois pontos de controle são gerados automaticamente dentro dele:

- **Início da Iteração** — marca onde a execução começa para cada item da lista.
- (implícito) — o fim de cada iteração volta automaticamente para o início, processando o próximo item.

Você monta o "roteiro" de cada item **dentro** do quadro, conectando blocos entre o início e o final do loop interno.

<Captura legenda="Painel de configuração do nó Iteração, com os campos Entrada, Variáveis de saída, Modo paralelo e Método de resposta de erro" src="/img/node-iteration-inspector.png" />

<Secao icon="list-checks">Passo a passo</Secao>

<Passos>
  <Passo>Arraste o bloco **Repetir para cada item** para o canvas a partir da categoria **Lógica**. Um quadro (área expandida) aparece no canvas. <Captura legenda="Painel de busca de blocos aberto no canvas, com as categorias e a lista de nós disponíveis para arrastar" src="/img/flowbuilder-paleta-aberta.png" /></Passo>
  <Passo>Clique no quadro para abrir o painel de configuração. <Captura legenda="Painel de configuração do nó Iteração, com os campos Entrada, Variáveis de saída, Modo paralelo e Método de resposta de erro" src="/img/node-iteration-inspector.png" /></Passo>
  <Passo>Selecione a **lista de entrada** — a variável que contém os itens a serem processados.</Passo>
  <Passo>Defina o nome da **variável de item** — como cada elemento será chamado dentro do quadro (ex.: `item_atual`).</Passo>
  <Passo>Se quiser processar todos os itens ao mesmo tempo, ative o **modo paralelo**.</Passo>
  <Passo>Adicione os blocos que devem executar para cada item **dentro** do quadro, conectando-os a partir do ponto de início automático. <Captura legenda="Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim" src="/img/flow-exemplo-canvas.png" /></Passo>
  <Passo>Conecte a saída do quadro de Repetir para cada item ao próximo bloco que deve rodar após todos os itens serem processados. <Captura legenda="Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim" src="/img/flow-exemplo-canvas.png" /></Passo>
</Passos>

<Secao icon="sliders-horizontal">Campos</Secao>

| Campo | O que faz |
|-------|-----------|
| Lista de entrada | Variável que contém os itens a iterar |
| Variável de item | Nome para referenciar o item atual dentro do quadro (<code v-pre>{{item_atual}}</code>) |
| Modo paralelo | Se ativado, todos os itens são processados simultaneamente; se desativado, um por vez (em sequência) |
| Título | Nome interno do quadro no canvas |

<Secao icon="circle-check">Exemplo</Secao>

Você tem uma lista de 10 contatos com audiência amanhã. O fluxo usa uma Iteração (modo sequencial) para:

1. Para cada contato da lista:
   - `Enviar Mensagem` → "Olá, <span v-pre>{{item_atual.nome}}</span>! Lembrete: você tem audiência amanhã às <span v-pre>{{item_atual.hora}}</span>."

Após processar os 10 contatos, o fluxo continua para um nó de registro de "lembretes enviados".

<Captura legenda="Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim" src="/img/flow-exemplo-canvas.png" />

<Dica>
Use o **modo paralelo** quando os itens são independentes entre si e você precisa de velocidade. Use o **modo sequencial** quando a ordem importa ou quando uma iteração depende do resultado da anterior.
</Dica>

<Cuidado>
O modo paralelo dispara todos os itens ao mesmo tempo. Se a lista tiver 100 itens e cada um fizer uma chamada HTTP, você vai disparar 100 requisições simultâneas. Verifique os limites de rate do serviço externo antes de usar paralelo com listas grandes.
</Cuidado>

## Saiba mais

- [Repetir (laço)](/guia/flow-builder/logica/loop) — repetir com condição de parada, em vez de percorrer uma lista
- [Operações com lista](/guia/flow-builder/dados/lista) — filtrar ou transformar a lista antes de iterar
- [Buscar dados externos](/guia/flow-builder/dados/buscar-dados) — obter a lista de itens a processar
