https://d226lax1qjow5r.cloudfront.net/blog/blogposts/integrating-multichannel-messaging-into-salesforce-with-nexmo-messages-api/unnamed-1.png

Integration von Multichannel-Messaging in Salesforce

Zuletzt aktualisiert am May 20, 2021

Lesedauer: 8 Minuten

Nexmo Messages API für Salesforceunterstützt von Billenniumermöglicht es Ihnen, Nachrichten über SMS, MMS, WhatsApp Business, Facebook Messenger und Viber Service Messages direkt in der Salesforce Apex-Klasse zu versenden. Dies bedeutet, dass Sie die API innerhalb Ihrer Salesforce-Umgebung aufrufen können. Ganz gleich, ob Sie ein Entwickler sind, der eine Messaging-App erstellt, oder ein Administrator, der einen Messaging-Flow erstellt, die Messages API ist eine einfache Möglichkeit, eine Omnichannel-Strategie zu integrieren.

In diesem Tutorial führe ich Sie durch die Installation der Nexmo Messages API für Salesforce Pakets, mit dem Sie dann eine eigene Salesforce-Anwendung oder ein eigenes verwaltetes Salesforce-Paket erstellen können, das die Nexmo Messages API als zugrunde liegenden Messaging-Provider nutzt. Ich werde auch durch die Erstellung eines Flusses mit dem Salesforce Process Builder gehen. Es gibt einige Möglichkeiten, dieses Paket in Ihre Salesforce-Umgebung zu integrieren, aber diejenige, die ich hier vorstellen werde, ist ein wirklich raffiniertes Deployment-Tool, das in unserem GitHub-Repositorium.

Doch bevor wir uns mit den Details befassen, sollten wir uns mit den große Frage: Warum sollten Sie die Messages API verwenden und nicht die Vielzahl von Diensten für jeden einzelnen Kanal? Die Antwort liegt in der Einfachheit: Sie greifen über eine einzige API auf mehrere Kanäle zu. Alles, was Sie tun müssen, ist, den Kanal in einem Parameter in Ihrer Nutzlast anzugeben. So können Sie z. B. angeben, dass Ihre Nachricht per SMS oder WhatsApp gesendet werden soll, indem Sie den Kanalparameter in Ihre API-Anforderung einfügen.

Ein weiterer großer Zusatznutzen der Messages API ist, dass sie die Integration mit verschiedenen KI-Diensten ermöglicht. Wir haben die Messages API zum Beispiel genutzt, um ein Chatbot-Erlebnis mit KI-Plattformen wie IBM Watson oder Google Dialogflow aufzubauen.

Nexmo Messaging API FlowNexmo Messaging API Flow

Ein-Klick-Installation von Nexmo Messages API für Salesforce

Gehen wir also durch den Installationsprozess und erkunden wir das Messages API for Salesforce-Paket und was unter der Haube vor sich geht. Zur Veranschaulichung seiner Fähigkeiten zeige ich, wie es aussieht, wenn eine anonyme Funktion ausgelöst wird. Sehen Sie sich das Video unten an, um meine vollständige Installationsdemo zu sehen.

Um zu beginnen, besuchen Sie die Nexmo-Community-Seite auf GitHub, wo wir einige Open-Source-Codes hosten. Das Nexmo Messages API für Salesforce Paket wird hier gehostet nexmo-salesforce. Wir haben eine Dokumentation, falls Sie eine Art Schnellstart machen wollen oder mit Ant installieren möchten. Ansonsten ist die Bereitstellen in Salesforce das oben in der Dokumentation eingebettet ist, diese Ein-Klick-Integration, auf die ich vorhin hingewiesen habe. Klicken Sie auf diese Schaltfläche, um den Installationsprozess zu starten, und dann werden wir die Funktion zum Senden von Nachrichten innerhalb unserer Salesforce-Anwendungen aufrufen.

Nexmo for SalesforceNexmo for Salesforce

