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

Telefonanrufe aus Google Sheets

Zuletzt aktualisiert am August 8, 2024

Lesedauer: 5 Minuten

In letzter Zeit vergesse ich immer wieder, meine Freunde an ihren Geburtstagen anzurufen. Das ist keine Absicht, es ist nur so, dass ich eine halbe Welt entfernt wohne, was es schwierig macht. Aber hey, ich arbeite bei einer Kommunikations-API-Firma, ich kann mir den Weg aus diesem Problem technisch freischaufeln!

Und schon hatte ich die perfekte Lösung! Ich erstellte eine Google Sheets-Tabelle mit meinen geliebten Kontakten, ihren Geburtstagen und herzlichen Nachrichten. Und jetzt bekommen meine Freunde alberne Roboter-Geburtstagsanrufe. Durch die Kombination von Google Apps Scripts und AI Studio von Vonage können Sie automatisch eine roboterhafte Geburtstagsnachricht aus Google Sheets versenden. Und das alles mit einer programmierfreundlichen Drag-and-Drop-Schnittstelle!

Diese Integration ist perfekt für alle, die Telefonanrufe aus einer Tabellenkalkulation oder aus einer CSV-Datei tätigen möchten, aber keine Lösung mit vollem Code erstellen möchten.

In diesem Tutorial lernen Sie, wie Sie aus Google Sheets heraus Telefonanrufe versenden können und nie wieder einen Geburtstag verpassen!

Voraussetzungen

Vonage API-Konto

Um dieses Tutorial durchzuführen, benötigen Sie ein Vonage API-Konto. Wenn Sie noch keines haben, können Sie sich noch heute anmelden und mit einem kostenlosen Guthaben beginnen. Sobald Sie ein Konto haben, finden Sie Ihren API-Schlüssel und Ihr API-Geheimnis oben auf dem Vonage-API-Dashboard.

Wie man einen Outbound Voice Chatbot erstellt

Um Ihren Agenten zu erstellen, folgen Sie den Anweisungen in der AI Studio Dokumentation. Es gibt drei wichtige Optionen für unseren Agenten, wählen Sie:

  • Art: Telefonie

  • Vorlage: Von Grund auf neu beginnen

  • Veranstaltung: Ausgehend von

Die Funktionsweise Ihres Agenten ist ganz einfach: eine einzige SMS mit Ihren Geburtstagsglückwünschen. Sie werden einen einzelnen Knoten zum Senden von Nachrichten und einen Gesprächsende-Knoten.

Overview of Bot ArchitectureOverview of Bot Architecture

So erstellen Sie benutzerdefinierte Parameter in AI Studio

In Ihrem Send Message Node benötigen Sie 2 Parameter. Öffnen Sie also das Fenster Eigenschaften auf der linken Seite und wählen Sie Parameter. Unter Benutzerdefinierte Parameter legen Sie die folgenden Einträge an:

  • Name - @sys.any

  • Nachricht - @sys.any

Speichern Sie die Parameter und öffnen Sie Ihren Speak Node. Fügen Sie innerhalb des Knotens die folgende Nachricht ein. Verwenden Sie Ihre Parameter, indem Sie das $ gefolgt vom Parameternamen eingeben. Um zum Beispiel Ihren Namenswert zu verwenden, geben Sie $name ein.

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

Sie werden feststellen, dass Sie Folgendes verwenden Sprachsynthese-Markup Language verwenden, um eine einsekündige Pause einzufügen und verschiedene Absätze zu erstellen, damit der Agent natürlicher sprechen kann.

Klicken Sie auf Speichern & Beenden.

So verbinden Sie Ihren virtuellen Agenten mit einer virtuellen Nummer

Der letzte Schritt besteht darin, Ihren Agenten mit einer virtuellen Nummer zu verbinden. Dieser Leitfaden erklärt, wie Sie Ihren Agenten veröffentlichen.

Wie man eine Google Sheets-Datenbank erstellt

Öffnen Sie Google Sheets und klicken Sie auf Blank Spreadsheet. Geben Sie Ihrem Arbeitsblatt einen schönen Titel wie Geburtstagsnachrichten. Nennen Sie Ihr Blatt außerdem Geburtstage.

Simple Birthday Database in Google SheetsSimple Birthday Database in Google Sheets

Ihr Blatt wird 4 Spaltenüberschriften haben:

  1. Name

  2. Telefon_Nummer

  3. Geburtstag

  4. Nachricht

Fügen Sie die Daten von 10 Freunden hinzu.

  • Für Telefonnummerfügen Sie Ihre Nummer oder eine andere Telefonnummer ein, unter der Sie zu Testzwecken SMS empfangen können. Telefonnummern sollten im internationalen Format ohne + oder 00 angegeben werden. Eine US-Nummer wäre zum Beispiel 15552345678

    • Stellen Sie sicher, dass Ihre Telefonnummer Spalte auf "Klartext" formatiert ist, sonst werden Sie später Probleme mit den Daten haben.

  • Sicherstellen, dass Geburtstag so formatiert ist, dass es ein Datum Typ ist. Z.B. 26.9.2008.

Select Plain TextSelect Plain Text

Wie Sie Ihr Google Sheet in JSON konvertieren

Jetzt verwandeln Sie Ihr Google Spreadsheet in eine programmierbare App! Öffnen Sie die Registerkarte Erweiterungen und wählen Sie Apps Scripts. Mit Apps Scripts können Sie Code auf Google Workspace-Anwendungen wie Google Sheets oder Google Docs schreiben, um deren Funktionen zu automatisieren und zu erweitern.

