Durante uma conversa com um cliente, pode surgir um problema em que ele não conclui a ação desejada ou fica preso no último bloco do funil, e o chatbot não responde às suas ações. Para evitar isso, você pode configurar uma transferência automática do cliente para outro bloco sem criar caminhos de movimento duplicados.

Como mover automaticamente um cliente pelo funil?

Como exemplo de movimentação automática de um cliente pelo funil, usaremos um fluxo simples de chatbot que pergunta ao usuário se ele participará de um evento:

Pelo exemplo (Fig. 1), você pode ver que o cliente avança no funil apenas se clicar no botão "Sim!" enviado pelo penúltimo bloco. (Em outros casos, o gatilho para continuar no funil pode ser praticamente qualquer coisa, dependendo das condições do seu fluxo de chatbot.)

Neste exemplo (Fig. 1), a cliente Nastya decidiu não clicar no botão do chatbot, então a conversa ficou presa no penúltimo bloco do funil:

Para resolver esse problema, você precisa seguir alguns passos simples no seu fluxograma: para continuar o diálogo com o cliente ou movê-lo pelo funil após um determinado período de tempo (por exemplo, após n minutos), desenhe uma seta adicional a partir do penúltimo bloco e defina o atraso de tempo após o qual o cliente prosseguirá automaticamente para o próximo bloco no funil.

Agora, defina um temporizador com o intervalo de tempo desejado nas configurações da seta, para que o cliente se mova automaticamente para o próximo bloco:

Certifique-se de ativar a opção "Cancelar se o bloco for deixado" (Fig. 3) para evitar que a mensagem seja enviada novamente após o temporizador expirar, caso o cliente já tenha passado para o próximo bloco (por exemplo, clicando em um botão).

O exemplo acima mostra que o bot move automaticamente o cliente pelo funil e envia a mensagem final — mesmo que ele não tenha clicado no botão.

Agora, com a ajuda da segunda seta com o temporizador configurado, o cliente será movido adiante no funil após um determinado período de tempo.

Como mover um cliente do último bloco para outro bloco?

No fluxograma (Fig. 4), você pode ver que o penúltimo bloco determina para qual bloco seu cliente irá, dependendo do botão que ele pressionar no bloco com duas ramificações:

Se o cliente clicar em um dos dois botões, ele parará no último bloco e não poderá, por exemplo, retornar ao bloco anterior e escolher uma opção diferente quando necessário. O chatbot simplesmente não responderá ao pressionamento de outro botão porque o usuário já passou para o último bloco, que não permite mais movimentação pelo funil (veja o exemplo abaixo).

Neste caso, você pode resolver o problema de duas maneiras:

  1. Usando o bloco "Not State" — esta função mantém o cliente no bloco com as opções de botão sem movê-lo para os próximos blocos.
  2. Usando botões de callback — esta função move o cliente para os próximos blocos, mas ainda permite que ele mude sua escolha se não estiver satisfeito com o resultado.

O bloco "Not State"

O bloco "Not State" é um bloco cinza. Diferentemente do bloco "Dialog State", ele não tem condições e os clientes não podem ser movidos diretamente para ele.

Em nosso fluxo, o bloco "Not State" é perfeito porque o usuário não sairá do penúltimo bloco e poderá pressionar um botão diferente se não estiver satisfeito com sua primeira escolha.

Para configurar isso, vá ao construtor de funis e selecione o tipo de bloco "Not State" (não confunda com "Not State with condition").

Agora nosso fluxograma fica assim:

Para testar se o fluxo funciona corretamente, abra o testador de bot. Lá, você verá que qualquer botão pode ser pressionado independentemente da escolha anterior do cliente:

Botões de callback

Se você precisar que o cliente avance no funil e transite para outros blocos, a funcionalidade de botão de callback ajudará.

Para isso, remova as setas que levam aos blocos finais no fluxograma e defina o tipo desses blocos como "Primary condition check":

Vamos para as configurações do botão dentro do bloco:

A janela de configurações do botão "Sim!" será aberta. Aqui, faça o seguinte:

  • Selecione o tipo de botão "Callback button"
  • No texto da mensagem de resposta, insira as palavras ou frases necessárias para o campo de condição no bloco "Primary condition check".

Configure o segundo botão da mesma forma (em nosso fluxo, este é o botão "Não").

Use textos/frases diferentes para os campos "response message text" nas configurações do botão dentro do mesmo projeto para evitar erros no chatbot.

Em seguida, vá para as configurações dos blocos Primary condition check, onde você precisa inserir as palavras que digitou no campo "response message text", usando o tipo de correspondência "Exact match":

Configure o segundo bloco para o botão "Não" da mesma forma.

Dessa forma, você aprendeu como mover automaticamente um cliente pelo funil usando três métodos diferentes.

Versão em vídeo do artigo

https://youtu.be/vO5Q8aLKkrk