https://a.storyblok.com/f/270183/1368x665/bdce6f5ea5/phone-calls_google-sheets.png

Passer des appels téléphoniques à partir de Google Sheets

Publié le August 8, 2024

Temps de lecture : 6 minutes

Ces derniers temps, j'ai oublié d'appeler mes amis pour leur anniversaire. Je ne le fais pas exprès, c'est juste que le fait de vivre à l'autre bout du monde rend les choses difficiles. Mais comme je travaille dans une société de communication API, je peux me débarrasser de ce problème grâce à la technologie !

Bien sûr, j'ai trouvé la solution parfaite ! J'ai créé une feuille de calcul Google Sheets avec mes contacts adorés, leurs anniversaires et des messages sincères. Et maintenant, mes amis reçoivent des appels d'anniversaire robotisés. En combinant les Apps Scripts de Google et AI Studio de Vonage pour envoyer automatiquement un message d'anniversaire robotisé à partir de Google Sheets. Et tout cela avec une interface " low-code " et " drag-and-drop " !

Cette intégration est parfaite pour tous ceux qui souhaitent passer des appels téléphoniques à partir d'une feuille de calcul ou d'un fichier CSV, mais qui ne veulent pas créer une solution entièrement codée.

Dans ce tutoriel, vous apprendrez à envoyer des appels téléphoniques à partir de Google Sheets et à ne plus jamais manquer un anniversaire !

Conditions préalables

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.

Comment créer un chatbot vocal sortant ?

Pour créer votre agent, suivez les instructions figurant dans la documentation de documentation AI Studio. Il y a trois options importantes pour notre agent, sélectionnez :

  • Type : Téléphonie

  • Modèle : Partir de zéro

  • Événement : Sortie

La fonctionnalité de votre agent sera très simple : un seul SMS contenant 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.

Overview of Bot ArchitectureOverview of Bot Architecture

Comment créer des paramètres personnalisés dans AI Studio ?

Dans votre nœud d'envoi de message, vous aurez besoin de 2 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.any

  • message - @sys.any

Enregistrez les paramètres et ouvrez votre nœud Speak. À l'intérieur du nœud, ajoutez le message suivant. Utilisez vos paramètres en tapant le $ suivi du nom du paramètre. Par exemple, pour utiliser la valeur de votre nom, vous devez taper $nom.

<speak><break time='1s' /> <p> Dear $name</p> <p>Your loving friend YOUR_NAME has the following birthday message for you: $message </p> <p>Have a wondeful birthday!</p></speak>

Vous remarquerez que vous utilisez langage de balisage de la synthèse vocale afin de pouvoir ajouter une pause d'une seconde et de créer différents paragraphes pour que l'agent parle de manière plus naturelle.

Cliquez 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. Ce guide explique comment publier votre agent.

Comment créer une base de données Google Sheets

Ouvrez 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.

Simple Birthday Database in Google SheetsSimple Birthday Database in Google Sheets

Votre feuille comportera 4 colonnes d'en-têtes :

  1. nom

  2. numéro de téléphone

  3. anniversaire

  4. message

Ajoutez les données de 10 amis.

  • Pour numéro_de_téléphoneajoutez 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 serait 15552345678

    • Veillez à ce que votre numéro_de_téléphone soit formatée en "texte brut", sinon vous aurez des problèmes plus tard avec les données.

  • Veillez à ce que cet anniversaire est formaté pour être de la forme Date de type Date. Par exemple, 9/26/2008.

Select Plain TextSelect Plain Text

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. Applications 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.

Tout d'abord, donnez à votre nouveau projet un titre agréable comme Messages API d'anniversaire. Effacez le code dans code.gs et remplacez-le par ce qui suit :

function sendBirthdayCall() {
 // 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 un appel sendBirthdayCall qui recherche dans notre feuille de calcul les anniversaires dans notre feuille de calcul. Elle parcourt ensuite chaque ligne et vérifie si l'anniversaire de la personne a lieu aujourd'hui en comparant les valeurs du jour et du mois. Si c'est le cas, elle crée l'objet payload qui contient les informations relatives à l'anniversaire du garçon ou de la fille. 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 sendRequest pour déclencher votre agent virtuel sortant. Vous pouvez coller le code suivant sous la fonction sendBirthdayCall() le code suivant.

Pour que ce code fonctionne, vous devez mettre à jour trois valeurs :

  1. 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/telephony/make-call

Pour les agents américains --> https://studio-api-us.ai.vonage.com/telephony/make-call

  1. X-Vgai-Key

  • Ajoutez votre clé d'API AI Studio. Vous pouvez trouver la clé X-Vgai-Key en haut à droite de votre AI Studio. Cliquez sur l'icône "user", puis sur "Generate API Key".

  1. agent_id

  • Ajouter l'élément id de votre agent Vonage AI Studio. Vous le trouverez dans les détails de l'agent.

function sendRequest(payload) {
// Replace with either the US or EU URL
 var url = '';


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


  // Send the POST request
 var response = UrlFetchApp.fetch(url, 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 doit être déclenché et à qui envoyer les messages. Vous transmettez également les valeurs de nom et message dans AI Studio, que vous avez préparées précédemment. Tout cela est regroupé dans des options et l'utilisation de UrlFetchApp vous effectuez la demande.

Récemment, AI Studio a ajouté des limites de taux sur les demandes. Pour y remédier, un délai de 2 secondes est ajouté entre les demandes en utilisant 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 qui tombe le jour même et un numéro de téléphone auquel vous pouvez accéder.

C'est vraiment génial !

Comment créer une tâche Cron dans Apps Script

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 :

  1. Dans le panneau de gauche, sélectionnez "Déclencheurs".

  2. Cliquez sur "Ajouter un déclencheur".

  3. Choisissez les paramètres suivants :

    1. Choisissez la fonction à exécuter : sendBirthdayCall

    2. Choisissez le déploiement à exécuter : HEAD

    3. Sélectionner la source de l'événement : Déclenché par le temps

    4. Sélectionnez le type de déclenchement basé sur l'heure : Minuterie journalière

    5. Sélectionnez l'heure de la journée : décidez de l'heure d'envoi de vos messages

  4. Cliquez sur "Enregistrer"

Conclusion

Maintenant que vous avez appris à appeler des numéros de téléphone à partir de Google Sheets, quelle est la prochaine étape ?

Vous pouvez peut-être envoyer un courriel d'anniversaire avec le nœud AI Studio nœud d'email d'AI Studio. Si vos amis sont "téléphobes", vous pouvez créer un agent de secours par agent SMS de basculement. Vous pouvez également 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:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovDéfenseur des développeurs

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.