https://a.storyblok.com/f/270183/1368x665/3d1d4c29f9/sms-google-sheet.png

Como enviar SMS a partir do Google Sheets

Publicado em August 1, 2024

Tempo de leitura: 5 minutos

Muitas vezes esqueço de desejar um feliz aniversário aos meus queridos amigos e familiares. Não é que eu faça isso de propósito, mas, com uma agenda lotada e as longas distâncias que nos separam, parece que, cada vez mais, acabo esquecendo de enviar uma mensagem a tempo.

Bem, acabei de encontrar a solução perfeita! Criei uma planilha do Google Sheets com meus queridos contatos, suas datas de aniversário e mensagens sinceras. Usando o Google Apps Script e o AI Studio da Vonage, desenvolvi uma integração para enviar SMS automaticamente a partir do Google Sheets. E tudo isso com pouca programação!

Neste tutorial, você aprenderá a enviar SMS a partir do Google Sheets e nunca mais perder outro aniversário!

Example of Outbound SMSExample of Outbound SMS

Pré-requisitos

Como criar um chatbot de SMS de saída

Para criar seu agente, siga as instruções disponíveis na documentação do AI Studio aqui. Existem três opções importantes para o nosso agente:

  • Tipo: SMS

  • Modelo: Começar do zero

  • Evento: Saída

A funcionalidade do seu agente será bem simples: enviar uma única mensagem SMS com seus votos de feliz aniversário. Você usará um único Nó “Enviar Mensagem” e um Nó “Encerrar Conversa”. Você encontrará o conteúdo da mensagem na próxima etapa.

Como criar parâmetros personalizados no AI Studio

Dentro do seu nó “Enviar mensagem”, você precisará de dois parâmetros. Portanto, abra o painel “Propriedades” no lado esquerdo e selecione “parâmetros”. Em “Parâmetros personalizados”, crie as seguintes entradas:

  • nome - @sys.any

  • mensagem - @sys.any

Salve os parâmetros e abra o nó “Enviar mensagem”. Dentro do nó, adicione a seguinte mensagem. Para usar seus parâmetros, digite $ seguido do nome do parâmetro. Por exemplo, para usar o valor do parâmetro “name”, digite $name.

Dear $name,

$message

Clique em “Salvar e sair”.

Como conectar seu agente virtual a um número virtual

A etapa final consiste em conectar seu agente a um número virtual e publicar o aplicativo. Este guia explica como implantar seu agente para que ele fique acessível na internet pública.

Como criar um banco de dados no Google Sheets

Abrir o Google Sheets e clique em “Planilha em branco”. Dê à sua planilha um título legal, como “Mensagens de aniversário”. Além disso, nomeie sua planilha como “aniversários”, conforme mostrado abaixo.

Example of Google Sheet DataExample of Google Sheet DataSua planilha terá 4 cabeçalhos de coluna:

  1. name

  2. phone_number

  3. birthday

  4. message

Adicione o equivalente aos dados de dez amigos.

  • Para phone_number, insira seu número ou outro número de telefone ao qual você tenha acesso para receber SMS para teste. Os números de telefone devem estar no formato internacional, sem nenhum + ou 00. Por exemplo, um número dos EUA seria 15552345678

  • Certifique-se de que sua phone_number coluna esteja formatada como “Texto simples”, ou você terá problemas com os dados mais tarde.

  • Certifique-se de que birthday esteja formatado no Date . Por exemplo: 26/09/2008.

Plain Text Formatting in Google SheetsPlain Text Formatting in Google Sheets

Como converter sua planilha do Google Sheets para JSON

Agora, você vai transformar sua planilha do Google em um aplicativo programável! Abra a aba “Extensões” e selecione “Apps Script”. O Apps Script permite que você escreva código em aplicativos do Google Workspace, como o Google Sheets ou o Google Docs, para automatizar e ampliar suas funcionalidades.

Apps Script Tab in Google SheetsApps Script Tab in Google SheetsPrimeiro, dê ao seu novo projeto um título legal, como “Messages API de aniversário”. Apague o código do arquivo code.gs e substitua-o pelo seguinte:

function sendBirthdaySMS() {
 // Open the spreadsheet by name
 var ss = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = ss.getSheetByName("birthdays");
  // Get today's date
 var today = new Date();
 var todayDay = today.getDate();
 var todayMonth = today.getMonth() + 1;
  // Get all the data from the sheet
 var data = sheet.getDataRange().getValues();
  // Iterate through each row to check for birthdays
 for (var i = 1; i < data.length; i++) {
   var name = data[i][0];
   var phoneNumber = data[i][1];
   var birthday = new Date(data[i][2]);
   var birthdayDay = birthday.getDate();
   var birthdayMonth = birthday.getMonth() + 1;
   var message = data[i][3];
  
   // Check if today is the person's birthday
   if (birthdayDay === todayDay && birthdayMonth === todayMonth) {
     // Prepare the JSON payload
     var payload = {
       "name": name,
       "phone_number": phoneNumber,
       "birthday": birthday.toISOString(),
       "message": message
     };
     const payload_string = JSON.stringify(payload)
 
     // Send POST request to AI Studio
     sendRequest(payload);
   }
 }
}

