Intégration vocale Salesforce avec 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

    Suivez les instructions d'installation recommandées pour votre système d'exploitation.

  • CLI Salesforce

    Suivez les instructions d'installation recommandées pour votre système d'exploitation.

  • Google Cloud CLI

    Installez la commande gcloud en suivant les instructions, puis authentifiez-vous à l'aide de gcloud auth login.

  • Salesforce

    1. Connectez-vous à l'URL de votre instance ou à la page de connexion Salesforce, puis notez les points suivants :
    2. L'URL de votre domaine Salesforce. Pour trouver l'URL de votre domaine, procédez comme suit :
      1. Accédez à la barre de menu > menu Configuration.
      2. Cliquez sur Configurer.
      3. Dans la zone Quick Find (Recherche rapide), saisissez My Domain (Mon domaine). Le nom de domaine est au format suivant : MY-DOMAIN-NAME.develop.my.salesforce.com.
    3. ID de votre organisation Salesforce. Pour trouver l'ID de l'organisation, procédez comme suit :
      1. Accédez à la barre de menu > menu Configuration.
      2. Cliquez sur Configurer.
      3. Dans la zone Quick Find (Recherche rapide), saisissez Company Information (Informations sur l'entreprise). Remarque : Ces étapes d'intégration ont été testées uniquement avec Salesforce Developer Edition. Si vous utilisez une autre édition, des différences peuvent apparaître au niveau des licences de fonctionnalités et de l'interface Salesforce.
  • 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 :
    3. AUTH_OPTION : définissez cette valeur sur SalesforceLWC.
    4. SALESFORCE_DOMAIN : nom de domaine semblable à YOUR_SUBDOMAIN.develop.lightning.force.com. Vous avez noté cette valeur dans le prérequis Salesforce. Notez que vous ne devez pas inclure https://.
    5. SALESFORCE_ORGANIZATION_ID : vous avez noté cette valeur dans le prérequis Salesforce.
    6. APP_AUTH_OPTION : définissez cette valeur sur Twilio.
    7. TWILIO_ACCOUNT_SID : définissez cette valeur sur votre SID de compte Twilio.

É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 Confirmation des conditions d'utilisation > Installer.
  3. Dans l'onglet Configurer, configurez le plug-in comme suit :
    1. Nom unique : SipRec1
    2. Serveur d'enregistrement de session :
      sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
    3. Pour en savoir plus sur le provisionnement d'un numéro GTP, consultez la documentation sur l'intégration de la téléphonie. Vous pouvez ignorer les étapes de configuration et de validation du SBC, car elles sont terminé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 Deploy All (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 Agent Assist. 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 Réponse vocale interactive.
  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 (Bifurquer le flux) 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 Agent Assist, procédez comme suit.

  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 JavaScript tiers.
    npm run generate-static-resources
    npm install

Étape 3 : Configurez votre environnement Salesforce

Vous pouvez intégrer les modules d'interface utilisateur d'Assistance de l'agent 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 de l'agent.

  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éer une application cliente externe

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

  1. Accédez à la barre de menu > menu Configuration, puis cliquez sur Configuration. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
    1. Cliquez sur Gestionnaire d'applications clientes externes > Nouvelle application cliente externe > Créer, puis saisissez les informations suivantes.
    2. Nom de l'application cliente externe : lwc auth
    3. Nom de l'API : lwc_auth
    4. Adresse e-mail de contact : your_email@example.com
    5. API (Activer les paramètres OAuth) > Activer OAuth : sélectionné
    6. API (Activer les paramètres OAuth) > URL de rappel : https://login.salesforce.com/services/oauth2/callback
    7. API (Activer les paramètres OAuth) > Champs d'application OAuth sélectionnés : accéder au service d'URL d'identité
    8. API (Activer les paramètres OAuth) > Activer le flux d'identifiants client : sélectionné
    9. Cliquez sur Créer.
  2. Accédez à la barre de menu > menu Configuration, puis cliquez sur Configuration. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
    1. Cliquez sur le nom de votre application cliente externe > Modifier.
    2. Accédez à OAuth Policies > OAuth Flows and External Client App Enhancements.
    3. Assurez-vous que l'option Enable Client Credentials Flow (Activer le flux des identifiants client) est sélectionnée.
    4. Dans le champ Exécuter en tant que, saisissez votre nom d'utilisateur.
    5. Cliquez sur Enregistrer.
  3. Accédez à la barre de menu > menu Configuration, puis cliquez sur Configuration. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
    1. Cliquez sur le nom de votre application cliente externe > Modifier.
    2. Accédez à OAuth Settings > App Settings > Consumer Key and Secret (Paramètres OAuth > Paramètres de l'application > Clé et secret du consommateur).
    3. Saisissez le code de validation envoyé à votre adresse e-mail.
    4. Copiez la clé client et le secret client dans un endroit sûr. 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 "Configuration", puis cliquez sur Configuration.
  2. Dans la zone Quick Find (Recherche rapide), saisissez CORS, puis cliquez sur Edit (Modifier).
    1. Sélectionnez Activer CORS pour les points de terminaison OAuth.
    2. Cliquez sur Enregistrer.
  3. Accédez à la barre de menu > menu "Configuration", puis cliquez sur Configuration.
  4. Dans la zone Quick Find (Recherche rapide), saisissez Trusted URLs (URL de confiance), puis cliquez sur New Trusted URL (Nouvelle URL de confiance).
  5. Saisissez le nom de l'API : ui_connector.
    1. 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://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app.
    2. Cochez toutes les cases à cocher sous Directives du programme CSP.
    3. Cliquez sur Enregistrer et nouveau.
  6. Saisissez le nom de l'API : ui_connector_wss.
    1. 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://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app.
    2. Cochez toutes les cases à cocher sous Directives du programme CSP.
    3. Cliquez sur Enregistrer et nouveau.
  7. Saisissez le nom de l'API : salesforce_domain.
    1. Saisissez l'URL de votre domaine Salesforce au format suivant : https://<var>YOUR_SUBDOMAIN</var>.my.salesforce.com.
    2. Cochez toutes les cases à cocher sous Directives du programme CSP.
    3. 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 arrive.

  1. Accédez à la console de service, puis sélectionnez Contacts.
  2. Sélectionnez une fiche de contact.
  3. Cliquez sur le menu "Configuration" > Modifier la page.
  4. Cliquez sur Modèle > Modifier.
    1. Sélectionnez En-tête et Deux régions de taille égale.
    2. Cliquez sur Suivant.
    3. Mappez chaque région à une nouvelle région.
    4. Cliquez sur OK.
  5. Dans la barre latérale 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 des informations de configuration.
    • endpoint : URL du connecteur d'UI de votre backend d'intégration. Par exemple, une URL de la console Cloud Run, comme https://<var>UI_CONNECTOR_ENDPOINT</var>.<var>GCP_REGION</var>.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.
    • channel : indiquez que l'intégration est destinée à voice.
    • platform : indiquez que la plate-forme est twilio.
    • conversationProfile : nom de ressource de votre profil de conversation Agent Assist. Par exemple, projects/<var>GCP_PROJECT_ID</var>/locations/<var>GCP_REGION</var>/conversationProfiles/<var>CONVERSATION_PROFILE_ID</var>.
    • consumerKey : clé client externe de l'étape 3.
    • consumerSecret : code secret client de l'application cliente externe 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 votre console de service.
  2. Appelez votre numéro Twilio Flex. Vous l'avez noté à l'étape 1.
  3. Dans votre console de service, 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 de 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.