Als Erstes melden Sie sich bei Salesforce an, da dies die Umgebung ist, in die Sie das Paket einbetten möchten. Vergewissern Sie sich, dass Ihre Produktionsumgebung aktiviert ist, wenn Sie die Installation tatsächlich durchführen.

Nachdem Sie Salesforce die Genehmigung erteilt haben, sehen Sie die Seite, auf der das Paket installiert wird, sowie die zu installierenden Klassen, die in Salesforce verfügbar sein werden. Wenn Sie auf die Schaltfläche "Bereitstellen" klicken, sehen Sie, dass die Bereitstellung begonnen hat, und Sie sollten Aktualisierungen über diese Installation erhalten, bis die Bereitstellung abgeschlossen ist.

Damit haben Sie das Messages API for Salesforce-Paket einfach in Ihre Salesforce-Umgebung integriert. Sie können beweisen, dass es installiert ist, indem Sie zu Ihrer Salesforce-Umgebung zurückkehren, die Entwicklerkonsole öffnen und dann die Nexmo-Apex-Klasse öffnen. Sie werden sehen, dass die globale Nexmo-Klasse in Ihrer Salesforce-Umgebung auf Apex verfügbar ist.

code examplecode example

Dieser Code ist quelloffen und steht Ihnen zur Verfügung; der Endpunkt-https://api.nexmo.com- wird sich nicht ändern. Die Version kann sich in der Zukunft ändern, aber wir werden diese Version in nächster Zeit nicht veralten lassen. Wir haben ganz einfach die Notwendigkeit beseitigt, den Kanal anzugeben oder mehrere Anfragen zu stellen, um Nachrichten über verschiedene Kanäle zu senden.

Schauen Sie sich den Code an und Sie werden sehen, dass Sie die Funktion auch einfach anonym aufrufen können. Mit Strg+E öffnen Sie diese anonyme Apex-Funktion. Sie können die Funktion sendMessage der Nexmo Apex-Klasse aufrufen. Wenn Sie z.B. eine Handynummer in die ToNumber und eine Nexmo-Nummer als From-Adresse eingeben, können Sie die Funktion testen. Geben Sie einfach eine Testnachricht ein, geben Sie als Kanal "sms" an, führen Sie den Code aus, und Sie erhalten die Nachricht auf Ihrem Mobiltelefon. Sie können den gleichen Test für jeden der anderen Kanäle durchführen, die das Nexmo Messages API unterstützt.

Die Nexmo Apex-Klasse ist in unserer Umgebung verfügbar. Wenn Sie also selbst eine Lightning-Komponente oder ein Lightning-Paket entwickeln, rufen Sie einfach diese Funktion auf, um Nachrichten über die Nexmo Messages API zu senden. So einfach ist das.

Erstellen eines Multichannel-Messaging-Flusses mit Salesforce Process Builder

Jetzt werde ich uns durch den Process Builder führen und einen wirklich häufigen Anwendungsfall erstellen: Support-Benachrichtigungen. Wenn ein Kundendienstmitarbeiter einen Fall in Service Cloud abschließt, löst Process Builder einen Fluss aus, der eine SMS oder WhatsApp-Nachricht an den Kunden sendet. Ich zeige Ihnen, wie Sie in Process Builder einen Listener erstellen können, der jedes Mal eine Benachrichtigung an Ihre Kunden sendet, wenn ein Agent eine Kundenanfrage bearbeitet und den Fall abschließt. Sehen Sie sich das Video unten an, um meine vollständige Process Builder-Demo zu sehen.

Um zu beginnen, öffnen Sie einen neuen Prozess im Process Builder und geben Sie einen eindeutigen Prozessnamen ein, etwa wie Nexmo_Koffer_schließen. Als Beschreibung können Sie "Sende eine Nachricht an den Kunden, die bestätigt, dass sein Problem gelöst wurde" eingeben. Der Prozess startet wenn Dropdown-Menü, wählen Sie ein Datensatz sich ändert da dies der Auslöser ist, der den Prozess in Gang setzt.

