Salesforce-Sprachintegration mit Twilio Flex

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:

  • Node.js Google hat Node.js 18.20.4 mit dieser Integration getestet und empfiehlt diese Version. Es sind Kompatibilitätsprobleme mit Node.js 20.18.0 bekannt. Eine Anleitung zum Installieren bestimmter Versionen von Node.js finden Sie unter nvm.
  • Salesforce-Befehlszeile Installieren Sie das Tool mit dem folgenden Terminalbefehl: (sudo) npm install -g @salesforce/cli
  • Gcloud CLI Installieren Sie den Befehl gcloud wie beschrieben und authentifizieren Sie sich mit dem folgenden Code: gcloud auth login
  • Salesforce-Benutzeroberfläche
    1. Melden Sie sich mit Ihrer Instanz-URL oder unter login.salesforce.com an und beachten Sie Folgendes:
      • Die URL „Meine Domain“ in Salesforce. Klicken Sie in der Menüleiste auf das Einrichtungsmenü und dann auf Einrichten. Geben Sie in der Schnellsuche „Meine Domain“ ein. Der Domainname hat das folgende Format: MEIN-DOMAINNAME.develop.my.salesforce.com.
      • Ihre Salesforce-Organisations-ID. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichten. Geben Sie in der Schnellsuche „Unternehmensinformationen“ ein.
  • Back-End für die Agent Assist-Integration
    1. Folgen Sie der Anleitung, um die Integration einzurichten.
    2. Konfigurieren Sie vor dem Ausführen des Bereitstellungsskripts die folgenden Umgebungsvariablen mit deploy.sh oder in einer .env-Datei im Projektstammverzeichnis:
      • AUTH_OPTION: Setzen Sie dies aufSalesforceLWC.
      • SALESFORCE_DOMAIN: Ein Domainname wie YOUR_SUBDOMAIN.develop.lightning.force.com. Diesen Wert haben Sie in der Salesforce-UI-Voraussetzung notiert. https:// darf nicht angegeben werden.
      • SALESFORCE_ORGANIZATION_ID: Diesen Wert haben Sie in der Salesforce-Benutzeroberfläche notiert.

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:

  1. Gehen Sie zu Twilio Home > Marketplace > Catalog > Twilio > Siprec Connector.
  2. Klicken Sie auf Installieren > das Kästchen Bestätigung der Nutzungsbedingungen > Installieren.
  3. Konfigurieren Sie das Plug-in auf dem Tab Konfigurieren wie folgt:
    • Eindeutiger Name: SipRec1
    • Server für die Sitzungsaufzeichnung:
      sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
    • Bitten Sie Ihren Google-Ansprechpartner, die GTP-Nummer mithilfe der Dokumentation zur Telefonieintegration bereitzustellen. Dort finden Sie weitere Informationen zum Prozess. Sie können die Schritte zur SBC-Konfiguration und ‑Validierung ignorieren, da sie für den Twilio Siprec Connector bereits abgeschlossen sind.
  4. 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.
  5. Klicken Sie auf Dienst erstellen.
  6. Geben Sie dem neuen Dienst den Namen ui-connector-auth.
  7. Klicken Sie im angezeigten Editor auf Hinzufügen + > Funktion hinzufügen.
  8. Nennen Sie die Funktion conversation-name.
  9. Klicken Sie auf  und ändern Sie die Sichtbarkeit der Funktion in Öffentlich.
  10. Kopieren Sie den gesamten Inhalt von ui-connector-auth.js aus dem GitHub-Repository und fügen Sie ihn in den Editor ein.
  11. Klicken Sie auf Speichern.
  12. 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:

  1. Öffnen Sie die Twilio Console.
  2. 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.
  3. Klicken Sie im Abschnitt Voice – Studio-Workflow auf Voice IVR.
  4. Ziehen Sie das Widget HTTP-Anfrage stellen in den Ablauf.
  5. Trennen Sie die Verbindung von Incoming Call vom Input des Widgets SendCallToAgent.
  6. Verbinden Sie Incoming Call mit der Eingabe des Widgets Make HTTP Request.
  7. 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>"
      }
  8. Ziehen Sie ein Run Function-Widget in den Ablauf.
  9. Verbinden Sie die Ausgaben Success und Fail des Widgets register_twilio mit der Eingabe des Widgets Run Function.
  10. 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 }}
  11. Ziehen Sie ein Fork Stream-Widget (Stream verzweigen) aus der Seitenleiste in den Ablauf.
  12. Verbinden Sie die Ausgaben Success und Fail des Widgets Make HTTP Request mit der Eingabe des Widgets Fork Stream.
  13. Verbinden Sie den Knoten Weiter des Widgets Stream aufteilen mit dem Widget Anruf an Kundenservicemitarbeiter weiterleiten.
  14. Konfigurieren Sie das Widget Fork Stream so:

    • Stream-Aktion: Starten
    • Stream Type (Streamtyp): Siprec
    • Connector Name (Connector-Name): Siprec1
    • Tracks: Beide Tracks
    • Streamparameter:

      • Key: conversation
      • Wert:

        projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
        
  15. 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.

  1. 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:

  1. 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
  2. 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 die statischen Ressourcen JS von Drittanbietern laden.
    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

