
Partager:
Benjamin Aronov est un défenseur des développeurs chez Vonage. C'est un bâtisseur de communauté qui a fait ses preuves, avec une formation en Ruby on Rails. Benjamin apprécie les plages de Tel Aviv, où il vit. Sa base à Tel Aviv lui permet de rencontrer et d'apprendre de certains des meilleurs fondateurs de startups du monde. En dehors de la technologie, Benjamin aime voyager à travers le monde à la recherche du parfait pain au chocolat.
Comment envoyer des SMS à partir de Google Sheets ?
Temps de lecture : 5 minutes
J'oublie souvent de souhaiter un joyeux anniversaire à mes amis et à ma famille. Ce n'est pas que je le veuille, mais avec un emploi du temps chargé et de longues distances qui nous séparent, il semble que j'oublie de plus en plus souvent d'envoyer un message à temps.
Eh bien, je viens de trouver la solution parfaite ! J'ai créé une feuille de calcul Google Sheets avec mes contacts bien-aimés, leurs anniversaires et des messages sincères. En utilisant Google Apps Scripts et AI Studio de Vonage, j'ai construit une intégration pour envoyer automatiquement des SMS à partir de Google Sheets. Et c'est du code basique !
Dans ce tutoriel, vous apprendrez à envoyer des SMS à partir de Google Sheets et ne plus jamais manquer un anniversaire !
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.
Conditions préalables
Compte de développeur Vonage
Numéro virtuel de Vonage - Louez un numéro pour votre agent virtuel
Compte Google pour accéder à Google Sheets
Comment créer un chatbot SMS sortant ?
Pour créer votre agent, suivez les instructions figurant dans la documentation d'AI Studio ici. Il existe trois options importantes pour notre agent :
Type : SMS
Modèle : Partir de zéro
Événement : Sortie
La fonctionnalité de votre agent sera très simple : envoyer un seul SMS avec vos vœux d'anniversaire. Vous utiliserez un seul nœud nœud d'envoi de message et un nœud de nœud de fin de conversation. Vous trouverez le contenu du message à l'étape suivante.
Comment créer des paramètres personnalisés dans AI Studio ?
Dans votre nœud d'envoi de message, vous aurez besoin de deux paramètres. Ouvrez donc le panneau Propriétés sur le côté gauche et choisissez Paramètres. Sous Paramètres personnalisés, créez les entrées suivantes:
nom -
@sys.anymessage -
@sys.any
Enregistrez les paramètres et ouvrez votre nœud d'envoi de message. À l'intérieur du nœud, ajoutez le message suivant. Pour utiliser vos paramètres, tapez $ suivi du nom du paramètre. Par exemple, pour utiliser la valeur du nom, tapez $name.
Dear $name,
$messageCliquez sur Enregistrer et quitter.
Comment connecter votre agent virtuel à un numéro virtuel
La dernière étape consiste à connecter votre agent à un numéro virtuel et à publier l'application. Ce guide explique comment déployer votre agent pour qu'il soit accessible sur l'internet public.
Comment créer une base de données Google Sheets
Ouvrir Google Sheets et cliquez sur Feuille de calcul vierge. Donnez à votre feuille de calcul un titre agréable, comme Messages d'anniversaire. Nommez également votre feuille "Anniversaires" comme indiqué ci-dessous.
Example of Google Sheet DataVotre feuille comportera 4 colonnes d'en-têtes :
namephone_numberbirthdaymessage
Ajoutez les données de dix amis.
Pour
phone_numberajoutez votre numéro ou un autre numéro de téléphone auquel vous pouvez accéder pour recevoir des SMS à des fins de test. Les numéros de téléphone doivent être au format international, sans + ni 00. Par exemple, un numéro américain serait15552345678Veillez à ce que votre colonne
phone_numbersoit formatée en "texte brut", sinon vous aurez des problèmes avec les données plus tard.Veillez à ce que
birthdayest formaté pour être de typeDatetype. Par exemple, 9/26/2008.
Plain Text Formatting in Google Sheets
Comment convertir votre feuille de calcul Google en JSON
Vous pouvez maintenant transformer votre feuille de calcul Google en une application programmable ! Ouvrez l'onglet Extensions et sélectionnez Apps Scripts. Apps Scripts vous permet d'écrire du code au-dessus des applications de l'espace de travail Google, telles que Google Sheets ou Google Docs, afin d'automatiser et d'étendre leurs fonctionnalités.
Apps Script Tab in Google SheetsTout d'abord, donnez à votre nouveau projet un titre agréable comme Birthday Messages API. Effacez le code dans code.gs et remplacez-le par ce qui suit :
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);
}
}
}Ce code crée une fonction sendBirthdaySMS qui recherche dans notre feuille de calcul la feuille birthdays dans notre feuille de calcul. Il parcourt ensuite chaque ligne et vérifie si la date d'anniversaire de la personne est aujourd'hui en comparant les valeurs du jour et du mois. Si c'est le cas, il crée l'objet payload qui contient les informations relatives à la personne. Il transmet ensuite ces informations à la fonction sendRequest qui enverra les informations relatives à l'anniversaire à AI Studio.
Comment envoyer une requête POST à un script d'application ?
Vous allez maintenant créer votre fonction sendRequest fonction pour déclencher votre agent virtuel sortant. Vous pouvez coller le code suivant sous la section sendBirthdaySMS() sous la section
Pour que ce code fonctionne, vous devez mettre à jour trois valeurs :
aiStudioUrl
Le point de terminaison dépend de la région que vous avez sélectionnée pour votre agent :
Pour les agents de l'UE → https://studio-api-eu.ai.vonage.com/messaging/conversation Pour les agents des États-Unis --> https://studio-api-us.ai.vonage.com/messaging/conversation
X-Vgai-Key
Ajoutez votre clé d'API AI Studio. Vous trouverez l'icône
X-Vgai-Keyen haut à droite de votre AI Studio canvas. Cliquez sur l'icône "user", puis sur "Generate API Key".
agent_id
Ajoutez le
idde votre agent Vonage AI Studio. Vous trouverez cette information dans les détails de l'agent.
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());
}Que fait ce code ? Il crée une requête POST en préparant l'URL, les en-têtes et le corps du message. Dans les en-têtes, la clé X-Vgai-Key garantit que cet agent vous appartient. Dans le corps de la requête, vous indiquez à AI Studio quel agent déclencher et à qui envoyer les messages. Vous transmettez les valeurs du nom et du message dans AI Studio, que vous avez préparées précédemment. Tout cela est regroupé dans des options et, à l'aide de UrlFetchApp vous faites la demande.
Récemment, AI Studio a ajouté des limites de taux sur les requêtes. Pour y remédier, un délai de 2 secondes est ajouté entre les demandes à l'aide de Utilities.sleep(2000) ;
Et le tour est joué ! Vous pouvez maintenant tester le fonctionnement de votre code en cliquant sur Exécuter.
Pour le test, assurez-vous qu'au moins trois des contacts ont un anniversaire le jour même et un numéro de téléphone accessible.
C'est vraiment génial !
Comment créer une tâche Cron dans un script Apps pour qu'elle s'exécute quotidiennement ?
L'application doit être exécutée quotidiennement pour vérifier si quelqu'un a un anniversaire. Vous pouvez le faire assez facilement dans Apps Script by :
Dans le panneau de gauche, sélectionnez "Déclencheurs".
Cliquez sur "Ajouter un déclencheur".
Choisissez les paramètres suivants :
Choisissez la fonction à exécuter :
sendBirthdaySMSChoisissez le déploiement à exécuter :
HEADSélectionner la source de l'événement :
Time-drivenSélectionner le type de déclencheur temporel :
Day timerChoisir l'heure de la journée : décidez de l'heure à laquelle vous souhaitez que vos messages soient envoyés
Cliquez sur "Enregistrer".
Conclusion
Maintenant que vous avez connecté votre agent SMS AI Studio à Google Sheets, quelle est la prochaine étape ?
Vous pouvez peut-être envoyer un courriel d'anniversaire à l'aide du nœud AI Studio nœud d'email d'AI Studio. Vous pouvez créer un agent Voice pour chanter une chanson d'anniversaire à vos amis. Ou vous pouvez utiliser l'intégration intégration de l'IA générative pour envoyer à vos amis une photo d'anniversaire amusante.
Quoi que vous décidiez de faire, nous voulons en savoir plus ! N'hésitez pas à nous contacter dans notre Communauté des développeurs Slack ou sur X, anciennement connu sous le nom de Twitter.
Ressources complémentaires
Partager:
Benjamin Aronov est un défenseur des développeurs chez Vonage. C'est un bâtisseur de communauté qui a fait ses preuves, avec une formation en Ruby on Rails. Benjamin apprécie les plages de Tel Aviv, où il vit. Sa base à Tel Aviv lui permet de rencontrer et d'apprendre de certains des meilleurs fondateurs de startups du monde. En dehors de la technologie, Benjamin aime voyager à travers le monde à la recherche du parfait pain au chocolat.
