Descubra como criar um chatbot de Dialogflow-WhatsApp usando a interface sem código da Landbot e o gestor de campanhas do WhatsApp para reduzir custos e agilizar processos de comunicação.
A pandemia mundial e a consequente corrida pela digitalização resultaram em um aumento sem precedentes no uso de tecnologias de chatbot, inteligência artificial e algoritmos de “machine learning”, aproximando o futuro dos chatbots da nossa realidade diária mais do que nunca.
Embora, nos últimos anos, mais e mais chatbots tenham surgido, a maioria deles são conversas lineares que seguem um guião, nas quais a linguagem natural dos usuários é limitada ou inexistente. Esses tipos de bots também podem ser poderosos e incrivelmente úteis. No entanto, há momentos — e canais — em que o uso do processamento de linguagem natural (PLN) pode fazer uma diferença positiva na experiência do cliente. Um desses canais é o aplicativo de mensagens mais popular do mundo, o WhatsApp.
Como o WhatsApp tem uma interface bastante limitada quando comparado a outros aplicativos de mensagens, como o Facebook Messenger, a conversa depende em grande parte do texto, em vez de elementos ricos da interface do usuário. Portanto, o WhatsApp é uma tela perfeita para conversas orientadas por PNL.
O problema, no entanto, é que a maioria das empresas, especialmente as menores, ficam longe dos bots de PNL pensando que sua produção é muito cara e demasiado demorada para justificar o investimento. Este artigo mostrará como construir um chatbot usando o software de PNL do Google, o Dialogflow, em combinação com o construtor da Landbot, de forma rápida, eficiente e sem perder a visão geral e o controle.
Então, se você é um programador procurando simplificações e hacks para facilitar seu trabalho, ou uma pessoa com pouco conhecimento de código, este artigo é para você.
O que Você Precisa para Criar um Agente Dialogflow-WhatsApp com a Landbot?
Para construir um bot Dialogflow-WhatsApp, você precisará de:
1) API do WhatsApp Business: Ao contrário do WhatsApp Business App básico, a API para WhatsApp permite enviar notificações em massa — também chamadas de mensagens altamente estruturadas (HSM) — para um número ilimitado de usuários, além de integrar seu canal com chatbot(s). Para ter acesso, primeiro você precisa solicitar a API do WhatsApp diretamente ou por meio de um provedor (recomendado).
2) Conta de Dialogflow: Se você ainda não tem uma, também precisará criar uma conta no “console” do Dialogflow da Google. O serviço é gratuito, a menos que você esteja interessado em recursos mais avançados, como análise de sentimentos.
3) Conta Landbot: Para unir tudo isso, você precisará de uma conta Landbot da qual o construtor visual e o gerente de campanhas do WhatsApp simplificarão as partes da criação do bot que ainda precisam de código, e assim tornando o processo de desenvolvimento mais rápido e eficiente. Portanto, você pode usar a Landbot para configurar rapidamente integrações de terceiros ou realizar cálculos que, de outra forma, exigiriam código. E, melhor ainda, a Landbot permite testar a experiência do usuário final do bot em um canal seguro do WhatsApp à medida que avança, em tempo real:
Como Construir um Chatbot Dialogflow-WhatsApp com a Landbot
Para acompanhar o tutorial, crie ou acesse sua conta gratuita da Landbot.
NOTA: Se o Dialogflow é novidade para você e gostaria de um relato mais detalhado dos fundamentos do uso desse software, confira nosso guia para usar o Dialogflow e sua integração com a Landbot.
1. Crie seu Agente do Dialogflow
Em primeiro lugar, você precisa criar seu agente do Dialogflow. Resumindo, um “agente” do Dialogflow é, essencialmente, o bot que você está construindo. Seus principais componentes de construção são “intents” que ajudam o agente a identificar o que o usuário realmente quer fazer.
Cada intent requer frases de treinamento (todas as diferentes maneiras pelas quais um usuário pode pedir a mesma coisa) e, é claro, as respostas (sempre crie mais variações para manter as conversas repetidas naturais.) Acesse o “Console” do Dialogflow e clique para criar um novo agente.
Em seguida, crie o nome, e escolha o fuso horário e o idioma do seu agente.
Quando tudo estiver configurado, vá para a seção de “intents” usando o menu à esquerda e comece a criar as “intents.” Para efeitos deste artigo, criámos um simples agente que permite marcar e cancelar agendamentos, bem como consultar horários de funcionamento.
Nessa fase, nós simplesmente nos concentramos em criar o lado conversacional do cumprimento das “intents”, pois lidaremos com o restante (por exemplo, integrações) na Landbot.
2. Crie um Bot na Landbot
Quando estiver no painel da Landbot, basta clicar no botão “Build a Chatbot” no canto superior direito da interface e, quando o pop-up de seleção de canal aparecer, selecione WhatsApp como canal.
Depois disso, você será redirecionado para a biblioteca de modelos, mas não se preocupe com isso. Em vez disso, clique no botão “Start from scratch” (começar do zero):
Antes de poder acessar a tela, haverá um pop-up de instruções solicitando que você configure seu canal de teste do WhatsApp para poder testar seu bot à medida que o cria:
Se você quiser configurar o canal de teste do WhatsApp mais tarde, basta clicar em "Build a multi-channel bot” (Construir um bot multicanal) para prosseguir para a tela de criação do bot:
3. Ajuste o Primeiro Bloco
O construtor da Landbot é frequentemente usado para projetar configurações estruturadas baseadas em regras que não dependem de PNL, mas são incrivelmente flexíveis e poderosas:
NOTA: Se estiver interessado em saber mais sobre bots baseados em regras, visite o guia completo para um bot baseado em regras para WhatsApp!
No entanto, se você deseja contar com “inputs” naturais, precisa fazer alguns ajustes. O mais importante é permitir que o usuário seja o primeiro a falar.
Conforme mostrado na seção anterior, ao entrar no construtor pela primeira vez, existe um bloco de “boas-vindas” pré-definido. Pode deletar ele!
Depois, você verá o seguinte:
Clique no campo e quando o menu rápido aparecer, procure pelo bloco “Set Variable” (definir variável):
Quando o editor de blocos aparecer à esquerda, defina o campo “Create/Select a variable to modify” (Criar/Selecionar uma variável para modificar) como @welcome e “Type the value” (Digite o valor) como ${body}:
@welcome é a variável que armazena o primeiro “input” do usuário por defeito. Ao definir seu valor para ${body}, estamos dizendo ao bot para reconhecer uma mensagem do usuário no WhatsApp como a primeira mensagem de ativação.
4. Integre o Agente do Dialogflow com a Landbot
Agora é hora de tornar as coisas interessantes e integrar o Dialogflow com o WhatsApp usando a Landbot. Desenhe uma seta no bloco “Set Variable” (definir variável) e selecione “Dialogflow” no menu de recursos:
Agora, para continuar, você precisa fazer o upload da chave JSON do Google Project do seu agente do Dialogflow. Se você nunca fez isso antes... Volte para o “console” > Abrir “configurações do agente” > Clique no link no campo "Conta de serviço":
Você será redirecionado para o Google Cloud Platform. Clique nos três pontos para abrir o menu de opções e selecione “Criar chave”.
Quando a janela aparecer, selecione JSON e clique em CRIAR.
Agora volte para a interface da Landbot e faça o upload do ficheiro! (Se tudo estiver OK, o sinal de visto no canto superior direito ficará roxo.)
Na segunda etapa, você precisa definir quais dados (“inputs” do usuário) deseja enviar da Landbot para o Dialogflow. Como definimos que nosso “input” de usuário será salvo na variável @welcome, a configuração será a seguinte:
A etapa três vai identificar que tipo de dados você deseja trazer de volta do Dialogflow para a Landbot. Existem dois campos principais para definir:
👉 Variável sob a qual você deseja salvar as respostas do agente definidas no Dialogflow
👉 Entidades que você deseja extrair do Dialogflow para a Landbot (somente se aplicável)
No entanto, você pode ir se aprofundar ainda mais. Ativando a “Configuração avançada” na parte superior do editor de blocos do Dialogflow:
Você pode desbloquear e configurar outros dados importantes do Dialogflow, como contexto e resposta de consulta:
👉 A variável de resposta puxa a resposta do agente do Dialogflow para o Landbot.
👉 As entidades ajudam você a transferir informações individuais como data, hora, endereço, nacionalidade, escolha do produto.
👉 Contexto de “outputs”, “payloads” (mais para programadores) e resposta de consulta permitem que você salve, por exemplo, o contexto do Dialogflow ou o nome da “intent” que o agente identificou e usá-los para definir condições e diversificar o fluxo.
5. Entendendo a Integração do Dialogflow
Depois de concluir a configuração, clique em SALVAR. Você notará que o bloco de integração do Dialogflow do chatbot tem três saídas diferentes: verde, amarelo e rosa:
O bot segue a saída verde se os dados de intenção foram identificados corretamente; segue a saída amarela se a intenção foi identificada corretamente, mas para ser cumprida é necessário que o usuário forneça uma ou mais entidades exigidas. Por último, mas não menos importante, o assistente segue a saída rosa quando o agente não consegue identificar a intenção (“fallback”). A integração mais simples do agente do Dialogflow será assim:
Desenhe uma seta em cada saída, selecione o bloco “Question: Text” (Pergunta: texto) e, em vez de uma pergunta estática, insira a variável que você escolheu para representar as respostas do agente do Dialogflow (por exemplo, @df_response). Salve a resposta do usuário na mesma variável de antes (@welcome), salve as alterações e faça um loop do bloco de volta para o Dialogflow. Faça isso para cada bloco e você está pronto.
Por exemplo, na sequência de reserva abaixo, o bot identifica a intenção corretamente como uma tentativa de fazer uma marcação. No entanto, como ainda falta uma entidade obrigatória, ela passa pela rota amarela. Assim, quando a conversa retorna ao Dialogflow, ela permanece na mesma intenção e solicita a entidade ausente. Somente depois que ambas as entidades são coletadas, o usuário vê a resposta final. Configuração do Dialogflow:
Experiência do usuário final:
6. Use o Bloco de Parâmetros do Dialogflow para Operações mais Complexas
Além dos blocos individuais que você pode usar para criar um chatbot de Dialogflow-WhatsApp, a Landbot também oferece “Bricks”. “Bricks” são conjuntos de blocos que você pode salvar e reutilizar quantas vezes quiser. Você pode fazê-los você mesmo ou usar os pré-projetados da biblioteca de bricks da Landbot:
Um dos blocos disponíveis, que é particularmente útil ao trabalhar com o Dialogflow, é o “Dialogflow Params” (parâmetros.) É um bloco de sistema pré-projetado que ajuda você a converter e limpar os dados avançados do Dialogflow, como contexto de saída, “payloads” e resposta de consulta de um conjunto para um formato que você pode aproveitar na Landbot. Ele faz isso usando o recurso “Fórmulas” que permite cálculos e processos semelhantes ao Excel:
O “brick” contém 5 configurações:
- Matriz de contexto de saída para sequência de contexto de saída
- “Payload” para qualquer parâmetro de “payload” que você estava usando
- Resposta da consulta para nome da intent
- Resposta da consulta para uma pontuação de confiança
- Resposta da consulta para linguagem de código
Como você pode usar esses dados a seu favor?
Por exemplo, queríamos extrair a intent do Dialogflow. Então, excluímos todos os outros blocos do “brick” que não precisávamos e configuramos aquele que converte @query_response para @user_intent:
(Certifique-se de criar a variável de saída — o bloco propõe um nome para ela, mas você ainda precisa clicar em "Criar" para ativá-la.) Além disso, verifique se você especificou os dados de saída que deseja converter no bloco de integração do Dialogflow:
Você deve ter notado que o bloco “Dialogflow Params” contém um grande bloco de mensagem.
Como as notas dentro do bloco sugerem, ele existe apenas para fins de solução de problemas e teste. Assim, depois de verificar se a fórmula que você selecionou funciona corretamente, você pode excluí-la. Abaixo você pode ver o bot identificar corretamente “Oi” como sendo “Intent de boas-vindas padrão”:
Saber o nome da “intent” pode ajudá-lo a configurar processos adicionais na Landbot usando a lógica condicional:
Se a variável @intent_name for igual a “Fazer uma marcação”, você pode desviar o fluxo para passar pelo seu CRM ou outra integração que lhe envie uma notificação do Slack ou uma notificação por e-mail para informá-lo sobre a nova reserva. Por exemplo, decidimos use a “intent” identificada e carregar os dados do compromisso em uma planilha antes de retornar ao Dialogflow:
Veja em ação:
No entanto, há muitas outras maneiras de usar os parâmetros do Dialogflow a seu favor.
Por exemplo, para melhorar:
👉 Experiência do cliente, você pode redirecionar todas as correspondências de “intent” com confiança abaixo de 0,6 para um agente humano.
👉 Coleta de dados, uma vez que um contexto é identificado, você pode alternar para um caminho estruturado baseado em regras até ter o que precisa para minimizar os erros de PNL e apenas o loop de volta para o Dialogflow.
👉 Experiência do usuário adicionando facilmente elementos avançados, como vídeos, imagens e documentos à conversa e dividindo as respostas do bot em várias bolhas — sem código. (Por exemplo, seu agente do Dialogflow reconhece a “intent” como uma solicitação de mais informações sobre sua empresa ou produto. Ele fornece uma resposta, mas como a configuração do seu Landbot também reconhece essa intenção, ele redireciona o usuário para um caminho que contém um vídeo ou áudio personalizados. Uma vez que a “intent” é cumprida, ele volta para a configuração de PNL para continuar a conversa.)
7. Sempre Tem Mais Truques
Quando se trata da Landbot, sempre há mais coisas que você pode fazer pelo seu assistente Dialogflow-WhatsApp. Um bom exemplo é o “brick” “Business Open/Closed” (Negócio aberto/fechado.) Usando um “webhook” que já está configurado, ele pode ajudá-lo a guiar seus clientes fora do horário comercial. Tudo o que você precisa fazer é ajustar os horários de abertura dentro do “webhook” para refletir sua empresa:
Como pode ver, é fácil você identificar:
- Fuso horário;
- Datas fechadas;
- Horários especiais em datas selecionadas;
- Horário geral de funcionamento.
Para configurá-lo, conecte a saída “Open” com um bloco “Human Takeover” (sim, é muito fácil!) e crie um caminho alternativo para a saída “Closed”.
Nesse caso, solicitamos que o usuário deixe uma mensagem que será enviada à equipe na forma de uma notificação por e-mail. Se sua empresa estiver aberta, seu agente receberá uma notificação por meio do gerenciador de bate-papo multi-agente centralizado.
Desde que o negócio esteja aberto, do ponto de vista do usuário, o “handoff” será assim:
Do ponto de vista do agente:
No entanto, se o negócio estiver fechado, o bot direciona o usuário por um caminho alternativo pedindo que ele envie uma mensagem/ticket para ser tratado quando o negócio estiver aberto:
Para Concluir
Honestamente, este artigo poderia continuar porque as possibilidades são infinitas. A Landbot oferece a você uma oportunidade única de personalizar e aprimorar seu assistente de PNL do WhatsApp sem perder muito tempo e adicionar custos ao processo de desenvolvimento. É uma oportunidade de transformar sua estratégia de mensagens do WhatsApp em algo mais.
Os programadores de chatbots e os criadores “no-code” têm muito a ganhar com isso.
Se você quiser experimentar, inscreva-se (de graça — não é necessário cartão de crédito) e experimente todos os recursos num teste gratuito.