Este código cria uma sendBirthdaySMS função que procura na nossa planilha a birthdays folha. Em seguida, percorre cada linha, verificando se hoje é o aniversário da pessoa, comparando os valores do dia e do mês. Se for o caso, cria o objeto de carga útil que contém as informações da pessoa. Depois, passa essas informações para a sendRequest função, que enviará as informações de aniversário para o AI Studio.

Como enviar uma solicitação POST no Apps Script

Agora você vai criar sua sendRequest função para acionar seu Agente Virtual de Saída. Você pode colar o código a seguir abaixo da sendBirthdaySMS() seção.

Para que esse código funcione, você precisará atualizar três valores:

  1. aiStudioUrl 

  • O endpoint depende da região que você selecionou para o seu agente:

Para agentes da UE → https://studio-api-eu.ai.vonage.com/messaging/conversation Para agentes dos EUA --> https://studio-api-us.ai.vonage.com/messaging/conversation

  1. X-Vgai-Key

  • Adicione sua chave de API do AI Studio. Você pode encontrar o X-Vgai-Key no canto superior direito da tela do AI Studio. Clique no ícone de “usuário” e, em seguida, em “Gerar chave de API”.

  1. agent_id

  • Adicione o id do seu agente do Vonage AI Studio. Essa informação pode ser encontrada nos detalhes do agente.

function sendRequest(payload) {
 // Add your URL depending if using EU or US agent
 // check point #2 above for URL to add in the ''
 var aiStudioUrl = ''

  // Define headers for the POST request
 var headers = {
'Content-Type': 'application/json',
 	'X-Vgai-Key': '' // Replace with your AI Studio key
 };
  // Define the body for the POST request
 var body = {
   "to": payload.phone_number,
   "agent_id": "", // Replace with your agent ID
   "channel": "sms",
   "session_parameters": [
     {
       "name": "name",
       "value": payload.name
     },
     {
       "name": "message",
       "value": payload.message
     }
   ]
 };
  // Define the options for the POST request (e.g., headers, authentication)
 var options = {
   'method': 'post',
   'headers': headers,
   'payload': JSON.stringify(body)
 };

  // Send the POST request
 var response = UrlFetchApp.fetch(aiStudioUrl, options);

 // Add a two-second delay before sending the next request
 Utilities.sleep(2000);

  // Log the response (you can do more error handling here)
 Logger.log(response.getContentText());
}

Então, o que esse código faz? Ele cria uma solicitação POST, preparando a URL, os cabeçalhos e o corpo da solicitação. Nos cabeçalhos, o X-Vgai-Key garante que esse agente pertença a você. No corpo da solicitação, você informa a AI Studio qual agente deve ser acionado e para quem as mensagens devem ser enviadas. Você passa os valores do nome e da mensagem no AI Studio, que você preparou anteriormente. Tudo isso é agrupado em opções e, ao UrlFetchApp você faz a solicitação.

Recentemente, o AI Studio adicionou limites de taxa aos pedidos. Para se adequar a isso, um atraso de 2 segundos é adicionado entre os pedidos usando Utilities.sleep(2000);

E pronto! Agora você pode testar se o seu código funciona clicando em Executar.

Para fazer o teste, certifique-se de que pelo menos três dos contatos tenham aniversário no dia de hoje e um número de telefone ao qual você tenha acesso.

Que legal isso!

Como criar uma tarefa Cron no Apps Script para ser executada diariamente

O aplicativo deve ser executado diariamente para verificar se alguém está fazendo aniversário. Você pode fazer isso com bastante facilidade no Apps Script da seguinte maneira:

  1. No painel à esquerda, selecione “Gatilhos”.

  2. Clique em “Adicionar gatilho”.

  3. Escolha as seguintes configurações:

  4. Escolha qual função deseja executar: sendBirthdaySMS

    • Escolha qual implantação deve ser executada: HEAD

    • Selecione a fonte do evento: Time-driven

    • Selecione o tipo de gatilho baseado no tempo: Day timer

    • Selecione o horário do dia: decida quando você deseja que suas mensagens sejam enviadas

  5. Clique em “Salvar”.

Conclusão

Agora que você conectou o SMS Agent do AI Studio ao Google Sheets, o que vem a seguir?

Talvez você possa enviar um e-mail de aniversário usando o AI Studio Nó de E-mail. Você poderia criar um agente de voz para cantar uma canção de aniversário para seus amigos. Ou você poderia usar a integração de IA generativa para enviar uma foto divertida de aniversário aos seus amigos.

Seja qual for a sua decisão, queremos saber! Entre em contato conosco na nossa Slack da Comunidade de Desenvolvedores ou no X, antes conhecido como Twitter.

Recursos adicionais

Compartilhar:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovDeveloper Advocate

Benjamin Aronov is a developer advocate at Vonage. He is a proven community builder with a background in Ruby on Rails. Benjamin enjoys the beaches of Tel Aviv which he calls home. His Tel Aviv base allows him to meet and learn from some of the world's best startup founders. Outside of tech, Benjamin loves traveling the world in search of the perfect pain au chocolat.