Como configurar a etapa Loop?
Execute as mesmas etapas para cada item de uma lista, itens digitados, um intervalo de números ou um texto dividido.
Para que serve?
“Loop” executa as mesmas etapas para cada item de uma lista. A etapa tem duas saídas: “Para cada item” e “Ao concluir”.
Os visitantes não veem esta etapa e o avatar não diz nada; o agente continua sem esperar o visitante.
Para adicioná-la, clique em “Adicionar etapa” na aba “Editor” e depois em “Loop” na categoria “Lógica”; a etapa é adicionada no meio da tela. As configurações ficam na aba “Conteúdo” do painel que abre à direita quando você clica na etapa.
Esta etapa não tem “Texto na tela”; em vez disso, há uma “Nota da etapa” no fim do painel. A nota é só para você: os visitantes não a veem, e ela não é falada nem traduzida.
Nos valores, você usa variáveis de etapas anteriores, como {city}. Para um campo dentro de uma resposta, adicione o nome do campo depois de um ponto: {order.status}. O botão “Inserir variável” nas caixas lista as variáveis que você pode usar naquele ponto. Uma variável ainda não preenchida conta como texto vazio.
Configurar a etapa
- Escolha uma origem em “De onde vêm os itens” e informe os itens (veja abaixo).
- Informe um “Nome da variável” (por exemplo, service). A cada rodada, o item da rodada é gravado nessa variável.
- Conecte à saída “Para cada item” as etapas a executar para cada item. Deixe vazia a saída da última etapa do ramo: quando o ramo termina, o próximo item começa. Você também pode conectar a última etapa de volta à etapa Loop.
- Conecte à saída “Ao concluir” a etapa para onde ir quando os itens acabarem.
De onde vêm os itens
- “Lista em uma variável”: escreva uma variável de lista em “Lista”: uma resposta de múltipla escolha, a lista de uma ferramenta ou ação, ou um resultado de Editar lista.
- “Itens que você digita”: uma rodada por linha; adicione linhas com “Adicionar item”. As linhas também podem incluir variáveis.
- “Intervalo de números”: “Início”, “Fim” e “Etapa” (1 se vazio). O fim é incluído; use uma etapa negativa (-1) para contar de trás para frente. Os valores também podem ser variáveis: {guests}.
- “Dividir texto”: o “Texto” é dividido no “Separador”: “Vírgula”, “Ponto e vírgula”, “Cada linha”, “Barra vertical (|)” ou “Outro” (um caractere seu). Cada parte é uma rodada; partes vazias são ignoradas. “Remover espaços” tira os espaços no início e no fim de cada parte.
Variáveis gravadas a cada rodada
Se o nome da variável for service, cada rodada grava: {service} o item, {service.field} um campo do item, {service_index} o número da rodada, {service_total} o número de itens, {service_last} se é a última rodada (true/false). Essas variáveis são removidas quando o loop termina. “O contador começa em” define o valor de {service_index} na primeira rodada (1 por padrão), e “Máximo de rodadas” o máximo de itens processados; um intervalo de números não tem nenhuma dessas configurações.
Rodadas e as etapas do ramo
Um loop faz no máximo 100 rodadas; o resto de uma lista mais longa não é processado. Se a lista estiver vazia, o agente vai direto para “Ao concluir”. Se você conectar uma etapa do ramo a uma etapa depois de “Ao concluir”, o agente sai do loop antes; uma etapa Fim no ramo encerra a conversa. Loops podem ser aninhados: se a saída “Ao concluir” do loop interno estiver vazia, o loop externo passa para o próximo item.
Você também pode colocar no ramo etapas que o visitante vê (Mensagem, Pergunta, Formulário). Uma Ação de integração ou Chamada de ferramenta no ramo roda separadamente a cada rodada: “criar um cartão para cada item” cria um cartão por item. A resposta a uma pergunta no ramo é gravada na mesma variável a cada rodada; cada nova resposta substitui a anterior.
Exemplo
Em uma etapa Seleção “Múltipla”, o visitante marcou os serviços de interesse, e a resposta está em {services}. No Loop, “De onde vêm os itens” é “Lista em uma variável”, “Lista” é {services} e “Nome da variável” é service. Uma Ação de integração na saída “Para cada item” envia à sua equipe uma notificação separada para cada serviço (“Nova candidatura para {service}”); a saída “Ao concluir” vai para uma Mensagem de agradecimento.
Pontos de atenção
O editor avisa quando: os itens não estão definidos; o intervalo de números é inválido (início, fim e etapa devem ser números, e a etapa não pode ser 0); o nome da variável é inválido (até 50 caracteres); “Para cada item” não está conectado (o loop não executará nada); ou “Ao concluir” não está conectado (o fluxo termina quando os itens acabam). Saídas vazias de etapas do ramo não geram aviso: elas levam de volta ao loop.
Nomes de variáveis só podem usar as letras a–z, dígitos e sublinhados (_); letras acentuadas e espaços são descartados ao digitar. “system” é reservado para variáveis do sistema, então escolha outro nome.
Etapas lógicas não esperam o visitante. Se você as conectar (ou outras etapas que não esperam, como Mensagem, Chamada de ferramenta ou Ação de integração) em círculo, o agente fica dando voltas: o editor avisa “Em um loop que nunca espera o visitante; o fluxo fica preso aqui.”, e na conversa o agente termina com um erro. Para repetir algo, use a etapa Loop ou coloque no círculo uma etapa que espere o visitante (Pergunta, Seleção, Formulário).
Problemas não impedem de salvar: o agente é salvo, mas a etapa incompleta não funcionará como esperado na conversa. Corrija as etapas marcadas e teste o agente com “Prévia”. Para encontrar as etapas marcadas, veja o editor de fluxos.
Artigos relacionados
- Como configurar a etapa Editar lista?Filtre, ordene, remova duplicados e encurte uma lista de uma ferramenta, uma ação ou uma múltipla escolha.
- Como configurar a etapa Condição?Divida o fluxo em caminhos com base em respostas anteriores e variáveis: regras, E/Ou, tipos de comparação e “Caso contrário”.
- Como configurar a etapa Seleção?Ofereça opções aos visitantes: escolha única ou múltipla, com opções de uma lista fixa, uma ferramenta, uma ação anterior ou uma variável.
- Como configurar as etapas Ação de integração e Chamada de ferramenta?Faça um trabalho em uma integração conectada ou chame sua própria ferramenta em um ponto do agente: saídas, ramo de falha e novas tentativas.