Intégration vocale Salesforce avec NiCE CXone

Architecture de l'intégration Agent Assist et NiCE CXone avec Salesforce

Cette intégration vocale utilise l'application Salesforce NiCE CXone Agent for Service Cloud Voice (BYOT) pour permettre à vos agents d'accepter les appels NiCE CXone dans Salesforce Service Cloud Voice.

Agent Assist utilise le flux d'appels vocaux du hub NiCE CXone Agent Assist pour fournir des suggestions à vos agents dans la console de service Salesforce Lightning.

Avant de commencer

Pour intégrer les modules d'UI 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 comme indiqué et authentifiez-vous à l'aide de gcloud auth login.

  • Salesforce : connectez-vous à l'URL de votre instance ou à la page de connexion Salesforce, puis notez les informations suivantes :

    • 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.
    • L'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. Des différences dans les licences de fonctionnalités et l'interface Salesforce peuvent apparaître si vous utilisez une autre édition.
  • 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 semblable à YOUR_SUBDOMAIN.develop.lightning.force.com. Vous avez noté cette valeur dans le prérequis Salesforce. N'incluez pas https://.
      • SALESFORCE_ORGANIZATION_ID : vous avez noté cette valeur dans le prérequis Salesforce.
  • Une instance NICE CXone

  • Une licence de module complémentaire NiCE CXone Agent Assist Hub : le module complémentaire NiCE CXone Agent Assist Hub permet à votre instance NiCE CXone d'envoyer des flux multimédias d'appels vocaux à Agent Assist de Google Cloud. NiCE CXone est un produit sous licence. Pour en savoir plus, consultez la documentation du hub NiCE CXone Agent Assist.

Étape 1 : Configurez NiCE CXone Studio et NiCE CXone Agent Assist Hub

Cette étape décrit toute la configuration nécessaire dans votre instance NiCE CXone.

Configurer le flux d'appels avec NiCE CXone Studio

Dans cette étape, vous allez configurer un flux d'appels programmatique avec NiCE CXone Studio pour acheminer les appels entrants vers vos agents et envoyer les flux multimédias des appels à Agent Assist. Configurez ce flux d'appels avec les déclencheurs et actions NiCE CXone Studio suivants, dans cet ordre :

  1. Connectez-vous à la console NiCE CXone.
  2. Ouvrez le menu Applications ().
  3. Ouvrez Routage omnicanal > Studio.
  4. Sur la page Studio, créez un nouveau script.

Configurez ce flux d'appels avec les déclencheurs et actions NiCE CXone Studio suivants :

  1. Début : Ce déclencheur est activé lorsqu'un appel est reçu sur votre numéro de téléphone NiCE Point of Contact (POC).
  2. Reqagent : Cette action envoie l'appel à une compétence spécifique. Sélectionnez la compétence associée aux agents que vous souhaitez faire recevoir des appels.
  3. Musique : cette action lit de la musique d'attente.
  4. Attendre : cette action suspend le flux jusqu'à ce qu'un autre déclencheur soit activé.

Dans le même flux Studio, mais séparément, configurez ce qui se passe lorsqu'un agent prend l'appel entrant.

  1. Onanswer : Ce déclencheur est activé lorsqu'un agent de la compétence
  2. Ziptone : Un bip retentit lorsqu'un agent décroche le téléphone dans un poste de travail d'agent NiCE CXone (comme le softphone NiCE CXone Agent for Service Cloud Voice (BYOT)).
  3. Agent Assist : cette action est chargée de créer une conversation et d'envoyer les flux multimédias d'un appel entrant à Dialogflow, afin que les modules LWC de l'interface utilisateur Agent Assist puissent afficher la transcription et les suggestions Agent Assist (telles que PGKA, GKA et coaching par IA) dans Salesforce. Pour en savoir plus sur la configuration, consultez la documentation sur cette intégration. Remarque : Cette étape nécessite un profil de conversation préconfiguré.

