So senden Sie WhatsApp-Nachrichten aus Google Sheets mit der WhatsApp-API

Veröffentlicht: 2022-06-16

WhatsApp with Google Sheets

Dieses Tutorial beschreibt, wie Sie die neue WhatsApp-API mit Google Apps Script verwenden können, um WhatsApp-Nachrichten aus Google Sheets zu senden. Derselbe Ansatz würde auch für das Senden von WhatsApp-Nachrichten von Google Forms funktionieren, wenn neue Formularübermittlungen eingehen.

Schritt 1: Erstellen Sie eine WhatsApp-App

Gehen Sie zu developer.facebook.com und klicken Sie auf die Schaltfläche Create App erstellen, um eine neue App zu erstellen, die wir zum Senden von WhatsApp-Nachrichten verwenden.

Facebook WhatsApp App

Wählen Sie Business als App-Typ aus.

Geben Sie Ihrer App einen aussagekräftigen Namen (verwenden Sie keine Facebook-Marken wie WhatsApp oder Facebook im App-Namen) und klicken Sie auf die Schaltfläche Create App erstellen, um die App zu erstellen.

WhatsApp App Name

Nachdem die App erstellt wurde, klicken Sie auf dem nächsten Bildschirm auf die Schaltfläche WhatsApp , um Ihrer App WhatsApp-Sendefunktionen hinzuzufügen.

Auf dem nächsten Bildschirm müssen Sie Ihre WhatsApp-App mit Ihrem Facebook-Geschäftskonto verknüpfen. Sie haben auch die Möglichkeit, ein neues Geschäftskonto zu erstellen, falls Sie noch keines haben.

Add WhatsApp App

Schritt 2: Fügen Sie die Telefonnummer des Empfängers hinzu

Facebook stellt Ihnen eine Test-WhatsApp-Telefonnummer zur Verfügung, die die Standard-Sendeadresse Ihrer App sein wird. Für Empfänger haben Sie die Möglichkeit, während der Entwicklungsphase maximal 5 Telefonnummern hinzuzufügen, ohne eine Zahlung leisten zu müssen.

Ihre WhatsApp-App stellt Ihnen ein temporäres Zugriffstoken zur Verfügung, das 23 Stunden lang gültig ist. Notieren Sie sich dieses Token, da wir es in einem späteren Schritt benötigen.

WhatsApp Phone Number

Klicken Sie als Nächstes auf das Dropdown-Menü Telefonnummer des Recipient Phone Number , um Ihrer App bis zu 5 verschiedene WhatsApp-Telefonnummern hinzuzufügen. Sie erhalten einen Verifizierungscode für die hinzugefügten Nummern und können WhatsApp-Nachrichten nur an Nummern senden, die mit dem Code verifiziert wurden.

Verify Phone Number

Schritt 3: WhatsApp-Nachrichtenvorlage erstellen

Wechseln Sie zum Vorlagenmanager und erstellen Sie eine neue WhatsApp-Nachrichtenvorlage.

Für dieses Beispiel wählen wir die Kategorie als Account Update und geben Ihrer Nachrichtenvorlage einen eindeutigen Namen. Als Sprachen wählen wir Englisch, für das die Codesprache en ist. Wenn Sie eine andere Sprache verwenden, notieren Sie sich die Codesprache, da diese für das Versenden von Nachrichten erforderlich ist.

WhatsApp Message Template

Schreiben Sie die personalisierte Nachricht

Wir verwenden variable Parameter in der Nachricht und diese werden durch die tatsächlichen Werte aus dem Google Sheet ersetzt. Es ist den Markierungen sehr ähnlich, die Sie möglicherweise in Mail Merge und Document Studio verwendet haben, mit dem kleinen Unterschied, dass es sich um Positionsmarkierungen und nicht um benannte Markierungen handelt.

Hier ist unsere Nachrichtenvorlage, in der die Variablen {{1}} und {{2}} jeweils für den Kundennamen und den Artikelnamen stehen.

WhatsApp Message Template

Es kann bis zu einer Minute dauern, bis WhatsApp Ihre neue Nachrichtenvorlage genehmigt.

