Durch die Integration von Twilio in Salesforce Service Cloud Voice (SCV) können Salesforce-Kundenservicemitarbeiter Anrufe in Salesforce mit den Funktionen der Twilio-Plattform tätigen und entgegennehmen.
Hinweis
Um Salesforce Voice in Twilio Flex einzubinden, benötigen Sie Zugriff auf die folgenden Ressourcen:
- Salesforce- und Agent Assist-Ressourcen
- Agent Assist für die Salesforce App
Flex-Konto
Folgen Sie der Anleitung auf der Twilio-Einrichtungsseite, um ein Flex-Konto zu erstellen. Notieren Sie sich die Konto-SID, die Twilio-Telefonnummer und das Auth-Token.
Telefonnummer der Google-Telefonieplattform bereitgestellt
Folgen Sie der Anleitung unter Google Telephony Platform, um eine bereitgestellte Telefonnummer für die Integration mit dem Siprec-Connector-Add-on von Twilio zu erhalten.
Schritt 1: Twilio Service Cloud Voice einrichten
Folgen Sie der Anleitung im Twilio-Leitfaden, um Salesforce SCV mit Twilio als Partner-Telefonieanbieter einzurichten.
Schritt 2: Agent Assist in Twilio Flex einbinden
So integrieren Sie Agent Assist in Twilio Flex:
SIPREC-Connector-Add-on installieren
Mit dem SIPREC-Connector-Add-on kann Ihr Twilio Flex-Konto SIPREC-Forks von Sprachanruf-Media-Streams an Agent Assist senden. So installieren Sie das SIPREC-Connector-Add-on:
Rufen Sie Twilio Home auf und geben Sie Marketplace in das Suchfeld ein.
Klicken Sie auf Katalog > Stream-Connectors > Siprec-Connector > Installieren > Instanz hinzufügen.
Rufen Sie den Tab Konfigurieren auf und konfigurieren Sie das Plug-in mit den folgenden Details:
- Eindeutiger Name:
SipRec1 - Server für die Sitzungsaufzeichnung:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- Eindeutiger Name:
Klicken Sie auf Speichern.
Twilio-Funktionen konfigurieren
So konfigurieren Sie zwei Twilio-Funktionen, conversation-name und wrap-up:
- Rufen Sie die Twilio-Konsole auf und geben Sie Function in das Suchfeld ein.
- Klicken Sie auf Funktionen > Dienst erstellen.
- Geben Sie einen Namen für den neuen Dienst ein (
ui-connector-auth) und klicken Sie auf Weiter. - Klicken Sie auf Hinzufügen + > Funktion hinzufügen.
So erstellen Sie die Funktion conversation-name:
- Nennen Sie die Funktion
conversation-name. - Klicken Sie auf das Schloss und ändern Sie die Sichtbarkeit der Funktion in Öffentlich.
- Kopieren Sie den
ui-connector-auth.js-Code und fügen Sie ihn in den Editor ein. - Klicken Sie auf Speichern.
Sie können den Prozess des Anrufabschlusses mit einer wrap-up-Funktion und EventCallbackUrl automatisieren. Dadurch müssen Anrufe nicht mehr manuell in Salesforce und Twilio Flex beendet werden. So erstellen Sie eine wrap-up-Funktion, um Ereignisse über EventCallbackUrl zu empfangen:
- Rufen Sie die Twilio-Konsole auf > geben Sie in der Suchleiste Taskrouter Workspace ein.
- Wählen Sie Taskrouter-Arbeitsbereiche aus.
- Notieren Sie sich die SID in der Spalte „Arbeitsbereich“.
- Rufen Sie den Editor auf und geben Sie der Funktion den Namen
wrap-up. Fügen Sie den folgenden Code in den Editor ein.
/** * @desc A Twilio Function that wraps up a conversation automatically to avoid agents being stuck * in a wrap up state while in Salesforce's Service Console. */ exports.handler = function(context, event, callback) { const response = new Twilio.Response(); const client = context.getTwilioClient(); /** * @TODO Add your workspaceSid to this variable. */ const workspaceSid = "" response.appendHeader('Content-Type', 'application/json'); if (!event.EventType) { response.setBody({}); return callback(null, response); } /** * This event is dispatched with the Event Callback Url, which is assigned in a Taskrouter Workspace's * Settings. */ if (event.EventType === 'task.wrapup') { client.taskrouter.v1.workspaces(workspaceSid) .tasks(event.TaskSid) .update({ assignmentStatus: 'completed', reason: 'Auto-completed via Function' }) .then(() => { response.setBody({ status: "completed" }); callback(null, response); }) .catch(err => { response.setStatusCode(500); response.setBody({ error: err.message }); callback(null, response); }); } else { response.setBody({ status: "ignored" }); callback(null, response); } };Suchen Sie die Variable
workspaceSidund aktualisieren Sie sie mit der Arbeitsbereichs-SID aus dem Schritt „Taskrouter Workspace SID“.Notieren Sie sich die URL Ihres Dienstes. Sie müssen die vollständige URL der
wrap-up-Funktion im nächsten Schritt verwenden.Klicken Sie auf Speichern > Alle bereitstellen.
Rufen Sie die Twilio-Konsole auf und geben Sie Taskrouter Workspaces in die Suchleiste ein.
Klicken Sie auf den verwendeten Arbeitsbereich > Einstellungen > Event-Callbacks > Event-Callback-URL.
Geben Sie die URL der
wrap-up-Funktion aus dem vorherigen Schritt ein.Klicken Sie auf Callback-Ereignisse und legen Sie die Option auf Bestimmte Ereignisse fest.
Klicken Sie auf Alle auswählen > Speichern.
IVR mit Flex Studio konfigurieren
Um Ihr automatisches Telefonmenü einzurichten, verwenden Sie Twilio Studio, um einen Anrufablauf zu erstellen, der einen SIPREC-Fork initiiert. Bei diesem Fork wird ein Media-Stream direkt an Agent Assist gesendet. Im Anrufablauf wird auch ein HTTP-POST-Vorgang ausgeführt, um die Telefonnummer und die Unterhaltungs-ID an Agent Assist zu senden.
So konfigurieren Sie ein IVR-System (Interactive Voice Response) mit Flex Studio:
- Rufen Sie die Twilio-Konsole auf und geben Sie Studio in das Suchfeld ein.
- Klicken Sie auf Studio. Die Studio-Dashboardseite wird mit der Liste der Flows geöffnet.
Auf der Seite „Studio-Dashboard“ haben Sie folgende Möglichkeiten:
- Vorhandenen Ablauf aktualisieren
- Erstellen Sie einen Ablauf.
Vorhandenen Ablauf aktualisieren
So aktualisieren Sie vorhandene Flows in der Twilio-Konsole:
- Wählen Sie den Ablauf aus, den Sie aktualisieren möchten.
- Klicken Sie auf Develop (Entwickeln) > Phone Numbers (Telefonnummern) > Manage (Verwalten) > Active Numbers (Aktive Nummern). Die Tabelle sollte eine Zeile mit der standardmäßigen Twilio-Nummer enthalten, die für Ihr Flex-Konto bereitgestellt wurde.
- Rufen Sie Voice – Studio Workflow auf und klicken Sie auf Voice IVR.
Ablauf erstellen
Erstellen Sie neue Abläufe, um eine HTTP-Anfrage zu senden, eine Funktion auszuführen, einen Stream zu verzweigen und an Flex zu senden. So erstellen Sie einen HTTP-Anfrageablauf in der Twilio-Konsole:
- Rufen Sie das Studio-Dashboard auf und klicken Sie auf Neuen Ablauf erstellen.
- Rufen Sie das Such-Widget auf und geben Sie HTTP ein.
- Ziehen Sie das Make HTTP request-Widget (HTTP-Anfrage stellen) in das Flussdiagramm.
Konfigurieren Sie ein Widget mit den folgenden Details und klicken Sie auf Speichern.
- Widget-Name:
register_twilio - Anfragemethode:
POST - Anfrage-URL:
your-ui-connector-cloud-run-url.run.app/register-app
- Inhaltstyp: Application/JSON
Anfragetext:
{ "accountSid": "yourTwilioAccountSid", "authToken": "yourTwilioAccountAuthToken" }
- Widget-Name:
So erstellen Sie einen Ablauf für die Ausführung einer Funktion:
- Geben Sie Lauffunktion in das Such-Widget ein.
- Ziehen Sie das Run function-Widget (Funktion ausführen) in das Flussdiagramm, um es mit den Ausgaben Success (Erfolg) und Fail (Fehler) des
register_twilio-Widgets zu verbinden. Konfigurieren Sie das Widget für die Ausführungsfunktion mit den folgenden Details:
- Widget-Name:
conversation_name - Dienst:
ui-connector-auth - Umgebung: ui
- Funktion:
/conversation-name Funktionsparameter: Geben Sie die folgenden Funktionsparameter ein.
- Token:
{{ widgets.register_twilio.parsed.token }}
- Endpunkt:
your-ui-connector-cloud-run-url.run.app/conversation-name
- Telefon:
{{ trigger.call.From | replace_first:'+','' }}
ConversationName:projects/project/locations/location/conversations/{{ trigger.call.CallSid }}
- Token:
- Widget-Name:
Klicken Sie auf Speichern.
So erstellen Sie einen Fork-Stream-Ablauf:
- Geben Sie Fork stream in das Such-Widget ein.
- Verschieben Sie das Fork Stream-Widget in das Flussdiagramm, um es mit den Ausgaben Success und Fail des Widgets „HTTP-Anfrage stellen“ zu verbinden.
Konfiguriere das Fork-Stream-Widget mit den folgenden Details:
- Stream-Aktion: Starten
- Streamtyp:
Siprec - Connector name (Connector-Name):
Siprec1 - Tracks: Beide Tracks
Stream-Parameter: Geben Sie die folgenden Stream-Parameter ein.
- Schlüssel: Unterhaltung
- Wert:
projects/project-id/conversations/{{trigger.call.CallSid}}
Klicken Sie auf Speichern.
So erstellen Sie den „Senden an Flex“-Ablauf:
- Geben Sie An Flex senden in das Such-Widget ein.
- Verschieben Sie An Flex senden in den Flussbereich und verbinden Sie Weiter von Stream forken mit An Flex senden.
- Klicke auf An Flex senden.
Konfigurieren Sie das Widget „An Flex senden“ mit den folgenden Details.
- Workflow: Wählen Sie den Workflow aus, den Sie für die SCV verwenden.
- Task-Channel: Voice
- Attribute:
{"agent_assist__ConversationId__c":"{{trigger.call.CallSid}}"} - URL-Methode:
POST
Klicken Sie auf Speichern > Veröffentlichen.
Schritt 4: Datensatzseite für Agent Assist konfigurieren
So konfigurieren Sie die Datensatzseite für Agent Assist:
- Erstellen Sie eine Seite mit Sprachanrufaufzeichnungen für Agent Assist.
- Klicken Sie auf Aktivierung > App-Standard > Als App-Standard zuweisen.
- Wählen Sie Twilio for Service Cloud Voice aus.
- Klicken Sie auf Weiter > Speichern.
Schritt 5: Agent Assist-Integration testen
So testen Sie Agent Assist:
- Rufen Sie Salesforce auf.
- Klicken Sie auf den App Launcher.
- Geben Sie im Suchfeld Twilio for Service Cloud Voice ein. Die Seite Fälle wird geöffnet.
- Rufen Sie den Bereich Omnichannel auf und klicken Sie auf Neu.
- Klicken Sie auf check_circle Prüfen, um Ihre Twilio Flex-Nummer anzurufen. Sie haben das am Anfang erwähnt.
- Testen Sie beide Seiten der Unterhaltung und prüfen Sie, ob die Agent Assist-Funktionen wie konfiguriert funktionieren.