Process builderProcess builder

Der Prozess wird in der Process Builder-Schnittstelle geöffnet, einem einfachen visuellen Builder-Tool, für dessen Verwendung Sie keine Entwicklungserfahrung benötigen. Wenn das Messages API for Salesforce-Paket installiert ist, ist die Nexmo Apex-Klasse im Process Builder verfügbar.

process builder deep diveprocess builder deep dive

Klicken Sie auf Objekt hinzufügen. Wählen Sie . Fall als das Objekt. Wir haben bereits einen Prozess (Nexmo_Case_Close), der Fälle überwacht, also wählen Sie ihn aus.

process builderprocess builder

Um sicherzustellen, dass der Prozess die erwartete Überwachung von Fällen ermöglicht, wählen Sie den Start des Prozesses wenn ein Datensatz erstellt oder bearbeitet wirdund nicht nur, wenn er erstellt wird. Lassen Sie unter den Erweiterten Optionen die Option Rekursion ("Dem Prozess erlauben, einen Datensatz mehrmals in einer einzigen Transaktion auszuwerten?") vorerst deaktiviert. Speichern Sie das Objekt.

Klicken Sie anschließend auf Kriterium hinzufügen in dem Prozess. Der Name des Kriteriums kann wie folgt lauten Fall_abgeschlossenlauten, da wir nur eine Benachrichtigung an den Endkunden senden wollen, wenn ein Agent den Fall abgeschlossen hat. Die Kriterien für das Ausführen von Aktionen Bei der Auswahl der Kriterien für die Ausführung von Aktionen legen wir unsere Geschäftslogik fest, und auch hier brauchen Sie keine Programmierkenntnisse, um den Prozess zu erstellen. Hier wird die Logik erstellt, die bestimmt, ob die Funktionen in Ihrem Ablauf ausgeführt werden oder nicht. Legen wir also fest, dass sie ausgeführt wird, wenn alle Bedingungen erfüllt sind.

Process builderProcess builder

Als nächstes werden wir Bedingungen festlegen. Die einzige Bedingung ist, dass der Fall abgeschlossen ist, also für das Feldscrollen Sie durch die Liste und wählen Sie Closed, das vom Typ Boolean (true oder false) ist, und der API-Name lautet IsClosed. Unsere ausgewählten Bedingungen würden also lauten: Wenn der Fall abgeschlossen ist, wird der Prozess etwas tun. Die Option "Erweitert" lautet: "Möchten Sie die Aktionen nur ausführen, wenn die angegebenen Änderungen am Datensatz vorgenommen werden?" Aktivieren Sie die Option "Ja", da Sie wahrscheinlich nicht jedes Mal eine Aktualisierung wünschen, wenn der Fall bearbeitet wird, eine interne Nachricht vorliegt oder der Status von "offen" zu "in Arbeit" oder "offen" zu "eskaliert" wechselt. Sie möchten, dass der Vorgang nur ausgeführt wird, wenn er abgeschlossen ist. Klicken Sie auf . Speichern.

Jetzt haben wir einen Datensatz, den wir überwachen. Wir haben eine Logik eingebaut, die besagt, wann ein Fall tatsächlich abgeschlossen ist.

Als nächstes fügen wir eine Aktion hinzu. Wir können Apex als Aktionstyp auswählen. Der Aktionsname kann "Send Update Message" lauten. Für die Apex-Klasse wird "Send Nexmo Message" angezeigt, und da Sie dieses Paket installiert haben, sollte es direkt verfügbar sein.

process builderprocess builder

