Bei dieser Sprachintegration wird die Twilio Open CTI-Integration verwendet, um ein Twilio Flex-Callcenter in Ihre Salesforce-Instanz zu integrieren.
Agent Assist verwendet den Media-Stream aus dem Twilio Flex-Anruf, um Ihren Kundenservicemitarbeitern Vorschläge in der Salesforce Lightning Service Console zu machen.
Hinweise
Um Agent Assist-UI-Module in Salesforce einzubinden, benötigen Sie Zugriff auf die folgenden Ressourcen:
-
Folgen Sie der empfohlenen Installationsanleitung für Ihr Betriebssystem.
-
Folgen Sie der empfohlenen Installationsanleitung für Ihr Betriebssystem.
-
Installieren Sie den
gcloud-Befehl wie beschrieben und authentifizieren Sie sich mitgcloud auth login. Salesforce
- Melden Sie sich über Ihre Instanz-URL oder die Salesforce-Anmeldeseite an und beachten Sie Folgendes:
- Ihre Salesforce-Meine Domain-URL. So finden Sie die Meine Domain-URL:
- Gehen Sie zur Menüleiste > Menü Einrichtung.
- Klicken Sie auf Einrichten.
- Geben Sie im Feld Schnellsuche Meine Domain ein. Der Domainname hat das folgende Format:
MY-DOMAIN-NAME.develop.my.salesforce.com.
- Ihre Salesforce-Organisations-ID. So finden Sie die Organisations-ID:
- Gehen Sie zur Menüleiste > Menü Einrichtung.
- Klicken Sie auf Einrichten.
- Geben Sie im Feld Schnellsuche Unternehmensinformationen ein. Hinweis: Diese Integrationsschritte wurden nur mit der Salesforce Developer Edition getestet. Wenn Sie eine andere Edition verwenden, kann es zu Unterschieden bei den Funktionslizenzen und der Salesforce-Benutzeroberfläche kommen.
Back-End für die Agent Assist-Integration
- Folgen Sie der Anleitung, um die Integration einzurichten.
- Konfigurieren Sie vor dem Ausführen des Bereitstellungsskripts die folgenden Umgebungsvariablen mit
deploy.shoder in einer.env-Datei im Projektstammverzeichnis: AUTH_OPTION: Setzen Sie dies aufSalesforceLWC.SALESFORCE_DOMAIN: Ein Domainname, derYOUR_SUBDOMAIN.develop.lightning.force.comähnelt. Diesen Wert haben Sie in den Salesforce-Voraussetzungen notiert.https://darf nicht enthalten sein.SALESFORCE_ORGANIZATION_ID: Diesen Wert haben Sie in der Salesforce-Voraussetzung notiert.APP_AUTH_OPTION: Setzen Sie dies aufTwilio.TWILIO_ACCOUNT_SID: Setzen Sie dies auf Ihre Twilio-Konto-SID.
Schritt 1: Twilio Flex einrichten
Twilio Flex dient in dieser Integration als Softphone. Sie können sich in der Twilio-Konsole anmelden, um ein Flex-Konto einzurichten. Auf der Twilio-Einrichtungsseite finden Sie eine detaillierte Anleitung zum Erstellen eines Flex-Kontos.
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 > Marketplace > Catalog > Twilio > Siprec Connector auf.
- Klicken Sie auf Installieren > das Kästchen Bestätigung der Nutzungsbedingungen > Installieren.
- Konfigurieren Sie das Plug-in auf dem Tab Konfigurieren so:
- Eindeutiger Name:
SipRec1 - Server für die Sitzungsaufzeichnung:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- Weitere Informationen zum Bereitstellen einer GTP-Nummer finden Sie in der Dokumentation zur Telefonieintegration. Sie können die SBC-Konfigurations- und Validierungsschritte ignorieren, da sie für den Twilio Siprec-Connector abgeschlossen sind.
- Eindeutiger Name:
- Rufen Sie Twilio Home > Functions and Assets auf.
- Wenn Funktionen und Assets nicht in der Seitenleiste angezeigt wird, können Sie es über Produkte entdecken anpinnen.
- Klicken Sie auf Dienst erstellen.
- Geben Sie dem neuen Dienst den Namen
ui-connector-auth. - Klicken Sie im angezeigten Editor auf Hinzufügen + > Funktion hinzufügen.
- Benennen Sie die Funktion
conversation-name. - Klicken Sie auf und ändern Sie die Sichtbarkeit der Funktion in Öffentlich.
- Kopieren Sie den gesamten Inhalt von
ui-connector-auth.jsaus dem GitHub-Repository und fügen Sie ihn in den Editor ein. - Klicken Sie auf Speichern.
- Klicken Sie auf Alle bereitstellen.
IVR mit Flex Studio konfigurieren
Die IVR besteht aus der Konfiguration eines programmatischen Anrufablaufs mit Twilio Studio, um den SIPREC-Fork des Media-Streams an Agent Assist zu senden. Außerdem wird ein HTTP-Post gesendet, um die Telefonnummer und die Unterhaltungs-ID mit Agent Assist zu teilen. So konfigurieren Sie IVR mit Flex Studio:
- Öffnen Sie die Twilio Console.
- 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.
- Klicken Sie im Bereich Voice – Studio Workflow auf Voice IVR.
- Ziehen Sie das Widget HTTP-Anfrage stellen in den Ablauf.
- Trennen Sie die Verbindung von Incoming Call vom Input des Widgets SendCallToAgent.
- Verbinden Sie Incoming Call mit der Eingabe des Widgets Make HTTP Request.
- Konfigurieren Sie das Widget HTTP-Anfrage stellen mit den folgenden Details:
- 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:
- Ziehen Sie ein Run Function-Widget (Funktion ausführen) in den Ablauf.
- Verbinden Sie die Ausgaben Success und Fail des Widgets register_twilio mit der Eingabe des Widgets Run Function.
- Erstellen Sie ein Widget mit den folgenden Details:
- Widget-Name:
conversation_name - Dienst:
ui-connector-auth - Umgebung:
ui - Funktion:
conversation-name - Funktionsparameter:
- token:
{{ widgets.register_twilio.parsed.token }}
- endpoint:
<your-ui-connector-cloud-run-url>.run.app/conversation-name - phone:
{{ trigger.call.From | replace_first:'+','' }}
- conversationName:
projects/<project>/locations/<location>/conversations/TW-{{ trigger.call.From | replace_first:'+','' }}-{{ trigger.call.CallSid }}
- token:
- Widget-Name:
- Ziehen Sie ein Fork Stream-Widget (Stream verzweigen) aus der Seitenleiste in den Ablauf.
- Verbinden Sie die Ausgaben Success und Fail des Widgets Make HTTP Request mit der Eingabe des Widgets Fork Stream.
- Verbinden Sie den Knoten Weiter des Widgets Stream aufteilen mit dem Widget Anruf an Kundenservicemitarbeiter weiterleiten.
Konfigurieren Sie das Widget Fork Stream so:
- Stream-Aktion: Starten
- Stream Type (Streamtyp): Siprec
- Connector Name (Connector-Name):
Siprec1 - Tracks: Beide Tracks
Stream-Parameter:
- Key:
conversation Wert:
projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
- Key:
Klicken Sie auf Speichern > Veröffentlichen.
Kontodetails
In diesem Schritt erfahren Sie, wie Sie die Details Ihres Twilio Flex-Kontos abrufen. Sie benötigen diese Informationen später, um Flex CTI in Salesforce zu konfigurieren.
- Rufen Sie Twilio Home > Account Dashboard auf und notieren Sie sich die folgenden Informationen:
- Account SID (Konto-SID)
- Meine Twilio-Telefonnummer
Schritt 2: Entwicklungsprojekt einrichten
So beginnen Sie mit der Integration von Agent Assist-UI-Modulen:
- Führen Sie den folgenden Code aus, um das Agent Assist-Integrationsrepository zu klonen und Ihr Projekt zu öffnen:
git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations cd salesforce/aa-lwc
- Führen Sie die folgenden Befehle aus, um die JavaScript-Dateien für UI-Module herunterzuladen, die Sie später als statische Ressourcen bereitstellen. Salesforce erfordert, dass statische Ressourcen zum Laden von Drittanbieter-JavaScript verwendet werden.
npm run generate-static-resources npm install
Schritt 3: Salesforce-Umgebung einrichten
Sie können Agent Assist-UI-Module in eine bestimmte Umgebung einbinden, z. B. in die Produktions- oder Entwicklungsumgebung. Salesforce bezeichnet diese Umgebungen als Organisationen.
Organisation mit der Salesforce-Befehlszeile konfigurieren
Führen Sie die folgenden Schritte aus, um Ihre Organisation mit der Salesforce CLI für die Agent Assist-Integration zu konfigurieren.
- Führen Sie den folgenden Code aus und authentifizieren Sie die Befehlszeile mit den Salesforce-Anmeldedaten, die Sie normalerweise verwenden.
npm run login
- Führen Sie den folgenden Code aus, um die LWC in der Organisation bereitzustellen.
npm run deploy
Schritt 4: Externe Client-App erstellen
Die Salesforce-LWC verwendet den OAuth 2.0-Vorgang für Clientanmeldedaten, um Sie zu authentifizieren. Eine externe Client-App ermöglicht den Ablauf für Clientanmeldedaten. Verwenden Sie den Consumer-Key und das Consumer-Secret der App, um die Salesforce-LWC zu konfigurieren, damit Nutzer bei Salesforce authentifiziert werden.
- Klicken Sie in der Menüleiste auf das Menü Einrichtung und dann auf Einrichtung. Geben Sie im Feld Schnellsuche Manager für externe Client-Apps ein.
- Klicken Sie auf External Client App Manager > New External Client App > Create und geben Sie die folgenden Informationen ein.
- Name der externen Client-App: lwc auth
- API-Name: lwc_auth
- E‑Mail-Adresse für Kontakt:
your_email@example.com - API (OAuth-Einstellungen aktivieren) > OAuth aktivieren: Ausgewählt
- API (OAuth-Einstellungen aktivieren) > Rückruf-URL: https://login.salesforce.com/services/oauth2/callback
- API (OAuth-Einstellungen aktivieren) > Ausgewählte OAuth-Bereiche: Auf den Identitäts-URL-Dienst zugreifen
- API (OAuth-Einstellungen aktivieren) > Ablauf für Clientanmeldedaten aktivieren: Ausgewählt
- Klicken Sie auf Erstellen.
- Klicken Sie in der Menüleiste auf das Menü Einrichtung und dann auf Einrichtung. Geben Sie im Feld Schnellsuche Manager für externe Client-Apps ein.
- Klicken Sie auf den Namen Ihrer externen Client-App > Bearbeiten.
- Rufen Sie OAuth-Richtlinien > OAuth-Abläufe und externe Client-App-Erweiterungen auf.
- Achten Sie darauf, dass Enable Client Credentials Flow (Ablauf für Clientanmeldedaten aktivieren) ausgewählt ist.
- Geben Sie unter Ausführen als Ihren Anmeldenamen ein.
- Klicken Sie auf Speichern.
- Klicken Sie in der Menüleiste auf das Menü Einrichtung und dann auf Einrichtung. Geben Sie im Feld Schnellsuche Manager für externe Client-Apps ein.
- Klicken Sie auf den Namen Ihrer externen Client-App > Bearbeiten.
- Gehen Sie zu OAuth-Einstellungen > App-Einstellungen > Consumer-Schlüssel und ‑Secret.
- Geben Sie den Bestätigungscode ein, der an Ihre E-Mail-Adresse gesendet wurde.
- Kopieren Sie den Consumer-Key und das Consumer-Secret an einen sicheren Ort. Sie benötigen diese für einen späteren Schritt.
CORS- und Content Security Policy festlegen
- Klicken Sie in der Menüleiste auf das Einrichtungsmenü und dann auf Einrichten.
- Geben Sie im Feld Schnellsuche CORS ein und klicken Sie dann auf Bearbeiten.
- Wählen Sie CORS für OAuth-Endpunkte aktivieren aus.
- Klicken Sie auf Speichern.
- Klicken Sie in der Menüleiste auf das Einrichtungsmenü und dann auf Einrichten.
- Geben Sie im Feld Schnellsuche Vertrauenswürdige URLs ein und klicken Sie dann auf Neue vertrauenswürdige URL.
- Geben Sie den API-Namen ein: ui_connector
- Geben Sie die URL des Cloud Run-Dienstendpunkts des UI-Connectors ein, den Sie mit Ihrem Agent Assist-Integrations-Backend bereitgestellt haben. Sie finden diese URL in der Cloud Run-Konsole. Beispiel:
https://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app. - Klicken Sie alle Kästchen unter CSP-Anweisungen an.
- Klicken Sie auf Save & New (Speichern und neu).
- Geben Sie die URL des Cloud Run-Dienstendpunkts des UI-Connectors ein, den Sie mit Ihrem Agent Assist-Integrations-Backend bereitgestellt haben. Sie finden diese URL in der Cloud Run-Konsole. Beispiel:
- Geben Sie den API-Namen ein: ui_connector_wss.
- Geben Sie die URL des Cloud Run-Dienstendpunkts des UI-Connectors ein, den Sie mit Ihrem Agent Assist-Integrations-Backend bereitgestellt haben. Sie finden diese URL in der Cloud Run-Konsole. Ändern Sie das Protokoll in „wss“ für WebSockets-Traffic. Beispiel:
wss://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app. - Klicken Sie alle Kästchen unter CSP-Anweisungen an.
- Klicken Sie auf Save & New (Speichern und neu).
- Geben Sie die URL des Cloud Run-Dienstendpunkts des UI-Connectors ein, den Sie mit Ihrem Agent Assist-Integrations-Backend bereitgestellt haben. Sie finden diese URL in der Cloud Run-Konsole. Ändern Sie das Protokoll in „wss“ für WebSockets-Traffic. Beispiel:
- Geben Sie den API-Namen ein: salesforce_domain
- Geben Sie die URL Ihrer Salesforce-Domain im folgenden Format ein:
https://<var>YOUR_SUBDOMAIN</var>.my.salesforce.com. - Klicken Sie alle Kästchen unter CSP-Anweisungen an.
- Klicken Sie auf Speichern.
- Geben Sie die URL Ihrer Salesforce-Domain im folgenden Format ein:
Schritt 5: Twilio Flex CTI-Plug-in installieren
Salesforce bietet Salesforce Open CTI, um die Integration von Softphones von Drittanbietern in Ihre Salesforce-Instanz zu ermöglichen.
Twilio Flex CTI verwendet Salesforce Open CTI, damit Sie Flex direkt in Ihrer Salesforce-Instanz verwenden können. Folgen Sie der Anleitung von Twilio, um Twilio Flex CTI in Ihrer Salesforce-Instanz einzurichten.
Schritt 6: Salesforce Lightning-Webkomponente installieren
Führen Sie die folgenden Schritte aus, um mit dem Lightning Experience-Editor die Salesforce Lightning-Webkomponente auf der Kontaktseite hinzuzufügen, auf der Twilio Flex CTI geöffnet wird, wenn ein neuer Anruf eingeht.
- Rufen Sie die Service Console auf und wählen Sie Kontakte aus.
- Wählen Sie einen Kontaktdatensatz aus.
- Klicken Sie auf das Menü „Einrichtung“ > Seite bearbeiten.
- Klicken Sie auf Vorlage > Ändern.
- Wählen Sie Kopfzeile und Zwei gleich große Regionen aus.
- Klicken Sie auf Weiter.
- Ordnen Sie jede Region einer neuen Region zu.
- Klicken Sie auf Fertig.
- Verschieben Sie
agentAssistContainerModuleaus der Seitenleiste Komponenten in die Seitenleiste. Hinweis: Diese Komponente wurde mit dem Befehlnpm deploybereitgestellt. - Klicken Sie auf die Komponente, die Sie im vorherigen Schritt platziert haben, und füllen Sie die Formularfelder wie folgt aus, um Konfigurationsdetails hinzuzufügen.
- endpoint: Die URL des UI-Connectors Ihres Integrations-Backends. Beispiel: Eine URL aus der Cloud Run-Konsole, z. B.
https://<var>UI_CONNECTOR_ENDPOINT</var>.<var>GCP_REGION</var>.run.app. - features: Agent Assist-Funktionen, die eingeschlossen werden sollen. Sie müssen in Ihrem Unterhaltungsprofil aktiviert sein. Zu den verfügbaren Funktionen gehören
CONVERSATION_SUMMARIZATION,KNOWLEDGE_ASSIST_V2undAGENT_COACHING. Einige Funktionen, z. B.SMART_REPLY, sind fürvoicenicht verfügbar. - channel: Gibt an, dass die Integration für
voiceist. - platform: Geben Sie an, dass die Plattform
twilioist. - conversationProfile: Der Ressourcenname Ihres Agent Assist-Unterhaltungsprofils. Zum Beispiele
projects/<var>GCP_PROJECT_ID</var>/locations/<var>GCP_REGION</var>/conversationProfiles/<var>CONVERSATION_PROFILE_ID</var> - consumerKey: Der Consumer-Key des externen Clients aus Schritt 3.
- consumerSecret: Das Consumer-Secret der externen Client-App aus Schritt 3.
- endpoint: Die URL des UI-Connectors Ihres Integrations-Backends. Beispiel: Eine URL aus der Cloud Run-Konsole, z. B.
Schritt 7: Integration testen
Sie können die Voice-Integration mit einem Testanruf beim Salesforce-Callcenter testen.
- Melden Sie sich über die Service Console in Twilio Flex an.
- Rufen Sie Ihre Twilio Flex-Nummer an. Sie haben sich das in Schritt 1 notiert.
- Nehmen Sie den Anruf in Ihrer Service Console entgegen. Auf dem Display sollte eine neue oder vorhandene Kontaktseite für die Nummer des Anrufers geöffnet werden.
- Wenn es sich um eine neue Kontaktseite handelt, speichern Sie den Kontakt. Wenn die Kontaktseite geladen wird, sollte die Salesforce Lightning-Webkomponente in der Seitenleiste geladen werden.
- Testen Sie beide Seiten des Gesprächs und prüfen Sie, ob die Agent Assist-Funktionen wie konfiguriert funktionieren.