Intégration de la voix Salesforce à Twilio Flex

Cette intégration vocale utilise l'intégration Twilio Open CTI pour intégrer un centre d'appels Twilio Flex à votre instance Salesforce.

Agent Assist utilise le flux multimédia de l'appel Twilio Flex pour fournir des suggestions à vos agents dans la console de service Salesforce Lightning.

Avant de commencer

Pour intégrer les modules d'interface utilisateur Agent Assist à Salesforce, vous devez avoir accès aux ressources suivantes :

  • Node.js Google a testé et recommande Node.js 18.20.4 avec cette intégration. Des problèmes de compatibilité connus existent avec Node.js 20.18.0. Pour savoir comment installer des versions spécifiques de Node.js, consultez nvm.
  • CLI Salesforce Installez-le à l'aide de la commande de terminal suivante : (sudo) npm install -g @salesforce/cli.
  • gcloud CLI Installez la commande gcloud comme indiqué et authentifiez-vous à l'aide du code suivant : gcloud auth login
  • UI Salesforce
    1. Connectez-vous à l'URL de votre instance ou à login.salesforce.com, puis notez les informations suivantes :
      • L'URL "Mon domaine" de votre compte Salesforce. Pour trouver cette option, accédez à la barre de menu > menu "Configuration", puis cliquez sur Configuration. Saisissez "Mon domaine" dans la zone de recherche rapide. Le nom de domaine est au format suivant : MY-DOMAIN-NAME.develop.my.salesforce.com.
      • ID de votre organisation Salesforce. Pour trouver cette option, accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration. Dans la zone Quick Find (Recherche rapide), saisissez "Company Information" (Informations sur l'entreprise).
  • Backend d'intégration d'Agent Assist
    1. Suivez les instructions pour configurer l'intégration.
    2. Avant d'exécuter le script de déploiement, configurez les variables d'environnement suivantes avec deploy.sh ou dans un fichier .env à la racine du projet :
      • AUTH_OPTION : définissez cette valeur sur SalesforceLWC.
      • SALESFORCE_DOMAIN : nom de domaine tel que YOUR_SUBDOMAIN.develop.lightning.force.com. Vous avez noté cette valeur dans le prérequis de l'UI Salesforce. Notez que vous ne devez pas inclure https://.
      • SALESFORCE_ORGANIZATION_ID : vous avez noté cette valeur dans le prérequis de l'UI Salesforce.

Étape 1 : Configurez Twilio Flex

Twilio Flex sert de softphone dans cette intégration. Vous pouvez vous connecter à la console Twilio pour configurer un compte Flex. Consultez la page de configuration de Twilio pour obtenir des instructions détaillées sur la création d'un compte Flex.

Installer le module complémentaire du connecteur SIPREC

Le module complémentaire de connecteur SIPREC permet à votre compte Twilio Flex de créer des forks SIPREC des flux multimédias d'appels vocaux vers Agent Assist. Pour installer le module complémentaire du connecteur SIPREC, procédez comme suit.

  1. Accédez à Twilio Home > Marketplace > Catalog > Twilio > Siprec Connector.
  2. Cliquez sur Installer > cochez la case J'accepte les conditions d'utilisation > Installer.
  3. Dans l'onglet Configurer, configurez le plug-in comme suit :
    • Nom unique : SipRec1
    • Serveur d'enregistrement de session :
      sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
    • Contactez votre représentant Google pour provisionner le numéro GTP à l'aide de la documentation sur la présentation de l'intégration de la téléphonie, qui fournit plus de détails sur le processus. Vous pouvez ignorer les étapes de configuration et de validation du SBC, car elles sont déjà effectuées pour le connecteur Twilio Siprec.
  4. Accédez à Twilio Home > Functions and Assets.
    • Si Fonctions et composants n'est pas visible dans la barre latérale, épinglez-le depuis Explorer les produits.
  5. Cliquez sur Créer un service.
  6. Nommez le nouveau service ui-connector-auth.
  7. Dans l'éditeur qui s'affiche, cliquez sur Ajouter + > Ajouter une fonction.
  8. Nommez la fonction conversation-name.
  9. Cliquez sur et définissez la visibilité de la fonction sur Public.
  10. Copiez et collez l'intégralité du contenu de ui-connector-auth.js du dépôt GitHub dans l'éditeur.
  11. Cliquez sur Enregistrer.
  12. Cliquez sur Tout déployer.

Configurer un SVI avec Flex Studio

L'IVR consiste à configurer un flux d'appels programmatique avec Twilio Studio pour créer la bifurcation SIPREC du flux multimédia vers Agent Assist. Il effectue également une requête HTTP POST pour partager le numéro de téléphone et l'ID de conversation avec l'Assistance pour les agents. Suivez ces étapes pour configurer l'IVR avec Flex Studio.

  1. Accédez à la console Twilio.
  2. Cliquez sur Develop > Phone Numbers > Manage > Active Numbers (Développer > Numéros de téléphone > Gérer > Numéros actifs). Le tableau doit comporter une ligne avec le numéro Twilio par défaut provisionné pour votre compte Flex.
  3. Dans la section Voix – Workflow Studio, cliquez sur SVI vocal.
  4. Faites glisser un widget Make HTTP Request (Envoyer une requête HTTP) dans le flux.
  5. Déconnectez Incoming Call de l'entrée du widget SendCallToAgent.
  6. Connectez Incoming Call (Appel entrant) à l'entrée du widget Make HTTP Request (Effectuer une requête HTTP).
  7. Configurez le widget Make HTTP Request (Envoyer une requête HTTP) avec les informations suivantes :
    • Nom du widget : register_twilio
    • Méthode de la requête : POST
    • URL de la demande : <your-ui-connector-cloud-run-url>.run.app/register-app
    • Type de contenu : application/json
    • Corps de la requête :
      {
      "accountSid": "<yourTwilioAccountSid>",
      "authToken": "<yourTwilioAccountAuthToken>"
      }
  8. Faites glisser un widget Run Function (Exécuter la fonction) dans le flux.
  9. Connectez les sorties Success (Réussite) et Fail (Échec) du widget register_twilio à l'entrée du widget Run Function (Exécuter la fonction).
  10. Créez un widget avec les informations suivantes :
    • Nom du widget : conversation_name
    • Service : ui-connector-auth
    • Environnement : ui
    • Fonction : conversation-name
    • Paramètres de la fonction :
      • 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. Faites glisser un widget Fork Stream (Flux de bifurcation) de la barre latérale vers le flux.
  12. Connectez les sorties Success (Réussite) et Fail (Échec) du widget Make HTTP Request (Effectuer une requête HTTP) à l'entrée du widget Fork Stream (Dupliquer le flux).
  13. Connectez le nœud Suivant du widget Fork Stream au widget SendCallToAgent.
  14. Configurez le widget Fork Stream comme suit :

    • Action de flux : Démarrer
    • Type de flux : Siprec
    • Nom du connecteur : Siprec1
    • Pistes : les deux pistes
    • Paramètres de flux :

      • Key (Clé) : conversation
      • Valeur :

        projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
        
  15. Cliquez sur Enregistrer > Publier.

Détails du compte

Suivez cette étape pour collecter les informations de votre compte Twilio Flex. Vous aurez besoin de ces informations pour configurer Flex CTI dans Salesforce ultérieurement.

  1. Accédez à Twilio Home > Tableau de bord du compte, puis notez les informations suivantes :
    • SID du compte
    • Mon numéro de téléphone Twilio

Étape 2 : Configurer votre projet de développement

Pour commencer à intégrer les modules d'interface utilisateur d'Agent Assist, suivez ces étapes.

  1. Exécutez le code suivant pour cloner le dépôt d'intégration Agent Assist et ouvrir votre projet :
    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
  2. Exécutez les commandes suivantes pour télécharger les fichiers JavaScript des modules d'interface utilisateur que vous déploierez ultérieurement en tant que ressources statiques. Salesforce exige que les ressources statiques chargent le code JS tiers.
    npm run generate-static-resources
    npm install

Étape 3 : Configurez votre environnement Salesforce

Vous pouvez intégrer les modules d'interface utilisateur Agent Assist dans un environnement spécifique, tel que la production ou le développement. Salesforce appelle ces environnements des organisations.

Configurer votre organisation avec la CLI Salesforce

Suivez ces étapes pour utiliser la CLI Salesforce afin de configurer votre organisation pour l'intégration de l'assistance aux agents.

  1. Exécutez le code suivant et authentifiez la CLI à l'aide des identifiants de connexion Salesforce que vous utilisez habituellement.
    npm run login
  2. Exécutez le code suivant pour déployer le composant Web LWC dans l'organisation.
    npm run deploy

Étape 4 : Créez une application connectée

Le composant Web Salesforce Lightning utilise le flux OAuth 2.0 avec identifiants client pour vous authentifier. Une application connectée permet le flux des identifiants client. Utilisez la clé client et le secret client de l'application pour configurer le composant LWC afin d'authentifier les utilisateurs avec Salesforce.

Configurer les paramètres de base

  1. Accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration. Saisissez "Gestionnaire d'applications" dans la zone de recherche rapide.
  2. Cliquez sur Nouvelle application connectée > Créer une application connectée > Continuer, puis saisissez les informations suivantes.
    • Nom de l'application associée : lwc auth
    • Nom de l'API : lwc_auth
    • Adresse e-mail de contact : your_email@example.com
    • Activer les paramètres OAuth : checked
    • URL de rappel : https://login.salesforce.com/services/oauth2/callback
    • Champs d'application OAuth sélectionnés : accéder au service d'URL d'identité
    • Activer le flux d'identifiants client : checked
  3. Cliquez sur Enregistrer.

Pour en savoir plus sur les applications connectées, consultez les ressources Salesforce suivantes.

Définir l'autorisation d'exécution et les identifiants

  1. Accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration.
  2. Dans la zone Recherche rapide, saisissez "Gérer les applications connectées".
  3. Cliquez sur le nom de l'application associée > Modifier.
    • Accédez à Flux des identifiants client.
    • Pour Exécuter en tant que, cliquez sur la loupe, puis sélectionnez votre nom d'utilisateur.
    • Cliquez sur Enregistrer.
  4. Accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration.
  5. Saisissez "Gestionnaire d'applications" dans la zone de recherche rapide.
  6. Recherchez lwc auth, puis cliquez sur .
    • Cliquez sur Afficher > Gérer les informations sur le consommateur.
    • Saisissez le code de validation envoyé à votre adresse e-mail.
    • Copiez la clé client et le secret client dans un emplacement sécurisé, car vous en aurez besoin pour une étape ultérieure.

Établir des règles CORS et de sécurité du contenu

  1. Accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration.
  2. Saisissez "CORS" dans la recherche rapide, puis cliquez sur Modifier.
    • Consultez Activer CORS pour les points de terminaison OAuth.
    • Cliquez sur Enregistrer.
  3. Accédez à la barre de menu > Menu de configuration, puis cliquez sur Configuration.
  4. Dans la zone Recherche rapide, saisissez "URL de confiance", puis cliquez sur Nouvelle URL de confiance.
  5. Saisissez le nom de l'API : ui_connector
    • Saisissez l'URL du point de terminaison du service Cloud Run du connecteur d'UI que vous avez déployé avec votre backend d'intégration Agent Assist. Vous trouverez cette URL dans la console Cloud Run. Par exemple : https://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app.
    • Cochez toutes les cases de la section Directives CSP.
    • Cliquez sur Enregistrer et nouveau.
  6. Saisissez le nom de l'API : ui_connector_wss
    • Saisissez l'URL du point de terminaison du service Cloud Run du connecteur d'UI que vous avez déployé avec votre backend d'intégration Agent Assist. Vous trouverez cette URL dans la console Cloud Run. Remplacez le protocole par "wss" pour le trafic WebSockets. Par exemple : wss://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app.
    • Cochez toutes les cases de la section Directives CSP.
    • Cliquez sur Enregistrer et nouveau.
  7. Saisissez le nom de l'API : salesforce_domain
    • Saisissez l'URL de votre domaine Salesforce au format suivant : https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Cochez toutes les cases de la section Directives CSP.
    • Cliquez sur Enregistrer.

Étape 5 : Installez le plug-in CTI Twilio Flex

Salesforce fournit Salesforce Open CTI pour permettre l'intégration de softphones tiers à votre instance Salesforce.

Twilio Flex CTI utilise Salesforce Open CTI pour vous permettre d'utiliser Flex directement dans votre instance Salesforce. Suivez les instructions de Twilio pour configurer Twilio Flex CTI dans votre instance Salesforce.

Étape 6 : Installez le composant Web Lightning Salesforce

Suivez ces étapes pour utiliser l'éditeur Lightning Experience afin d'ajouter le composant Web Lightning Salesforce à la page de contact où votre CTI Twilio Flex s'ouvre lorsqu'un nouvel appel est reçu.

  1. Accédez à la console de service, puis sélectionnez Contacts.
  2. Sélectionnez une fiche contact.
  3. Cliquez sur le menu "Configuration" > Modifier la page.
  4. Cliquez sur Modèle > Modifier.
    • Sélectionnez En-tête et Deux régions de taille égale.
    • Cliquez sur Suivant.
    • Mappez chaque région à une nouvelle région.
    • Cliquez sur OK.
  5. Dans la barre latérale Components (Composants), déplacez agentAssistContainerModule dans la barre latérale. Remarque : La commande npm deploy a fourni ce composant.
  6. Cliquez sur le composant que vous avez placé à l'étape précédente, puis remplissez les champs du formulaire comme suit pour ajouter les détails de la configuration.
    • endpoint : URL du connecteur d'UI de votre backend d'intégration. Par exemple, une URL de la console Cloud Run, comme https://UI-CONNECTOR-ENDPOINT.GCP-REGION.run.app.
    • features : fonctionnalités Agent Assist à inclure. Elles doivent être activées dans votre profil de conversation. CONVERSATION_SUMMARIZATION, KNOWLEDGE_ASSIST_V2 et AGENT_COACHING sont des exemples de fonctionnalités disponibles. Notez que certaines fonctionnalités, comme SMART_REPLY, ne sont pas disponibles pour voice-twilio.
    • channel : indiquez que l'intégration est destinée à la voix.
    • channelType : indique que le type d'intégration vocale est "twilio".
    • conversationProfile : nom de ressource de votre profil de conversation Agent Assist. Par exemple, projects/GCP-PROJECT-ID/locations/GCP-REGION/conversationProfiles/CONVERSATION-PROFILE-ID.
    • consumerKey : clé client de l'application connectée de l'étape 3.
    • consumerSecret : code secret client de l'application connectée de l'étape 3.

Étape 7 : Testez l'intégration

Vous pouvez tester l'intégration vocale en effectuant un appel test au centre d'appels Salesforce.

  1. Connectez-vous à Twilio Flex depuis la console de service Salesforce.
  2. Appelez votre numéro Twilio Flex. Vous avez noté cela à l'étape 1.
  3. Dans la console de service Salesforce, acceptez l'appel. L'écran doit ouvrir une page de contact nouvelle ou existante pour le numéro qui a appelé.
  4. S'il s'agit d'une nouvelle page de contact, enregistrez le contact. Lorsque la page "Contact" se charge, le composant Web Lightning Salesforce doit se charger dans la barre latérale.
  5. Testez les deux côtés de la conversation en vous assurant que les fonctionnalités Agent Assist fonctionnent comme vous les avez configurées.