Tema
Referência do nó
Kind
loopCategoriaLógicaRepetir (laço)
Para que serve
É como girar uma roleta até sair o número certo: o fluxo repete um conjunto de ações várias vezes, e a cada volta você pode checar se deve parar ou continuar. Diferente de Repetir para cada item (que percorre uma lista), o Repetir (laço) repete enquanto uma condição for verdadeira — ou até atingir o número máximo de repetições.
Quando usar
- Tentar uma ação até obter sucesso (ex.: chamar uma API que pode falhar e retentar até 3 vezes).
- Aguardar que um status mude antes de continuar (ex.: verificar de tempos em tempos se um pagamento foi confirmado).
- Manter uma conversa ativa enquanto o contato não der uma resposta válida.
- Qualquer lógica que precise de repetição controlada com condição de parada.
Como funciona o quadro de Repetir (laço)
O Repetir (laço) é um quadro visual no canvas — um bloco maior que envolve outros blocos. Quando você adiciona o quadro, dois pontos de controle são gerados automaticamente dentro dele:
- Início do Repetir (laço) — onde a execução começa a cada volta.
- Fim do Repetir (laço) — onde você decide se repete ou sai.
Você monta a lógica de cada volta dentro do quadro, entre o início e o fim. No Fim do Repetir (laço) você configura as condições de saída (break conditions).

Painel de configuração do nó Laço, com os campos Variáveis de loop, Condição de término de loop e Contagem máxima de loop
Passo a passo
- Arraste o bloco **Repetir (laço)** para o canvas a partir da categoria **Lógica**. Um quadro com início e fim automáticos aparece.

Painel de busca de blocos aberto no canvas, com as categorias e a lista de nós disponíveis para arrastar
- Clique no quadro para abrir o painel de configuração.

Painel de configuração do nó Laço, com os campos Variáveis de loop, Condição de término de loop e Contagem máxima de loop
- Defina o **número máximo de repetições** — quantas voltas o loop pode dar antes de forçar a saída (proteção contra loops infinitos).
- Configure as **condições de saída** (break conditions): defina qual condição, quando verdadeira, deve encerrar o loop antes de atingir o máximo.
- Defina as **variáveis de loop** que serão atualizadas a cada volta (ex.: contador, acumulador de resultados).
- Adicione os blocos que devem executar a cada volta **dentro** do quadro, conectando-os entre o início e o fim do loop.

Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim
- Conecte a saída do quadro ao próximo bloco que roda após o loop terminar.

Fluxo de exemplo no canvas, com os blocos conectados em sequência do Início ao Fim
Campos
| Campo | O que faz |
|---|---|
| Contagem máxima | Número máximo de voltas antes de sair obrigatoriamente |
| Break conditions | Condições que, quando verdadeiras, encerram o loop imediatamente |
| Variáveis de loop | Variáveis que persistem e podem ser atualizadas entre as voltas |
| Título | Nome interno do quadro no canvas |
Exemplo
Um fluxo precisa verificar se um boleto foi pago antes de liberar um documento. O Repetir (laço) checa o status do pagamento a cada 5 minutos, por até 3 tentativas:
- Contagem máxima: 3
- Break condition:
status_pagamentoé igual apago - Dentro do loop:
Requisição HTTP→ chama a API do banco para consultar o status- (o status retornado é salvo na variável
status_pagamento)
- Após o loop:
- Se saiu por break condition (pago) → envia o documento
- Se saiu por contagem máxima (não pagou em 3 tentativas) → envia mensagem de instrução

Fluxo de exemplo no canvas com um nó de condição gerando duas saídas (IF/ELSE) conectadas a caminhos diferentes
Dica
Sempre configure uma **contagem máxima** razoável. Sem ela, um bug na condição de saída pode fazer o fluxo girar para sempre, consumindo recursos e nunca respondendo ao contato.
Atenção
Não use Repetir (laço) para substituir a [Iteração](/guia/flow-builder/logica/iteracao). Se você tem uma lista de itens para processar, use Repetir para cada item — é mais eficiente e legível. Repetir (laço) é para quando você repete uma ação aguardando que algo aconteça, não para percorrer uma lista.
Saiba mais
- Repetir para cada item — percorrer uma lista, em vez de repetir com condição de parada
- Requisição HTTP — o tipo de bloco mais comum dentro de um loop de checagem
- Se / Senão (condição) — avaliar o resultado após o loop terminar