So konfigurieren Sie Ihre Organisation mit der Salesforce CLI für die Agent Assist-Integration:

  1. Führen Sie den folgenden Code aus und authentifizieren Sie die Befehlszeile mit den Salesforce-Anmeldedaten, die Sie normalerweise verwenden.
    npm run login
  2. Führen Sie den folgenden Code aus, um die LWC in der Organisation bereitzustellen.
    npm run deploy

Schritt 4: Verbundene App erstellen

Die Salesforce Lightning-Webkomponente verwendet den OAuth 2.0-Flow für Clientanmeldedaten, um Sie zu authentifizieren. Eine verbundene Anwendung (App) ermöglicht den Ablauf der Clientanmeldedaten. Konfigurieren Sie die LWC mit dem Consumer-Key und dem Consumer-Secret der App, um Nutzer bei Salesforce zu authentifizieren.

Grundeinstellungen konfigurieren

  1. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichtung. Geben Sie in der Schnellsuche „App-Manager“ ein.
  2. Klicken Sie auf Neue verbundene App > Verbundene App erstellen > Weiter und geben Sie dann die folgenden Informationen ein.
    • Name der verbundenen App: lwc auth
    • API-Name: lwc_auth
    • E‑Mail-Adresse für Kontakt: your_email@example.com
    • OAuth-Einstellungen aktivieren: checked
    • Callback-URL: https://login.salesforce.com/services/oauth2/callback
    • Ausgewählte OAuth-Bereiche: Auf den Identitäts-URL-Dienst zugreifen
    • Client Credentials Flow aktivieren: checked
  3. Klicken Sie auf Speichern.

Weitere Informationen zu verbundenen Apps finden Sie in den folgenden Salesforce-Ressourcen.

Laufzeitautorisierung und Anmeldedaten festlegen

  1. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichtung.
  2. Geben Sie in der Schnellsuche „Verbundene Apps verwalten“ ein.
  3. Klicken Sie auf den Namen der verbundenen App > Bearbeiten.
    • Rufen Sie den Ablauf der Clientanmeldedaten auf.
    • Klicken Sie bei Ausführen als auf das Lupensymbol und wählen Sie dann Ihren Nutzernamen aus.
    • Klicken Sie auf Speichern.
  4. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichtung.
  5. Geben Sie in der Schnellsuche „App-Manager“ ein.
  6. Suchen Sie nach lwc auth und klicken Sie auf .
    • Klicken Sie auf Ansicht > Verbraucherdetails verwalten.
    • 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 sie für einen späteren Schritt.

