Regras do fluxo
As regras organizam o caminho da automação. Elas não são gatilhos nem enviam ou alteram dados por conta própria. A aba Regras da paleta contém três passos:
| Regra | Função |
|---|---|
| Condição | escolhe um caminho pela primeira comparação verdadeira |
| Aguardar | pausa a execução e, opcionalmente, cancela ou limita o horário da continuação |
| Encerrar | termina aquele run com sucesso |
Condição
Section titled “Condição”Condição cria saídas independentes chamadas ramos. Clique em Adicionar ramo e configure cada comparação com:
- Comparar: texto fixo ou uma variável;
- Operador;
- Com: texto fixo ou outra variável, exceto nos operadores que não usam lado direito.
Os oito operadores são:
| Operador | Como é avaliado |
|---|---|
| é igual a | compara texto sem diferenciar maiúsculas e minúsculas |
| é diferente de | confirma que os textos são diferentes, também sem diferenciar maiúsculas e minúsculas |
| contém | procura um trecho, sem diferenciar maiúsculas e minúsculas |
| não contém | confirma que o trecho não aparece |
| é maior que | converte os dois lados em números e compara |
| é menor que | converte os dois lados em números e compara |
| está vazio | verifica se o lado esquerdo fica vazio; o campo Com desaparece |
| não está vazio | verifica se o lado esquerdo tem conteúdo; o campo Com desaparece |
Espaços no começo e no fim são ignorados. Se uma comparação numérica receber texto que não pode virar número, ela é falsa. Uma variável inexistente resolve como texto vazio, portanto pode satisfazer está vazio.
Preencha os dois lados antes de publicar. Hoje, a publicação exige ao menos um ramo, mas não rejeita comparação vazia. Em especial, contém com o campo Com vazio é verdadeiro para qualquer texto.
Ordem e saída Nenhum
Section titled “Ordem e saída Nenhum”Os ramos são avaliados de cima para baixo. O primeiro verdadeiro vence; os demais não são avaliados. A interface não oferece um controle para reordenar: crie primeiro o caso mais específico. Para mudar a ordem, recrie os ramos na sequência desejada.
Além dos ramos configurados, o cartão mostra a saída Nenhum. Ela é escolhida quando nenhuma comparação é verdadeira. Ligue cada saída rotulada ao primeiro passo de seu próprio caminho.
Cada saída deve ter no máximo uma ligação. Antes de substituir um destino, remova a ligação antiga. O editor permite criar mais de uma ligação manual no mesmo ramo, mas o runtime segue apenas a primeira.
Antes de remover um ramo, remova sua ligação no canvas. Apagar apenas o ramo no painel pode deixar uma ligação antiga aceita pela publicação, mas que nunca será escolhida pelo runtime.
Variáveis em ramos
Section titled “Variáveis em ramos”Os dois lados aceitam apenas variáveis disponíveis antes da Condição. Depois da divisão, um passo de um ramo não fornece variáveis para os outros. Se os caminhos voltarem a convergir, o passo comum só pode usar símbolos garantidos por todos os caminhos.
Aguardar
Section titled “Aguardar”Aguardar devolve o run para a fila com uma data futura. Quando ele é retomado, passa novamente pelo próprio passo para avaliar cancelamentos e janela de envio antes de continuar.
Duração
Section titled “Duração”Informe um número positivo em minutos, horas ou dias. Um passo novo começa em 1 dia. As unidades são durações fixas: um dia representa 24 horas, não a próxima data do calendário no fuso local.
O modo de teste também respeita a espera. Se a duração for longa, o teste aparece como pendente e só continua quando chegar o horário; não use uma espera longa para um teste que precisa de resultado imediato.
Condições de saída
Section titled “Condições de saída”Quando existe uma conversa naquele ponto, o painel mostra duas opções:
- O contato responder — marcada por padrão;
- A conversa for concluída — desmarcada por padrão.
A verificação ocorre quando a espera termina, não no instante do evento. Se a condição for reconhecida, o run inteiro termina com sucesso e os passos seguintes não executam.
Para O contato responder, o runtime compara a última mensagem do cliente com o início da espera. Uma mensagem anterior não cancela o run.
Para A conversa for concluída, o comportamento atual é mais limitado: o runtime verifica apenas se a conversa está concluída no momento em que acorda. Uma conversa já concluída antes da espera pode cancelar o run; uma conversa concluída e reaberta durante a espera pode não cancelar.
Se a leitura da conversa falhar no despertar, o runtime atual continua sem aplicar o cancelamento. Em fluxos críticos, acompanhe Execuções e testes e não trate essa opção como confirmação transacional do evento.
As opções não aparecem em um ponto sem conversa, e o runtime não tenta avaliá-las nesse caso.
Continuar mesmo depois da resposta
Section titled “Continuar mesmo depois da resposta”Desmarcar O contato responder faz duas coisas:
- a espera não encerra o run quando o cliente responde;
- as ações de envio posteriores podem dispensar a proteção cliente aguardando resposta humana.
Opt-out, conversa adiada, limite de frequência e janela de 24 horas da Meta continuam valendo. Quando caminhos convergem, a dispensa só chega à ação se todos os caminhos até ela passaram por uma espera com essa opção desmarcada.
Janela de envio
Section titled “Janela de envio”Ative Só enviar neste horário para limitar quando o passo seguinte pode acontecer. A configuração nasce com segunda a sexta, das 09:00 às 18:00, no fuso da organização registrado no passo.
- O horário inicial é incluído e o final não.
- Horários iguais significam funcionamento 24 horas.
- A janela pode atravessar a meia-noite.
- Se nenhum dia estiver marcado, o runtime interpreta como todos os dias, não como nenhum dia.
- Fora da janela, o run continua esperando até o primeiro instante permitido.
A duração e a janela trabalham juntas. Primeiro o sistema calcula o fim da duração; se esse instante estiver fora da janela, empurra a retomada para a próxima abertura. Ao acordar, avalia as condições de saída antes de decidir se precisa aguardar outra abertura.
Encerrar
Section titled “Encerrar”Encerrar não tem configuração nem saída. Quando o run chega nele, termina com status de sucesso naquele ramo.
Ele não resolve a conversa, não desliga a IA e não cancela outros runs. Para encerrar o atendimento, use a ação Concluir, descrita em Ações.
Um caminho sem próximo passo também termina normalmente. Use Encerrar quando quiser deixar essa intenção explícita no canvas e registrar uma etapa final no histórico da execução.
O que o teste comprova
Section titled “O que o teste comprova”- Condição avalia as variáveis do teste com as mesmas regras do runtime e registra o ramo escolhido.
- Aguardar espera de verdade e consulta a conversa escolhida quando o run acorda.
- Encerrar conclui o run de teste imediatamente.
O teste não corrige ligações antigas, comparações vazias nem uma janela de dias ambígua. Revise o canvas e a configuração antes de publicar.
Checklist antes de publicar
Section titled “Checklist antes de publicar”- Cada ramo tem lado esquerdo, operador e, quando necessário, lado direito?
- O caso mais específico está acima dos casos amplos?
- Cada ramo e Nenhum têm no máximo uma ligação?
- Ligações de ramos removidos também foram apagadas?
- Variáveis usadas depois de uma convergência existem em todos os caminhos?
- A duração e a janela produzem o horário esperado no fuso mostrado?
- Há pelo menos um dia marcado, se você não pretende permitir todos os dias?
- As condições de saída correspondem à conversa presente naquele ponto?
- O teste chegou ao fim ou ainda está aguardando?