https://a.storyblok.com/f/270183/1368x665/3d1d4c29f9/sms-google-sheet.png

Senden von SMS aus Google Sheets

Zuletzt aktualisiert am August 1, 2024

Lesedauer: 5 Minuten

Ich vergesse oft, meinen geliebten Freunden und meiner Familie zum Geburtstag zu gratulieren. Es ist nicht so, dass ich es absichtlich tue, aber bei meinem vollen Terminkalender und den großen Entfernungen, die uns trennen, scheine ich immer öfter zu vergessen, rechtzeitig eine Nachricht zu schicken.

Nun, ich habe gerade die perfekte Lösung gefunden! Ich habe eine Google Sheets-Tabelle mit meinen geliebten Kontakten, ihren Geburtstagen und herzlichen Nachrichten erstellt. Mit Google Apps Scripts und AI Studio von Vonage habe ich eine Integration zum automatischen Versenden von SMS aus Google Sheets erstellt. Und das alles ist Low-Code!

In diesem Tutorial lernen Sie, wie Sie SMS zu versenden von Google Sheets und nie wieder einen Geburtstag verpassen!

Example of Outbound SMSExample of Outbound SMS

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.

Voraussetzungen

Wie man einen Outbound SMS Chatbot erstellt

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

  • Art: SMS

  • Vorlage: Von Grund auf neu beginnen

  • Veranstaltung: Ausgehend von

Die Funktion Ihres Agenten ist ganz einfach: Sie senden eine einzige SMS mit Ihren Geburtstagsglückwünschen. Sie verwenden einen einzigen Knoten zum Senden von Nachrichten und einen Konversationsende-Knoten. Den Inhalt der Nachricht finden Sie im nächsten Schritt.

So erstellen Sie benutzerdefinierte Parameter in AI Studio

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

  • Name - @sys.any

  • Nachricht - @sys.any

Speichern Sie die Parameter und öffnen Sie den Knoten "Nachricht senden". Fügen Sie innerhalb des Knotens die folgende Nachricht ein. Um Ihre Parameter zu verwenden, geben Sie $ gefolgt von dem Parameternamen ein. Um zum Beispiel Ihren Namenswert zu verwenden, geben Sie $name ein.

Dear $name,

$message

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 und die Anwendung zu veröffentlichen. Dieser Leitfaden erklärt, wie Sie Ihren Agenten bereitstellen über das öffentliche Internet zugänglich ist.

Wie man eine Google Sheets-Datenbank erstellt

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

Example of Google Sheet DataExample of Google Sheet DataIhr Blatt wird 4 Spaltenüberschriften haben:

  1. name

  2. phone_number

  3. birthday

  4. message

Fügen Sie die Daten von zehn Freunden hinzu.

  • Für phone_numberfügen Sie Ihre Nummer oder eine andere Telefonnummer ein, die Sie für den Empfang von SMS zu Testzwecken nutzen 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 phone_number Spalte auf "Klartext" formatiert ist, sonst werden Sie später Probleme mit den Daten haben.

  • Stellen Sie sicher, dass birthday so formatiert ist, dass es vom Date Typ. Z.B. 26.9.2008.

Plain Text Formatting in Google SheetsPlain Text Formatting in Google Sheets

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.

Apps Script Tab in Google SheetsApps Script Tab in Google SheetsGeben 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 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);
   }
 }
}

Dieser Code erzeugt eine sendBirthdaySMS Funktion, die unser Arbeitsblatt nach dem birthdays 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 der Person enthält. Diese Informationen werden dann an die Funktion 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 zur Auslösung Ihres Outbound Virtual Agent. Sie können den folgenden Code unterhalb des sendBirthdaySMS() Abschnitt ein.

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-Bedienstete → https://studio-api-eu.ai.vonage.com/messaging/conversation Für US-Agenten --> https://studio-api-us.ai.vonage.com/messaging/conversation

  1. X-Vgai-Key

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

  1. agent_id

  • Fügen Sie die id Ihres Vonage AI Studio Agenten hinzu. Diese finden Sie unter Agentendetails.

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

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. Sie geben die Werte für den Namen und die Nachricht in AI Studio weiter, 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 hinzugefügt. Um dies zu berücksichtigen, wird mit Utilities.sleep(2000) eine 2-Sekunden-Verzögerung zwischen den Anfragen eingefügt;

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

Vergewissern Sie sich zum Testen, dass mindestens drei der Kontakte am aktuellen Tag Geburtstag haben und über eine Telefonnummer verfügen, die Sie erreichen können.

Wie cool war das!

Wie man einen Cron Job in Apps Script erstellt, der täglich läuft

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:

  4. Wählen Sie, welche Funktion ausgeführt werden soll: sendBirthdaySMS

    • Wählen Sie, welche Verteilung ausgeführt werden soll: HEAD

    • Wählen Sie die Ereignisquelle: Time-driven

    • Wählen Sie den Typ des zeitbasierten Triggers: Day timer

    • Tageszeit wählen: Bestimmen Sie, wann Ihre Nachrichten gesendet werden sollen.

  5. Klicken Sie auf "Speichern".

Schlussfolgerung

Nun, da Sie Ihren AI Studio SMS Agent mit Google Sheets verbunden haben, wie geht es weiter?

Vielleicht können Sie eine Geburtstags-E-Mail mit AI Studio's E-Mail-Knoten. Sie könnten einen Voice-Agent erstellen, der Ihren Freunden ein Geburtstagslied singt. Oder Sie könnten die Generative KI-Integration 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.