Como criar um chatbot com fluxograma
Um chatbot com fluxograma oferece várias vantagens significativas na interação com os usuários. Sua abordagem estruturada permite uma navegação intuitiva, guiando os usuários por meio de uma sequência de perguntas e respostas. Além disso, ele fornece respostas padronizadas, garantindo a entrega de informações precisas e confiáveis aos seus contatos. A automação eficiente de tarefas repetitivas é outra vantagem, ajudando a economizar tempo e recursos da equipe que utiliza o Umbler Talk. Com o controle do fluxo de conversa proporcionado pelo fluxograma, é possível oferecer uma experiência de chatbot eficiente e satisfatória para os usuários.
Agora que você já sabe das vantagens da utilização do nosso robô com fluxograma, vamos entender como ele funciona na prática!
O chatbot de fluxograma funciona através de blocos de ações: isso significa que, cada bloco faz uma ação e após, segue para o próximo bloco formando o fluxograma completo.
Ná prática ele seguirá esse tipo de modelo de fluxo:
Um mesmo fluxograma desse tipo, ficará dessa forma no Umbler Talk:
Como criar um Fluxograma
Para criar o seu primeiro chatbot, você precisa primeiro acessar a suas configurações e clicar em chatbots:
Após acessar o menu de chatbots é necessário selecionar para criar um novo
Clicando em Criar chatbot, você deverá escolher a opção de Fluxograma.
Agora que já sabemos como funciona e como criar, vamos entender o que cada bloco de ação poderá fazer!
Blocos de início
Blocos de ação
Permite que adicione uma ou mais tags no chat.*
*Ainda não é possível adicionar tags para o contato.
- Específico
Transfere a conversa diretamente para o atendente escolhido.
- Aleatoriamente
Escolhe um dos atendentes aleatoriamente para transferir a conversa. É levado em consideração a última vez que cada atendente recebeu uma transferência de conversa em relação aos outros, para evitar a chance de sobrecarregar alguém. Pode-se determinar uma lista de atendentes que podem ser sorteados caso não deseje que inclua todos da organização.
- Com menos conversas em aberto Escolherá o atendente com o menor número de conversas abertas que o pertence. Pode-se determinar uma lista de atendentes que podem ser sorteados caso não deseje que inclua todos da organização.
- Quem o atendeu anteriormente
Procura pela conversa mais recente, finalizada, daquele contato, no mesmo canal e que havia alguém atribuído. Se uma conversa que atende esses requisitos existir, é transferido para o mesmo atendente. Senão, um aviso é mostrado em forma de nota e continua a execução sem transferir a ninguém.
Essa ação enviará uma mensagem para o contato com o enunciado que você definir juntamente com as opções que você preencher.
- Se executar em um canal Starter
As opções serão apresentadas uma embaixo da outra, enumeradas na mesma ordem que aparecem no bloco.
O contato poderá enviar uma mensagem digitando o número da opção quanto o nome da opção. Se o contato enviar uma mensagem inválida, será pedido que ele tente novamente. O bot desiste depois de 3 vezes.
- Se executar em um canal empresarial
São praticamente os mesmos comportamentos, com uma exceção:
Se forem até 10 opções, as opções serão apresentadas utilizando um botão que o cliente poderá ver todas as opções e clicar nelas
Essa ação envia uma mensagem para o contato e aguarda uma resposta. Útil para obter alguma informação do contato.
- Opções de valores
Existem várias possibilidades de valores que você pode obter:
É acionado caso o contato digite algo que se pareça com um e-mail. Não há validação se é um e-mail funcional ou até mesmo se é válido.
- Número de telefone
É acionado caso o contato digite um texto que se pareça com um número de telefone. Não há validação se é um número funcional ou até mesmo se é válido.
- CPF
É acionado caso o contato digite qualquer texto, desde que esse texto contenha exatamente 11 números. Permite que seja digitado com ou sem formatação, ou até com formatação errada. Não há validação dos dígitos verificadores.
- CNPJ
É acionado caso o contato digite qualquer texto, desde que esse texto contenha exatamente 14 números. Permite que seja digitado com ou sem formatação, ou até com formatação errada. Não há validação dos dígitos verificadores.
- Qualquer texto
É acionado para qualquer texto. É uma opção obrigatória, pode existir apenas uma e ficará sempre no final. É o caminho que será seguido caso o contato digite um texto que não esteja de acordo com nenhuma das outras opções.
- Customizado
Permite que você escreva sua própria expressão regular (Regex) para validar o texto do contato.
Se você precisar de ajuda para escrever e validar suas expressões, você pode utilizar o regexr.com. A familiaridade com Regex é altamente recomendado para utilizar essa opção.
- Comportamento
Quando estiver na hora de interpretar a mensagem do contato, essa ação começará a verificar opção por opção, de cima para baixo, até que o texto satisfaça o padrão esperado de alguma opção.
Essa observação é importante pois em um caso hipotético onde você tente detectar um telefone e um CPF no mesmo bloco, se o contato enviar uma mensagem contendo 11 números, tecnicamente pode ser qualquer um dos dois, devido a maneira que avaliamos. Então seguiria o caminho da opção que estiver mais acima.
- Opção de utilizar a mensagem anterior
Por padrão, esse bloco sempre envia o enunciado e aguarda a mensagem do contato para prosseguir com a detecção do texto digitado.
Dependendo do caso de uso, talvez você queira que o enunciado não seja enviado e a última mensagem do contato seja usada para a detecção
Por exemplo, se você tiver vários links para envio automático de mensagens (como aqueles que você pode obter utilizando o nosso serviço do contate.me), você pode criar Regexes customizados para detectar as mensagens pré-preenchidas de cada um dos seus links e já executar determinadas ações com base nisso no momento que a mensagem é enviada.
Se isso lhe interessa, basta habilitar essa opção.
Com a opção habilitada, o comportamento descrito só ocorrerá se no momento que o bloco executar a última mensagem no chat seja do contato e a mensagem seja um texto simples. Caso contrário o comportamento padrão será executado, que envolve enviar o enunciado e aguardar uma nova mensagem
- Particularidades de usar Regex
Há algumas coisas que você deve saber para poder utilizar Regexes conosco. São:
- O match ocorrerá apenas se a sua expressão englobar toda a mensagem do contato. Matches parciais não serão considerados. De certo modo, os operadores ^ e $ são implícitos. Se você não deseja esse comportamento, o seu Regex precisará explicitamente englobar conteúdos extras em cada lado. Utilizando .*, por exemplo.
- Nenhuma opção de Regex é habilitada por padrão
- Opções de Regex só podem ser especificadas in-line. Documentação.
- Como validamos as opções nativas
Internamente, todas as opções nativas nada mais são do que Regexes. Se quiser mais detalhes, aqui estão as definições de cada um:
- Qualquer texto:
.*
- E-mail:
[A-Za-z0-9+_.-]+@(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z0-9][a-z0-9-]{0,61}[a-z0-9]
- Número de telefone:
\+?([\d(). -]){5,20}
- CPF:
(\D*\d){11}\D*
- CNPJ:
(\D*\d){14}\D*
Esses Regexes estão sujeitos a mudança a qualquer momento a medida que melhoramos o produto.
Mas não se preocupe, uma alteração nossa não alterará o comportamento do seu fluxo. Ao alterarmos o Regex de uma opção nativa, os fluxos que você já tinha criado que a usam virarão uma opção customizada com o Regex anterior.
Você então terá a opção de deixar do jeito que está ou selecionar novamente a opção nativa para alterar para a nova validação.
Esse bloco finaliza a execução desse fluxo imediatamente e inicia a partir do início manual que você selecionar. Pode ser desse fluxo ou de outro fluxo na mesma organização.
Por ser um bloco terminal, não é possível conectar nada após ele.
Marcará ou desmarcará chat como esperando.
Com essa opção você pode marcar um chat como não-esperando enquanto o cliente está preenchendo os dados. Depois colocar como esperado no momento que finalizar o fluxo, por exemplo.
Blocos de condição
Bloco de finalização