
Compartir:
Benjamin Aronov es desarrollador de Vonage. Es un constructor de comunidades con experiencia en Ruby on Rails. Benjamin disfruta de las playas de Tel Aviv, a la que llama hogar. Su base en Tel Aviv le permite conocer y aprender de algunos de los mejores fundadores de startups del mundo. Fuera de la tecnología, a Benjamin le encanta viajar por el mundo en busca del perfecto pain au chocolat.
Cómo enviar SMS desde Google Sheets
Tiempo de lectura: 5 minutos
A menudo me olvido de desear un feliz cumpleaños a mis queridos amigos y familiares. No es que sea mi intención, pero con una agenda apretada y las largas distancias que nos separan, parece que cada vez me olvido más a menudo de enviar un mensaje a tiempo.
Pues bien, ¡se me acaba de ocurrir la solución perfecta! Creé una hoja de cálculo de Google Sheets con mis queridos contactos, sus cumpleaños y mensajes sinceros. Usando Google Apps Scripts y AI Studio de Vonage, creé una integración para enviar SMS automáticamente desde Google Sheets. ¡Y todo es low-code!
En este tutorial, aprenderá a enviar SMS desde Google Sheets y ¡no volverás a perderte un cumpleaños!
Example of Outbound SMS
Vonage API Account
To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.
Requisitos previos
Cuenta de desarrollador de Vonage
Número virtual de Vonage - Alquile un número para tu agente virtual
Account Google para acceder a Google Sheets
Cómo crear un chatbot para SMS salientes
Para crear su agente, siga las instrucciones de la documentación de AI Studio aquí. Hay tres opciones importantes para nuestro agente:
Tipo: SMS
Plantilla: Empezar de cero
Evento: Salida
La funcionalidad de su agente será bastante sencilla: enviar un único SMS con sus buenos deseos de cumpleaños. Utilizarás un único Nodo de envío de mensajes y un Nodo de Fin de Conversación. Puede encontrar el contenido del mensaje en el siguiente paso.
Cómo crear parámetros personalizados en AI Studio
Dentro de su Nodo Enviar Mensaje, necesitará dos parámetros. Así que abra el panel de Propiedades en el lado izquierdo y elija parámetros. En Parámetros Personalizados cree las siguientes entradas:
nombre -
@sys.anymensaje -
@sys.any
Guarde los parámetros y abra su Nodo Enviar Mensaje. Dentro del nodo, añada el siguiente mensaje. Para utilizar sus parámetros, escriba $ seguido del nombre del parámetro. Por ejemplo, para usar el valor de su nombre, escriba $nombre.
Dear $name,
$messageHaga clic en Guardar y Salir.
Cómo conectar su agente virtual a un número virtual
El último paso es conectar su agente a un número virtual y publicar la aplicación. Esta guía explica cómo desplegar su agente para que sea accesible en la Internet pública.
Cómo crear una base de datos de Google Sheets
Abrir Hojas de cálculo de Google y haz clic en Hoja de cálculo en blanco. Dale a tu hoja de cálculo un título bonito como Mensajes de cumpleaños. Además, nombra tu hoja cumpleaños como se muestra a continuación.
Example of Google Sheet DataSu hoja tendrá 4 cabeceras de columna:
namephone_numberbirthdaymessage
Añade los datos de diez amigos.
Para
phone_number, añada su número u otro número de teléfono al que pueda acceder para recibir SMS de prueba. Numbers deben estar en formato internacional sin + o 00. Por ejemplo, un número de EE.UU. sería15552345678Asegúrese de que su
phone_numberesté formateada en "Texto sin formato" o tendrá problemas con los datos más adelante.Asegúrese de que
birthdaytenga el formatoDatetipo. Por ejemplo, 9/26/2008.
Plain Text Formatting in Google Sheets
Cómo convertir Google Sheet a JSON
Ahora, ¡convertirás tu hoja de cálculo de Google en una aplicación programable! Abre la pestaña Extensiones y selecciona Apps Scripts. Apps Scripts te permite escribir código sobre aplicaciones de Google Workspace como Google Sheets o Google Docs para automatizar y ampliar sus funciones.
Apps Script Tab in Google SheetsPrimero, dale a tu nuevo proyecto un título bonito como Birthday Messages API. Borra el código en code.gs y sustitúyelo por lo siguiente:
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 crea una función sendBirthdaySMS que busca en nuestra hoja de cálculo la hoja birthdays hoja. Luego itera a través de cada fila, comprobando si hoy es el cumpleaños de la persona comparando el valor del día y el mes. Si es así, crea el objeto payload que contiene la información de la persona. A continuación, pasa esta información a la función sendRequest que enviará la información del cumpleaños a AI Studio.
Cómo enviar una solicitud POST de Apps Script
Ahora creará su función sendRequest función para activar su Agente Virtual de Salida. Puede pegar el siguiente código debajo de la sección sendBirthdaySMS() sección.
Para que este código funcione, tendrás que actualizar 3 valores:
aiStudioUrl
El punto final depende de la región que haya seleccionado para su agente:
Para agentes de la UE → https://studio-api-eu.ai.vonage.com/messaging/conversation Para agentes de EE.UU. --> https://studio-api-us.ai.vonage.com/messaging/conversation
X-Vgai-Key
Añade tu clave API de AI Studio. Puedes encontrar el icono
X-Vgai-Keyen la parte superior derecha del lienzo de AI Studio. Haz clic en el icono "usuario" y, a continuación, en "Generar clave API".
agent_id
Agrega el
idde tu agente de Vonage AI Studio. Puedes encontrarlo en detalles del 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());
}¿Qué hace este código? Crea una petición POST preparando la URL, las cabeceras y el cuerpo. En las cabeceras, la clave X-Vgai-Key garantiza que este agente le pertenece. En el cuerpo, le dice a AI Studio qué agente activar y a quién enviar los mensajes. Los valores para el nombre y el mensaje en AI Studio los preparas tú previamente. Todo esto se agrupa en opciones, y usando UrlFetchApp se realiza la solicitud.
Recientemente, AI Studio ha añadido límites en las peticiones. Para adaptarse, se añade un retardo de 2 segundos entre solicitudes mediante Utilities.sleep(2000);
Y ya está. Ahora puede probar que su código funciona haciendo clic en Ejecutar.
Para las pruebas, asegúrate de que al menos tres de los contactos cumplen años el día en curso y tienen un número de teléfono al que puedes acceder.
¡Qué guay!
Cómo crear un Cron Job en Apps Script para que se ejecute diariamente
La aplicación debe ejecutarse diariamente para comprobar si alguien cumple años. Usted puede hacer esto con bastante facilidad en Apps Script por:
En el panel izquierdo, seleccione "Activadores".
Haga clic en "Añadir activador".
Elija los siguientes ajustes:
Elija la función que desea ejecutar:
sendBirthdaySMSElija qué despliegue debe ejecutarse:
HEADSeleccione la fuente del evento:
Time-drivenSeleccione el tipo de activación temporal:
Day timerSeleccione la hora del día: decida cuándo desea que se envíen sus mensajes.
Haz clic en "Guardar".
Conclusión
Ahora que has conectado tu agente de SMS de AI Studio con Google Sheets, ¿qué es lo siguiente?
Tal vez puedas enviar un correo electrónico de cumpleaños utilizando AI Studio's Nodo Email. Podrías crear un Agente de voz para cantar a tus amigos una canción de cumpleaños. O podría utilizar la integración de IA Generativa para enviar a tus amigos una divertida foto de cumpleaños.
Sea lo que sea lo que decida hacer, queremos que nos lo cuente. Póngase en contacto con nosotros en nuestra Slack de la comunidad de desarrolladores o en X, antes conocido como Twitter.
Recursos adicionales
Compartir:
Benjamin Aronov es desarrollador de Vonage. Es un constructor de comunidades con experiencia en Ruby on Rails. Benjamin disfruta de las playas de Tel Aviv, a la que llama hogar. Su base en Tel Aviv le permite conocer y aprender de algunos de los mejores fundadores de startups del mundo. Fuera de la tecnología, a Benjamin le encanta viajar por el mundo en busca del perfecto pain au chocolat.