Vous pouvez également configurer Agent Assist pour les appels sortants. L'intégration nécessite de déclencher l'action Assistance de l'agent lorsqu'un appel sortant est pris par le destinataire. Bien que l'implémentation exacte dépende de votre configuration, cela peut généralement être réalisé dans votre script en utilisant l'action Placecall pour lancer l'appel et en connectant l'action Agent Assist à la branche OnAnswer de Placecall. Pour en savoir plus, consultez la documentation d'aide de NiCE CXone Studio sur Placecall, Onanswer et Agent Assist.

Notez les informations de votre compte NICE CXone.

Suivez cette étape pour collecter les informations de votre compte NiCE CXone. Vous aurez besoin de ces informations pour configurer l'agent NiCE CXone pour Service Cloud Voice (BYOT) dans Salesforce ultérieurement.

  • Notez le numéro de votre unité commerciale NiCE dans la console NiCE CXone. Dans votre projet Salesforce (que vous clonerez lors d'une prochaine étape), dans ServiceCloudVoicePlatformService.js, mettez à jour CONFIG.niceBusNo pour refléter votre numéro d'unité commerciale NiCE. Cela permettra à vos modules LWC de l'UI Agent Assist de déterminer le conversationName créé par le hub NiCE CXone Agent Assist (pour en savoir plus, consultez la méthode generateNiCEConversationName dans le même fichier).
  • Notez le numéro de téléphone de votre point de contact NiCE dans la console NiCE CXone. Il s'agit du numéro que vos clients appelleront pour parler à vos agents et que vous utiliserez pour tester cette intégration Agent Assist.

Étape 2 : Configurez votre projet de développement Salesforce

Pour commencer à intégrer les modules d'interface utilisateur 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éployez 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
    
  3. Mettez à jour ServiceCloudVoicePlatformService.js avec le numéro de l'unité commerciale NiCE que vous avez noté à l'étape précédente :

    const CONFIG = {
    // For this.platform = "servicecloudvoice-nice", the NiCE Business Unit Number
    // https://help.nicecxone.com/content/acd/businessunits/managebusinessunit.htm
    niceBusNo: 1234567 // Make sure this matches your NiCE CXone Business Unit Number.
    };
    

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

Le composant Web Lightning Salesforce utilise le flux d'identifiants client OAuth 2.0 pour vous authentifier. Une application cliente externe permet le flux des identifiants client. Utilisez la clé client et le code 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.
  2. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
  3. Cliquez sur Gestionnaire d'applications clientes externes > Nouvelle application cliente externe > Créer, puis saisissez les informations suivantes.
    • Nom de l'application cliente externe : lwc auth
    • Nom de l'API : lwc_auth
    • Adresse e-mail de contact : your_email@example.com
    • API (Activer les paramètres OAuth) > Activer OAuth : sélectionné
    • API (Activer les paramètres OAuth) > URL de rappel : https://login.salesforce.com/services/oauth2/callback
    • API (Activer les paramètres OAuth) > Champs d'application OAuth sélectionnés : accédez au service d'URL d'identité.
    • API (Activer les paramètres OAuth) > Activer le flux d'identifiants client : Sélectionné
  4. Cliquez sur Créer.
  5. Accédez à la barre de menu > menu Configuration, puis cliquez sur Configuration.
  6. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
  7. Cliquez sur le nom de votre application cliente externe > Modifier.
  8. Accédez à OAuth Policies > OAuth Flows and External Client App Enhancements (Règles OAuth > Améliorations des flux OAuth et de l'application cliente externe).
  9. Assurez-vous que l'option Enable Client Credentials Flow (Activer le flux des identifiants client) est sélectionnée.
  10. Dans le champ Exécuter en tant que, saisissez votre nom d'utilisateur.
  11. Cliquez sur Enregistrer.
  12. 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).
  13. Cliquez sur le nom de votre application cliente externe > Modifier.
  14. Accédez à OAuth Settings > App Settings > Consumer Key and Secret (Paramètres OAuth > Paramètres de l'application > Clé et secret du consommateur).
  15. Saisissez le code de validation envoyé à votre adresse e-mail.
  16. Copiez la clé client et le secret client dans un endroit sûr. Vous en aurez besoin lors d'une prochaine étape.

É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 URL approuvées, puis cliquez sur Nouvelle URL approuvée.
  5. Saisissez les informations suivantes :
    • Nom de l'API : ui_connector
    • URL : 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. Exemple : https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • Directives CSP : cochez toutes les cases.
    • Cliquez sur Enregistrer et nouveau.
  6. Saisissez les informations suivantes :
    • Nom de l'API : ui_connector_wss
    • URL : 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. Exemple : wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • Directives CSP : cochez toutes les cases.
    • Cliquez sur Enregistrer et nouveau.
  7. Saisissez les informations suivantes :
    • Nom de l'API : salesforce_domain
    • URL : saisissez l'URL de votre domaine Salesforce au format suivant : https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Directives CSP : cochez toutes les cases.
    • Cliquez sur Enregistrer.

Étape 5 : Installez l'agent NiCE CXone pour Service Cloud Voice (BYOT)

Salesforce fournit la licence de module complémentaire Service Cloud Voice, qui permet d'intégrer des softphones tiers à votre instance Salesforce. NiCE CXone propose un module complémentaire Service Cloud Voice appelé NiCE CXone Agent for Service Cloud Voice (BYOT). Suivez la documentation de NiCE pour configurer l'agent NiCE CXone pour Service Cloud Voice (BYOT) dans votre instance Salesforce compatible avec SCV.

É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ù NiCE CXone Agent for Service Cloud Voice (BYOT) s'ouvre lorsqu'un nouvel appel est reçu.

  1. Accédez à la console de service.
  2. Connectez-vous à NiCE CXone Agent for Service Cloud Voice (BYOT) dans la barre d'utilitaires.
  3. Appelez le numéro POC NiCE associé au compte NiCE avec lequel vous vous êtes connecté.
  4. Acceptez l'appel entrant. Un nouvel onglet d'enregistrement des appels vocaux devrait s'ouvrir.
  5. Cliquez sur le menu Configuration > Modifier la page.
  6. 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.
  7. Dans la barre latérale Composants, déplacez agentAssistContainerModule vers la barre latérale. Remarque : La commande npm deploy a fourni ce composant.
  8. Cliquez sur le composant que vous avez placé à l'étape précédente et remplissez les champs du formulaire comme suit pour ajouter des informations de configuration.
    • endpoint : URL de votre connecteur d'interface utilisateur Agent Integration Backend, par exemple une URL de la console Cloud Run, comme : https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • features : Fonctionnalités Agent Assist activées dans votre profil de conversation, telles que CONVERSATION_SUMMARIZATION,KNOWLEDGE_ASSIST_V2 et AGENT_COACHING. Notez que certaines fonctionnalités, comme SMART_REPLY, ne sont pas disponibles pour voice.
    • channel : indique que l'intégration est voice.
    • platform : indiquez que la plate-forme est servicecloudvoice-nice.
    • conversationProfile : nom de ressource de votre profil de conversation Agent Assist (exemple : projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID)
    • consumerKey : clé client de l'application cliente externe de l'étape 4.
    • consumerSecret : code secret client de l'application cliente externe de l'étape 4.

Étape 7 : Testez l'intégration

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

  1. Connectez-vous à NiCE CXone Agent pour Service Cloud Voice (BYOT) depuis le widget Omni-Channel dans la barre d'utilitaires de la console Service.
  2. Appelez le numéro de votre contact NiCE CXone. Vous le trouverez dans la console NiCE CXone.
  3. Dans votre console de service, acceptez l'appel entrant. Un nouvel enregistrement d'appel vocal devrait s'ouvrir.
  4. Dans l'enregistrement d'appel vocal, 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 la transcription et les fonctionnalités d'Agent Assist fonctionnent comme vous les avez configurées dans votre profil de conversation de la console Agent Assist.