Skip to content

Iteração

Para que serve

É 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.

Quando usar
  • 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 container de Iteração

A Iteração é um container visual no canvas — um bloco maior que envolve outros blocos. Quando você adiciona o container de Iteração, 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 container, conectando blocos entre o início e o final do loop interno.

CAPTURAR: container de Iteração no canvas com os blocos internos visíveis; ponto de início automático destacado

CAPTURAR: container de Iteração no canvas com os blocos internos visíveis; ponto de início automático destacado

Passo a passo
  1. Arraste o bloco **Iteração** para o canvas a partir da categoria **Lógica**. Um container (área expandida) aparece no canvas.
    CAPTURAR: container de Iteração recém-adicionado com area interna vazia

    CAPTURAR: container de Iteração recém-adicionado com area interna vazia

  2. Clique no container para abrir o painel de configuração.
    CAPTURAR: painel de configuração da Iteração

    CAPTURAR: painel de configuração da Iteração

  3. Selecione a **lista de entrada** — a variável que contém os itens a serem processados.
    CAPTURAR: campo de seleção da lista de entrada preenchido com uma variável de lista

    CAPTURAR: campo de seleção da lista de entrada preenchido com uma variável de lista

  4. Defina o nome da **variável de item** — como cada elemento será chamado dentro do container (ex.: `item_atual`).
    CAPTURAR: campo 'variável de item' configurado com o nome 'item_atual'

    CAPTURAR: campo 'variável de item' configurado com o nome 'item_atual'

  5. Se quiser processar todos os itens ao mesmo tempo, ative o **modo paralelo**.
    CAPTURAR: toggle de modo paralelo ativado

    CAPTURAR: toggle de modo paralelo ativado

  6. Adicione os blocos que devem executar para cada item **dentro** do container, conectando-os a partir do ponto de início automático.
    CAPTURAR: blocos de Enviar Mensagem e Esperar Texto adicionados dentro do container de Iteração

    CAPTURAR: blocos de Enviar Mensagem e Esperar Texto adicionados dentro do container de Iteração

  7. Conecte a saída do container de Iteração ao próximo bloco que deve rodar após todos os itens serem processados.
    CAPTURAR: seta de saída do container de Iteração conectada ao bloco seguinte

    CAPTURAR: seta de saída do container de Iteração conectada ao bloco seguinte

Campos
CampoO que faz
Lista de entradaVariável que contém os itens a iterar
Variável de itemNome para referenciar o item atual dentro do container ({{item_atual}})
Modo paraleloSe ativado, todos os itens são processados simultaneamente; se desativado, um por vez (em sequência)
TítuloNome interno do container no canvas
Exemplo

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á, {{item_atual.nome}}! Lembrete: você tem audiência amanhã às {{item_atual.hora}}."

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

CAPTURAR: container de Iteração com um nó Enviar Mensagem dentro; variável '<span v-pre>{{item_atual.nome}}</span>' visível no campo de texto

CAPTURAR: container de Iteração com um nó Enviar Mensagem dentro; variável '<span v-pre>{{item_atual.nome}}</span>' visível no campo de texto

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.