Se o seu objetivo é realizar envio de mensagens no WhatsApp em forma de lembretes sobre confirmação de agendamentos de reuniões ou cancelamento das mesmas no Calendly, você veio até o lugar certo! O objetivo deste artigo é descrever passo a passo com todas as informações necessárias para fazer essa integração acontecer.
Antes de começarmos, é necessário repassar alguns avisos e informações sobre as plataformas necessárias para esta automação funcionar corretamente.
Calendly
Para que seja possível enviar os webhooks contendo os dados da reunião agendada ou cancelada para o Make, é necessário possuir o plano Standard ou superior no Calendly. Para contas novas até a data da publicação deste artigo, o Calendly disponibiliza gratuitamente o plano Standard para uso de maneira gratuita por 14 dias. Após isso, a conta volta a ser apenas free, onde a automação não é possível de ser realizada e por isso a necessidade de se assinar o plano deles.
Make
Esta plataforma oferece a possibilidade de possuir uma conta com um plano gratuito que dá acesso a alguns recursos e muitas outras limitações também.
Algumas limitações presentes são:
Limite de 1.000 operações mensais: Na prática, isso significa que toda vez que um cenário for executado, será contabilizado o número de módulos executados daquele cenário. Por exemplo, se o seu cenário tiver 3 módulos configurados (Webhooks, Google planilhas e HTTP) e ele for executado, serão contabilizadas 3 operações se todos os módulos forem executados. Essa questão poderá ser um limitante para casos onde o usuário mensalmente venha a atingir o limite de operações disponíveis e perceber que os cenários não estarão sendo executados conforme desejado, e, a partir desse momento pode ser interessante migrar para um plano pago do Make que dá direito principalmente a mais operações por mês ou aguardar os 30 dias para que haja a liberação de mais 1.000 operações gratuitas no mês seguinte.
Transferência de dados: Este é outro ponto que pode ser um limitante principalmente para casos onde sejam trafegados um volume de dados mais elevado nos cenários executados e Webhooks recebidos. O Make disponibiliza um limite de 512 MB por mês e a depender do caso de uso pode vir a ser um limitante também.
Limite de 2 cenários ativos: O Make permite manter apenas dois cenários ativos para o plano gratuito.
Utilização da página traduzida para Português: Em nossos testes, percebemos que o Make se comporta muito melhor na sua utilização com a página estando em seu idioma original (Inglês) e, ao traduzir a página para Português percebemos algumas inconsistências e um não funcionamento adequado na usabilidade da plataforma, por esse motivo é recomendado o uso e construção dos cenários em Inglês.
Ufa! Avisos repassados, bora começar a nossa integração!
Calendly
As configurações do Calendly giram em torno de como serão configurados os eventos de reuniões. Para cada evento criado, será necessário adicionar a caixinha onde o usuário deverá preencher o número de telefone. Sem esse dado, a integração não seria possível de ser realizada, pois, o número de telefone é um dado obrigatório para que o contato consiga entrar no bot e percorrer o fluxo conforme esperado.
Para isso, vamos apresentar a criação dessa caixinha com um evento criado (pode ser inclusive o evento que você já tenha criado para agendamento de suas reuniões). O primeiro passo será clicar no ícone de engrenagem e depois em edit.
Depois, vamos clicar em Booking page options.
E então vamos clicar em Add new question.
E então criar a nova pergunta referente ao número de telefone informando a pergunta que será exibida para o usuário, marcar a habilitar a opção Required, selecionar o tipo da resposta como sendo Phone Number, por fim, manter o Status como "On" e clicar em Done.
Após criar a pergunta, vamos movê-la para cima segurando os 6 pontinhos e arrastando para cima de modo como ela fique sendo a Q1 conforme o print abaixo:
Por fim, basta clicar em Save and close para salvar as alterações realizadas. Para se certificar de que os ajustes foram realizados corretamente, você pode clicar na opção View live page no canto superior direto da tela e o resultado final deverá ser semelhante a este:
Dessa maneira, o número de telefone será capturado corretamente através da pergunta quando ocorrer o agendamento!
Make
Depois logar corretamente no Make, vamos criar um novo cenário clicando no botão Create a new scenario destacado abaixo.
Configurando o módulo do Calendly
Depois de criar um novo cenário, ele irá abrir com a opção do módulo inicial a ser escolhido por nós. Esse será o gatilho que dará início a nossa automação, e, para o nosso caso, o gatilho será justamente quando ocorrer um evento no Calendly, por isso, vamos buscar por Calendly e selecionar a opção Watch Events.
Feito isso, já temos o módulo em nossa automação, o próximo passo vai ser configurar ele para se conectar a nossa conta no Calendly (que está aberta em outra aba do navegador). Para isso, vamos clicar em Create a webhook. Após isso, abrirá uma janela onde você pode definir um nome para o seu webhook e, principalmente vincular de fato sua conta do Calendly no Make, para isso, clique em Create a connection e depois na nova janela que irá abrir clique em Save.
Após apertar em Save irá abrir uma nova aba onde será feita a autenticação com o servidor do Calendly onde provavelmente irá aparecer essa tela abaixo.
Basta aguardar alguns segundos e a janela do Calendly irá aparecer solicitando a permissão para conectar sua conta do Calendly ao Make.
Então ao apertar em Connect to Calendly a conexão entre Make e Calendly será concluída. Após a conexão, a tela que irá abrir no Make será a exibida a seguir:
Tudo que precisaremos ajustar a partir daqui será os eventos que irão ocorrer na plataforma do Calendly, que podem ser o Invitee Created (convidado criado) ou Invitee Canceled (convidado cancelado). Em nosso tutorial, focaremos apenas no evento Invitee Created. Dessa maneira, para todo agendamento realizado no Calendly será enviado um Webhook para o Make com todos os dados daquele evento, como data, hora, link da reunião, dados do convidado e muito mais.
Em seguida, Vamos lanter a opção "Select from the list" e por fim, escolher a Organization URI da nossa conexão do Calendly bem como selecionar o User URI que irá aparecer em sequência. Dessa maneira, o resultado final será algo parecido com isto:
Então, basta clicar em Save e depois em OK para concluir as configurações do módulo do Calendly.
Depois de configurar o módulo do Calendly pela primeira vez, precisamos executar o cenário manualmente e realizar um agendamento de testes para que todos os dados do Calendly cheguem no Make para que possamos visualiza-los e utiliza-los conforme o esperado. Para isso, vamos pressionar o botão Run once, deixar ele executando e realizar o agendamento no evento criado lá no Calendly.
Preencha os dados do teste no Calendly e clique em Schedule Event para concluir o agendamento de teste.
Ao realizar o agendamento, instantaneamente será enviado o webhook para o Make de modo que o cenário que estava rodando seja concluído com todos os dados daquele evento de teste criado recebidos corretamente.
Configurando o módulo Phone Number
Após o recebimento dos dados com sucesso, vamos configurar o módulo seguinte, que será o módulo responsável por formatar o número de telefone para ser inserido corretamente na planilha do Google Sheets onde os dados ficarão armazenados numa espécie de "banco de dados".
Clique no botão de "+" ao lado do módulo do Calendly e busque pelo módulo "Phone number", selecione-o e clique na opção Parse a phone number.
Em seguida, clique no campo vazio em Phone number, depois, clique na setinha para baixo em Questions And Answers [ ] e selecione a opção Answer conforme o print abaixo:
Por fim, como também é exibido no print, defina a opção Default country for parsing como Brazil (BR) e clique em OK. Dessa maneira o módulo que formata o número de telefone está configurado com sucesso.
Criando a planilha no Google Sheets
Essa planilha será onde iremos armazenar os dados recebidos do Calendly no Make através do webhook enviado. Para isso, basta acessar o Google Planilhas com uma conta do Google (que será a mesma que iremos conectar no Make a seguir), criar uma nova planilha definindo um nome para a mesma e configurando o cabeçalho dela conforme o print abaixo.
Caso queira, também é possível baixar essa planilha de exemplo e subir para o seu Google Sheets:
Modelo Base de Dados Calendly.csv
Configurando o módulo do Google Sheets
Agora, vamos configurar o módulo do Google Sheets onde os dados serão armazenados. Para isso, clique no "+" ao lado do módulo do Phone Number e busque pela função "Add a Row" disponível no módulo do Google Sheets e adicione-a.
Após inserir o módulo, será necessário conectar sua conta do Google onde está a planilha que criamos anteriormente. Para isso, clique no botão verde Create a Connection e em seguida clique no botão azul Sign in with Google e acesse a sua conta do Google onde está a planilha que foi criada.
Depois de permitir os acessos no Google e voltar para o Make, a conexão terá sido concluída com sucesso e iremos nos deparar com a aba do print abaixo. Vamos clicar no botão azul Click here to choose file dentro de Spreadsheet ID para selecionar a planilha que criamos conforme mostrado acima.
Ao clicar no nome da planilha, selecione a aba dela conforme é exibido abaixo:
Em seguida, iremos preencher os dados dos respectivos cabeçalhos selecionando o campo vazio de cada um deles e atribuindo seus respectivos dados.
Para as colunas "data da reunião (D)" e "hora da reunião (F)", precisamos formatar os dados recebidos para os formatos de DD/MM/YYYY e HH:mm respectivamente usando as variáveis do objeto scheduled_event. Para isso, usaremos as funções formatDate e parseDate localizadas na aba destacada em laranja e seguindo a estrutura abaixo.
Por fim, de maneira parecida, iremos formatar os dados que irão chegar nas colunas "data da inscrição na reunião (G)" e "horário da inscrição (H)" utilizando a variável Created at e novamente usando as funções de formatDate seguida da parseDate exatamente como está no print abaixo:
Configurando o módulo Search Rows do Google Sheets
Após configurarmos todos os dados em suas respectivas colunas com as suas devidas formatações, podemos partir para o próximo módulo do Google Sheets que pegará os dados com base na data e hora que foi realizado o agendamento e enviar os dados via webhook para a Letalk.
Para isso, vamos clicar no "+" ao lado do módulo "Add rows" do Google Sheets e adicionar um novo módulo também do Google Sheets chamado "Search Rows". Esse módulo irá pegar as linhas com base nos filtros que iremos aplicar, que serão os filtros de data do agendamento e horário do momento do agendamento.
Depois de criar o módulo, a configuração do mesmo seguirá de forma semelhante com o "Add Rows", selecionando a planilha que contém os dados e pegando a respectiva aba. A principal diferença está na aplicação dos filtros com base nas colunas "data da inscrição na reunião (G)" e "horário da inscrição (H)", usando o operador "Text operators: Equal to" e abaixo utilizando formula do formatDate juntamente com a variável now para pegarmos o dia e hora atuais no formato DD/MM/YYYY e HH:mm.
Depois de configurar o filtro com ambas as condições e utilizando o operador lógico através do botão verde escrito Add AND rule, a configuração desde módulo está concluída e o resultado final é este:
Configurando o módulo HTTP
Esse módulo será responsável por enviar os dados para a Letalk. Para adiciona-lo vamos selecionar a opção "Make a request".
Nas configurações neste módulo, vamos em "URL" colar o link gerado no seu bot da Letalk onde os dados chegarão de modo que ativem o fluxo fazendo com que o contato percorra o bot e receba as mensagens conforme desejado. Depois, vamos definir o Method como sendo POST e o Body type como Application/x-www-form-urlencoded.
Por fim, iremos adicionar em "Fields" as variáveis que desejamos mandar para a Letalk. Onde em "Key" iremos colocar o nome da variável que chegará na Letalk via webhook e poderemos usar em nosso bot. Enquanto que o "Value" daquela "Key" será o respectivo valor selecionado na barra ao lado do Google Sheets - Search Rows, assim, a configuração ficará dessa forma:
Depois de concluir as configurações do módulo HTTP, basta clicar em OK. Em seguida, salve o seu cenário e habilite a opção "Immediately as data arrives", pois, dessa forma seu cenário ficará ativo e rodando automaticamente toda vez que um agendamento for realizado no Calendly.
Dessa maneira, temos configurado todos os nossos módulos do cenário do Make e o resultado esperado é que toda vez que alguém realizar um agendamento no Calendly, os dados cheguem na Letalk de modo que possam ser utilizados como melhor achar a depender da sua estratégia. Em nosso tutorial, o objetivo é enviar uma mensagem de confirmação do agendamento da reunião. Sabendo que os dados estão chegando corretamente temos o seguinte JSON de base:
Então, ao criar os respectivos campos personalizados para as variáveis que estamos recebendo, temos o seguinte mapeamento:
Após mapearmos as variáveis corretamente, agora sim finalmente podemos configurar a nossa mensagem que o contato irá receber em seu WhatsApp avisando sobre a confirmação da reunião.
E dessa maneira chegamos ao fim do nosso artigo! A partir daqui, fique a vontade para explorar sua criatividade em customizar e adaptar seu bot para que o contato ao receber a mensagem possa, por exemplo, ganhar uma tag de agendamento, continuar interagindo com o bot, ser transferido para algum atendente e muito mais!