Was als nächstes kommt, sind die Apex-Variablen, die Variablen, die Sie als Teil der Nutzlast an Ihre Anfrage übergeben werden. Sie können den Kanal angeben, der in diesem Fall WhatsApp ist. Die fromId würde eine Nexmo-fähige WhatsApp-Nummer sein. Der Text würde in etwa so lauten: "Hallo, danke für Ihre Anfrage. Ihr Problem wurde gelöst. Wir haben Ihnen den Betrag xyz zurückerstattet." Dies könnte ein dynamischer Wert sein, aber für diese Übung wollen wir ihn statisch halten. Die toId wird Ihre Telefonnummer sein. Wenn alle Zeichenfolgen richtig gesetzt sind, können Sie die Variablen speichern. Jetzt müssen Sie nur noch den Prozess aktivieren.

process builderprocess builder

Um den Prozess zu testen, können Sie die Rolle eines Agenten übernehmen und sehen, ob er sich wie erwartet verhält. Gehen Sie zu Ihrem App Launcher und öffnen Sie die Service-Konsole. Tun Sie so, als wären Sie ein Agent, der in Ihrem Contact Center sitzt und die offenen Fälle überprüft, die sich in Ihrer Warteschlange ansammeln.

process builderprocess builder

Wählen Sie einen Fall anhand der Fallnummer aus und nehmen Sie an, die Beschreibung lautet etwa so: "Hallo, ich habe Ihre Anzeige gesehen. Sie können dem Kunden antworten, indem Sie eine Nachricht schreiben, in der es heißt: "Gut, wir werden uns direkt mit Ihnen in Verbindung setzen. Vielen Dank für Ihre Unterstützung!" und teilen Sie sie.

salesforce

Der wichtigste Schritt ist hier, den Status des Falls zu aktualisieren, denn wir haben den Auslöser so eingestellt, dass er ausgelöst wird, wenn der Fall geschlossen wird. Schließen Sie also den Fall und schauen Sie, ob der Prozess ihn aufgreift.

case detailscase details

Das Schließen des Falls sollte den Auslöser ausgelöst haben, wenn dieses Ereignis von unserem Process Builder-Fluss aufgenommen wurde. Sie sollten eine Nachricht von Process Builder an Ihren WhatsApp Account erhalten, die besagt: "Hallo, vielen Dank für Ihre Anfrage. Ihr Problem wurde gelöst. Wir haben Ihnen einen Erstattungsbetrag in Höhe von xyz gesendet."

Hoffentlich hat Ihr Ablauf Sie erfolgreich über den abgeschlossenen Fall benachrichtigt. Wir haben Process Builder verwendet, aber es gibt viele Tools, mit denen Sie dies tun können. Du könntest genauso gut etwas wie einen MuleSoft-Ablauf verwenden oder ihn intern in Ihrer eigenen Client- oder Server-Anwendung erstellen.

Erste Schritte mit Nexmo Messages API für Salesforce

Wenn Sie weitere Informationen über das Nexmo Messages API for Salesforce Paket wünschen, lesen Sie unsere Dokumentation. Dort finden Sie Informationen, wie Sie den Service direkt in Ihre Anwendung einbinden können, egal ob auf der Server- oder Client-Seite, innerhalb oder außerhalb von Salesforce. Auch hier können Sie über eine einzige Schnittstelle Nachrichten über die verschiedenen Kanäle versenden, und es ist wirklich einfach zu integrieren.

Wenn Sie auf den Code zugreifen und das Paket selbst verwenden möchten, gehen Sie zu unserer GitHub-Gemeinschaftsseite und Sie können es mit diesem Ein-Klick-Installationswerkzeug oder mit Ant installieren, je nachdem, was für Sie am besten geeignet ist.

Um zu sehen, wie unsere Partner das Paket nutzen, sehen Sie sich diese Demo der Multichannel-Messaging-Lösung von SMS Magic an, die auf der Nexmo Messages API für Salesforce basiert.

Teilen Sie:

https://a.storyblok.com/f/270183/400x400/ea554d9ec0/oscar-rodriguez.png
Oscar Rodriguez

Oscar Rodriguez is the Director Global Solution Engineering at Nexmo, the Vonage API Platform