Geben Sie Ihrem neuen Projekt zunächst einen schönen Titel wie Birthday Messages API. Löschen Sie den Code in code.gs und ersetzen Sie ihn durch den folgenden:

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);
   }
 }
}

Dieser Code erstellt eine sendBirthdayCall Funktion, die unser Arbeitsblatt nach den Geburtstagen Blatt. Sie durchläuft dann jede Zeile und prüft, ob die Person heute Geburtstag hat, indem sie die Werte für Tag und Monat vergleicht. Ist dies der Fall, wird das Payload-Objekt erstellt, das die Daten des Geburtstagskindes enthält. Anschließend übergibt es diese Informationen an die sendRequest Funktion weiter, die die Geburtstagsdaten an AI Studio sendet.

So senden Sie eine Apps Script POST-Anfrage

Sie erstellen nun Ihre sendRequest Funktion zum um Ihren Outbound Virtual Agent auszulösen. Sie können den folgenden Code unterhalb der Funktion sendBirthdayCall() Abschnitt einfügen.

Damit dieser Code funktioniert, müssen Sie 3 Werte aktualisieren:

  1. aiStudioUrl

  • Der Endpunkt hängt von der Region ab, die Sie für Ihren Agenten ausgewählt haben:

Für EU-Agenten →. https://studio-api-eu.ai.vonage.com/telephony/make-call

Für US-Agenten --> https://studio-api-us.ai.vonage.com/telephony/make-call

  1. X-Vgai-Schlüssel

  • Fügen Sie Ihren AI Studio API Schlüssel hinzu. Sie finden den X-Vgai-Schlüssel oben rechts in Ihrem AI Studio Canvas. Klicken Sie auf das Symbol "Benutzer" und dann auf "API-Schlüssel generieren".

  1. agent_id

  • Hinzufügen der id Ihres Vonage AI Studio Agenten ein. Diese finden Sie unter Agentendetails.

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());
}

Was macht dieser Code also? Er erstellt eine POST-Anfrage, indem er die URL, die Kopfzeilen und den Textkörper vorbereitet. In den Kopfzeilen stellt der X-Vgai-Key sicher, dass dieser Agent zu Ihnen gehört. Im Body teilen Sie AI Studio mit, welchen Agenten es auslösen und an wen es die Nachrichten senden soll. Außerdem übermitteln Sie die Werte für Name und Nachricht in AI Studio, die Sie zuvor vorbereitet haben. All dies wird in Optionen gebündelt und mit UrlFetchApp stellen Sie die Anfrage.

Kürzlich hat AI Studio Ratenbeschränkungen hinzugefügt für Anfragen eingeführt. Um dies zu berücksichtigen, wird eine 2-Sekunden-Verzögerung zwischen den Anfragen hinzugefügt, indem Utilities.sleep(2000);

Und das war's! Sie können nun testen, ob Ihr Code funktioniert, indem Sie auf Ausführen klicken.

Vergewissern Sie sich zu Testzwecken, dass mindestens 3 der Kontakte einen Geburtstag am aktuellen Tag und eine Telefonnummer haben, die Sie erreichen können.

Wie cool war das!

Wie man einen Cron Job in Apps Script erstellt

Die Anwendung soll täglich laufen und prüfen, ob jemand Geburtstag hat. Sie können dies ganz einfach in Apps Script tun, indem Sie:

  1. Wählen Sie in der linken Leiste "Auslöser".

  2. Klicken Sie auf "Auslöser hinzufügen".

  3. Wählen Sie die folgenden Einstellungen:

    1. Wählen Sie, welche Funktion ausgeführt werden soll: sendBirthdayCall

    2. Wählen Sie, welche Bereitstellung ausgeführt werden soll: HEAD

    3. Ereignisquelle auswählen: Zeitgesteuert

    4. Wählen Sie den Typ des zeitbasierten Auslösers: Tageszeitschaltuhr

    5. Tageszeit auswählen: Entscheiden Sie, wann Ihre Nachrichten gesendet werden sollen

  4. Klicken Sie auf "Speichern".

Schlussfolgerung

Nun, da Sie gelernt haben, wie man Telefonnummern aus Google Sheets anruft, was kommt als nächstes?

Vielleicht können Sie eine Geburtstags-E-Mail mit AI Studio's E-Mail-Knoten. Vielleicht haben Ihre Freunde eine "Telephobie", dann könnten Sie einen SMS-Agenten-Ausfallsicherung. Oder Sie könnten die Generative KI-Integration nutzen, um Ihren Freunden ein lustiges Geburtstagsbild zu schicken.

Was auch immer Sie tun wollen, wir wollen davon hören! Bitte kontaktieren Sie uns in unserer Entwickler-Community Slack oder auf X, früher bekannt als Twitter.

Zusätzliche Ressourcen

Teilen Sie:

https://a.storyblok.com/f/270183/384x384/e4e7d1452e/benjamin-aronov.png
Benjamin AronovAdvokat für Entwickler

Benjamin Aronov ist ein Entwickler-Befürworter bei Vonage. Er ist ein bewährter Community Builder mit einem Hintergrund in Ruby on Rails. Benjamin genießt die Strände von Tel Aviv, das er sein Zuhause nennt. Von Tel Aviv aus kann er einige der besten Startup-Gründer der Welt treffen und von ihnen lernen. Außerhalb der Tech-Branche reist Benjamin gerne um die Welt auf der Suche nach dem perfekten Pain au Chocolat.