
Compartilhar:
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.
Como enviar SMS a partir do Google Sheets
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 SMS
Pré-requisitos
Account de desenvolvedor da Vonage
Número virtual da Vonage - Alugue um número para o seu agente virtual
Account do Google para acessar o Google Sheets
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.anymensagem -
@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,
$messageClique 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 DataSua planilha terá 4 cabeçalhos de coluna:
namephone_numberbirthdaymessage
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 seria15552345678Certifique-se de que sua
phone_numbercoluna esteja formatada como “Texto simples”, ou você terá problemas com os dados mais tarde.Certifique-se de que
birthdayesteja formatado noDate. Por exemplo: 26/09/2008.
Plain 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 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:
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
X-Vgai-Key
Adicione sua chave de API do AI Studio. Você pode encontrar o
X-Vgai-Keyno canto superior direito da tela do AI Studio. Clique no ícone de “usuário” e, em seguida, em “Gerar chave de API”.
agent_id
Adicione o
iddo 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:
No painel à esquerda, selecione “Gatilhos”.
Clique em “Adicionar gatilho”.
Escolha as seguintes configurações:
Escolha qual função deseja executar:
sendBirthdaySMSEscolha qual implantação deve ser executada:
HEADSelecione a fonte do evento:
Time-drivenSelecione o tipo de gatilho baseado no tempo:
Day timerSelecione o horário do dia: decida quando você deseja que suas mensagens sejam enviadas
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:
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.