CORS- und Content Security Policy festlegen

  1. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichtung.
  2. Geben Sie in der Schnellsuche „CORS“ ein und klicken Sie auf Bearbeiten.
    • Aktivieren Sie CORS für OAuth-Endpunkte aktivieren.
    • Klicken Sie auf Speichern.
  3. Klicken Sie in der Menüleiste auf „Setup-Menü“ > Einrichtung.
  4. Geben Sie in der Schnellsuche „Vertrauenswürdige URLs“ ein und klicken Sie dann auf Neue vertrauenswürdige URL.
  5. Geben Sie den API-Namen ein: ui_connector
    • Geben Sie die URL des UI Connector Cloud Run-Dienstendpunkts ein, den Sie mit Ihrem Agent Assist-Integrations-Backend bereitgestellt haben. Sie finden diese URL in der Cloud Run-Konsole. Beispiel: https://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app.
    • Aktivieren Sie alle Kästchen unter CSP-Anweisungen.
    • Klicken Sie auf Save & New (Speichern und neu).
  6. Geben Sie den API-Namen ein: ui_connector_wss
    • Geben Sie die URL des UI Connector Cloud Run-Dienstendpunkts 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://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app.
    • Aktivieren Sie alle Kästchen unter CSP-Anweisungen.
    • Klicken Sie auf Save & New (Speichern und neu).
  7. Geben Sie den API-Namen ein: salesforce_domain
    • Geben Sie die URL Ihrer Salesforce-Domain im folgenden Format ein: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Aktivieren Sie alle Kästchen unter CSP-Anweisungen.
    • Klicken Sie auf Speichern.

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 Ihr Twilio Flex CTI geöffnet wird, wenn ein neuer Anruf eingeht.

  1. Rufen Sie die Service Console auf und wählen Sie Kontakte aus.
  2. Wählen Sie einen Kontaktdatensatz aus.
  3. Klicken Sie auf das Einrichtungsmenü > Seite bearbeiten.
  4. 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.
  5. Verschieben Sie agentAssistContainerModule aus der Seitenleiste Komponenten in die Seitenleiste. Hinweis: Diese Komponente wurde mit dem Befehl npm deploy bereitgestellt.
  6. 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://UI-CONNECTOR-ENDPOINT.GCP-REGION.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_V2 und AGENT_COACHING. Einige Funktionen, z. B. SMART_REPLY, sind für voice-twilio nicht verfügbar.
    • channel: Gibt an, dass die Integration für die Sprachausgabe vorgesehen ist.
    • channelType: Gibt an, dass der Typ der Sprachintegration „twilio“ ist.
    • conversationProfile: Der Ressourcenname Ihres Agent Assist-Unterhaltungsprofils. Zum Beispiele projects/GCP-PROJECT-ID/locations/GCP-REGION/conversationProfiles/CONVERSATION-PROFILE-ID
    • consumerKey: Der Consumer-Key der verbundenen App aus Schritt 3.
    • consumerSecret: Das Consumer-Secret der verbundenen App aus Schritt 3.

Schritt 7: Integration testen

Sie können die Voice-Integration mit einem Testanruf beim Salesforce-Callcenter testen.

  1. Melden Sie sich über Ihre Salesforce Service Console in Twilio Flex an.
  2. Rufen Sie Ihre Twilio Flex-Nummer an. Sie haben sich das in Schritt 1 notiert.
  3. Nehmen Sie den Anruf in Ihrer Salesforce-Servicekonsole entgegen. Auf dem Display sollte eine neue oder vorhandene Kontaktseite für die Nummer des Anrufers geöffnet werden.
  4. Wenn es sich um eine neue Kontaktseite handelt, speichern Sie den Kontakt. Wenn die Seite „Kontakt“ geladen wird, sollte die Salesforce Lightning-Webkomponente in der Seitenleiste geladen werden.
  5. Testen Sie beide Seiten der Unterhaltung und prüfen Sie, ob die Agent Assist-Funktionen wie konfiguriert funktionieren.