Schritt 4: Senden Sie WhatsApp-Nachrichten

Nun, da unsere gesamte Konfiguration auf der Facebook-/WhatsApp-Seite abgeschlossen ist, arbeiten wir an dem Google Sheet, das diese personalisierten WhatsApp-Nachrichten tatsächlich automatisch versendet.

Klicken Sie hier, um das WhatsApp Sheet in Ihr eigenes Google-Konto zu kopieren.

Google sheets WhatsApp

Fügen Sie als Nächstes die Telefonnummern (mit Ländervorwahl) in der Spalte Telefonnummer der Google-Tabelle hinzu. Sie sollten nur Nummern hinzufügen, die Sie im vorherigen Schritt mit Ihrem WhatsApp-Testkonto verifiziert haben.

Gehen Sie dann zum Erweiterungsmenü und wählen Sie Apps Script, um das zugrunde liegende Skript zu öffnen. Ersetzen Sie WHATSAPP_ACCESS_TOKEN und WHATSAPP_TEMPLATE_NAME durch die Werte, die Sie in den vorherigen Schritten kopiert haben.

Klicken Sie im Apps-Skripteditor auf die Schaltfläche Run , und die WhatsApp-Nachricht sollte sofort an Ihre aufgelisteten Telefonnummern gesendet werden.

Und was Sie unten sehen, ist die eigentliche WhatsApp-Nachricht, die von der WhatsApp-API gesendet wird und die Variablenmarkierungen in der Vorlage durch tatsächliche Werte aus Google Sheets ersetzt.

WhatsApp Message Text

Die Technischen Details

So funktioniert die WhatsApp-API mit Google Apps Script

Das Google Apps-Skript stellt eine Verbindung zu Google Sheets her und ruft die Details von Kunden ab, einschließlich Telefonnummern, denen Nachrichten über WhatsApp gesendet werden sollen.

 // Get data from Google Sheets // for sending messages through WhatsApp const getSheetData_ = ( ) => { const sheet = SpreadsheetApp . getActiveSheet ( ) ; const [ header , ... rows ] = sheet . getDataRange ( ) . getDisplayValues ( ) ; const data = [ ] ; rows . forEach ( ( row ) => { const recipient = { } ; header . forEach ( ( title , column ) => { recipient [ title ] = row [ column ] ; } ) ; data . push ( recipient ) ; } ) ; return data ; } ;

Als Nächstes durchläuft das Skript jede Zeile des Blatts und sendet eine WhatsApp-Nachricht, indem es die WhatsApp Cloud-API mit dem UrlFetch-Dienst aufruft.

 // Send Message with WhatsApp Cloud API const sendMessage_ = ( e ) => { const apiUrl = 'https://graph.facebook.com/v13.0/114746974570888/messages' ; const request = UrlFetchApp . fetch ( apiUrl , { muteHttpExceptions : true , method : 'POST' , headers : { Authorization : ` Bearer ${ WHATSAPP_ACCESS_TOKEN } ` , 'Content-Type' : 'application/json' , } , payload : JSON . stringify ( { type : 'template' , messaging_product : 'whatsapp' , to : e . recipient_number , template : { name : WHATSAPP_TEMPLATE_NAME , language : { code : LANGUAGE_CODE } , components : [ { type : 'body' , parameters : [ { type : 'text' , text : e . customer_name } , { type : 'text' , text : e . item_name } , { type : 'text' , text : e . delivery_date } , ] , } , ] , } , } ) , } ) ; const { error } = JSON . parse ( request ) ; if ( error ) { Logger . log ( ` ${ error } ` ) ; } else { Logger . log ( ` Message sent to ${ recipient_number } ` ) ; } } ; const main = ( ) => { getSheetData_ ( ) . forEach ( ( row ) => { const status = sendMessage_ ( { recipient_number : row [ 'Phone Number' ] . replace ( / [^\d] / g , '' ) , customer_name : row [ 'Customer Name' ] , item_name : row [ 'Item Name' ] , delivery_date : row [ 'Delivery Date' ] , } ) ; } ) ; } ;

Siehe auch: Workflows mit Google Sheets automatisieren