Intégration vocale Salesforce avec NiCE CXone

Architecture de l'intégration Agent Assist et NiCE CXone à 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 de NiCE CXone Agent Assist Hub 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.

  • Interface utilisateur 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 mon domaine, procédez comme suit :
    3. Accédez à la barre de menu > menu Configuration.
    4. Cliquez sur Configurer.
    5. 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.
    6. ID de votre organisation Salesforce. Pour trouver l'ID de l'organisation, procédez comme suit :
    7. Accédez à la barre de menu > menu Configuration.
    8. Cliquez sur Configurer.
    9. 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 :
    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 de l'UI Salesforce. Notez que vous ne devez pas inclure https://.
    5. SALESFORCE_ORGANIZATION_ID : vous avez noté cette valeur dans le prérequis de l'UI 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 transférer 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 les 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 le numéro de téléphone de votre point de contact NiCE.
  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 bureau d'agent NiCE CXone (comme le softphone NiCE CXone Agent for Service Cloud Voice (BYOT)).
  3. Assistance pour les agents : cette action permet de créer une conversation et d'envoyer les flux multimédias d'un appel entrant à Dialogflow. Les modules LWC de l'interface utilisateur de l'assistance pour les agents peuvent ainsi afficher la transcription et les suggestions de l'assistance pour les agents (comme PGKA, GKA et le 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 Agent Assist lorsqu'un appel sortant reçoit une réponse de la part du correspondant. Bien que l'implémentation exacte dépende de votre configuration, vous pouvez généralement y parvenir 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 concernant 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'interface utilisateur 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, 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
    
  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 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.
  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.
  4. Nom de l'application cliente externe : lwc auth
  5. Nom de l'API : lwc_auth
  6. Adresse e-mail de contact : your_email@example.com
  7. API (Activer les paramètres OAuth) > Activer OAuth : sélectionné
  8. API (Activer les paramètres OAuth) > URL de rappel : https://login.salesforce.com/services/oauth2/callback
  9. API (Activer les paramètres OAuth) > Champs d'application OAuth sélectionnés : accéder au service d'URL d'identité
  10. API (Activer les paramètres OAuth) > Activer le flux d'identifiants client : sélectionné
  11. Cliquez sur Créer.
  12. Accédez à la barre de menu > menu Configuration, puis cliquez sur Configuration.
  13. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
  14. Cliquez sur le nom de votre application cliente externe > Modifier.
  15. Accédez à OAuth Policies > OAuth Flows and External Client App Enhancements.
  16. Assurez-vous que l'option Enable Client Credentials Flow (Activer le flux des identifiants client) est sélectionnée.
  17. Dans le champ Exécuter en tant que, saisissez votre nom d'utilisateur.
  18. Cliquez sur Enregistrer.
  19. 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).
  20. Cliquez sur le nom de votre application cliente externe > Modifier.
  21. Accédez à OAuth Settings > App Settings > Consumer Key and Secret (Paramètres OAuth > Paramètres de l'application > Clé et secret du consommateur).
  22. Saisissez le code de validation envoyé à votre adresse e-mail.
  23. 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 les informations suivantes :
    1. Nom de l'API : ui_connector
    2. 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. Par exemple : https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    3. Directives CSP : cochez toutes les cases.
    4. Cliquez sur Enregistrer et nouveau.
  6. Saisissez les informations suivantes :
    1. Nom de l'API : ui_connector_wss
    2. 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. Par exemple : wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    3. Directives CSP : cochez toutes les cases.
    4. Cliquez sur Enregistrer et nouveau.
  7. Saisissez les informations suivantes :
    1. Nom de l'API : salesforce_domain
    2. URL : saisissez l'URL de votre domaine Salesforce au format suivant : https://YOUR_SUBDOMAIN.my.salesforce.com.
    3. Directives CSP : cochez toutes les cases.
    4. 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 du point de contact NiCE associé au compte NiCE avec lequel vous vous êtes connecté.
  4. Acceptez l'appel entrant. Un nouvel onglet "Enregistrement d'appel vocal" 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 dans 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, 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://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.
    • 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. Par 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 du 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 au centre d'appels Salesforce.

  1. Connectez-vous à NiCE CXone Agent for Service Cloud Voice (BYOT) depuis le widget Omni-Channel dans la barre d'utilitaires de la console Service.
  2. Appelez votre numéro de contact NiCE CXone. Vous le trouverez dans la console NiCE CXone.
  3. Dans la console de service, acceptez l'appel entrant. Un nouvel enregistrement d'appel vocal doit 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.