Intégration vocale Salesforce avec NiCE CXone

Architecture de l'intégration d'Agent Assist et de 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 Salesforce Lightning Service.

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 auth login comme indiqué et authentifiez-vous à l'aide de .gcloud

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

    • 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 Setup (Configuration).
      2. Cliquez sur Setup (Configuration).
      3. Dans la zone Quick Find (Recherche rapide), saisissez My Domain (Mon domaine). Le nom de domaine se présente 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 Setup (Configuration).
      2. Cliquez sur Setup (Configuration).
      3. Dans la zone Quick Find (Recherche rapide), saisissez Company Information (Informations sur l'entreprise). Remarque : Ces étapes d'intégration n'ont été testées qu'avec Salesforce Developer Edition. Des différences dans les licences de fonctionnalités et l'interface Salesforce peuvent survenir 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 les prérequis Salesforce. N'incluez pas https://.
      • SALESFORCE_ORGANIZATION_ID: vous avez noté cette valeur dans les prérequis Salesforce.
  • Une instance NiCE CXone

  • Une licence d'extension NiCE CXone Agent Assist Hub : l'extension 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 de NiCE CXone Agent Assist Hub.

É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.

Configurez le flux d'appels avec NiCE CXone Studio

Au cours de 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 d'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 Omnichannel Routing > Studio (Acheminement omnicanal > Studio).
  4. Sur la page Studio, créez un New Script (Nouveau script).

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

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

Séparément, mais dans le même flux Studio, configurez ce qui se passe lorsqu'un agent décroche l'appel entrant.

  1. Onanswer : Ce déclencheur est activé lorsqu'un agent de la compétence.
  2. Ziptone : cette action émet un bip lorsqu'un agent décroche le téléphone sur un poste de travail d'agent NiCE CXone (par exemple, 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 d'Agent Assist (telles que PGKA, GKA et AI Coaching) dans Salesforce. Pour en savoir plus sur la configuration, consultez la documentation de 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 distant. 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 pour Placecall, Onanswer, et Agent Assist.

Notez les informations sur le compte NiCE CXone

Suivez cette étape pour collecter les informations sur votre compte NiCE CXone. Vous en aurez besoin pour configurer NiCE CXone Agent for 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 le numéro de votre unité commerciale NiCE. Cela permettra à vos modules LWC de l'interface utilisateur Agent Assist de déterminer le conversationName créé par NiCE CXone Agent Assist Hub (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 d'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 d'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 nécessite que les ressources statiques chargent JavaScript tiers.

    npm run generate-static-resources
    npm install
    
  3. Mettez à jour ServiceCloudVoicePlatformService.js avec le numéro d'unité commerciale NiCE que vous avez noté lors d'une é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.

Configurez votre organisation avec la CLI Salesforce

Procédez comme suit pour utiliser la CLI Salesforce afin de configurer votre organisation pour l'intégration d'Agent Assist.

  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 LWC dans l'organisation.

    npm run deploy
    

Étape 4 : Créez une application cliente externe

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

  1. Accédez à la barre de menu > menu Setup (Configuration), puis cliquez sur Setup (Configuration).
  2. Dans la zone Quick Find (Recherche rapide), saisissez External Client App Manager (Gestionnaire d'applications clientes externes).
  3. Cliquez sur External Client App Manager (Gestionnaire d'applications clientes externes) > New External Client App (Nouvelle application cliente externe) > Create (Créer), puis saisissez les informations suivantes.
    • External Client App Name (Nom de l'application cliente externe) : lwc auth
    • API Name (Nom de l'API) : lwc_auth
    • Contact Email (Adresse e-mail du contact) : your_email@example.com
    • API (Enable OAuth Settings) (API (Activer les paramètres OAuth)) > Enable OAuth (Activer OAuth) : sélectionné
    • API (Enable OAuth Settings) (API (Activer les paramètres OAuth)) > Callback URL (URL de rappel) : https://login.salesforce.com/services/oauth2/callback
    • API (Enable OAuth Settings) > Selected OAuth Scopes (API (Activer les paramètres OAuth) > Champs d'application OAuth sélectionnés) : accéder au service d'URL d'identité
    • API (Enable OAuth Settings) > Enable Client Credentials Flow (API (Activer les paramètres OAuth) > Activer le flux des identifiants client) : sélectionné
  4. Cliquez sur Create (Créer).
  5. Accédez à la barre de menu > menu Setup (Configuration), puis cliquez sur Setup (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 > Edit (Modifier).
  8. Accédez à OAuth Policies > OAuth Flows and External Client App Enhancements (Règles OAuth > Flux OAuth et améliorations des applications clientes externes).
  9. Assurez-vous que l'option Enable Client Credentials Flow (Activer le flux des identifiants client) est sélectionnée.
  10. Dans le champ Run As (Exécuter en tant que), saisissez votre nom d'utilisateur de connexion.
  11. Cliquez sur Save (Enregistrer).
  12. Accédez à la barre de menu > menu Setup (Configuration), puis cliquez sur Setup (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 > Edit (Modifier).
  14. Accédez à OAuth Settings > App Settings > Consumer Key and Secret (Paramètres OAuth > Paramètres de l'application > Clé client et code secret).
  15. Saisissez le code de validation envoyé à votre adresse e-mail.
  16. Copiez la clé client et le code secret client dans un emplacement sécurisé. Vous en aurez besoin lors d'une étape ultérieure.

Établissez des stratégies CORS et de sécurité du contenu

  1. Accédez à la barre de menu > menu Setup (Configuration), puis cliquez sur Setup (Configuration).
  2. Dans la zone Quick Find (Recherche rapide), saisissez CORS, puis cliquez sur Edit (Modifier).
    1. Sélectionnez Enable CORS for OAuth endpoints (Activer CORS pour les points de terminaison OAuth).
    2. Cliquez sur Save (Enregistrer).
  3. Accédez à la barre de menu > menu Setup (Configuration), puis cliquez sur Setup (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 :
    • API Name (Nom de l'API) : ui_connector
    • URL : saisissez l'URL du point de terminaison du service Cloud Run du connecteur d'interface utilisateur que vous avez déployé avec votre backend d'intégration d'Agent Assist. Vous trouverez cette URL dans la console Cloud Run. Exemple : https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • CSP Directives (Directives CSP) : sélectionnez toutes les cases à cocher.
    • Cliquez sur Save &New (Enregistrer et nouveau).
  6. Saisissez les informations suivantes :
    • API Name (Nom de l'API) : ui_connector_wss
    • URL : saisissez l'URL du point de terminaison du service Cloud Run du connecteur d'interface utilisateur que vous avez déployé avec votre backend d'intégration d'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.
    • CSP Directives (Directives CSP) : sélectionnez toutes les cases à cocher.
    • Cliquez sur Save &New (Enregistrer et nouveau).
  7. Saisissez les informations suivantes :
    • API Name (Nom de l'API) : salesforce_domain
    • URL : saisissez l'URL de votre domaine Salesforce au format suivant : https://YOUR_SUBDOMAIN.my.salesforce.com.
    • CSP Directives (Directives CSP) : sélectionnez toutes les cases à cocher.
    • Cliquez sur Save (Enregistrer).

Étape 5 : Installez NiCE CXone Agent for Service Cloud Voice (BYOT)

Salesforce fournit la licence d'extension Service Cloud Voice, qui permet d'intégrer des softphones tiers à votre instance Salesforce. NiCE CXone fournit une extension Service Cloud Voice appelée NiCE CXone Agent for Service Cloud Voice (BYOT). Suivez la documentation de NiCE pour configurer NiCE CXone Agent for Service Cloud Voice (BYOT) dans votre instance Salesforce compatible avec SCV.

Étape 6 : Installez le composant Web Lightning Salesforce

Procédez comme suit 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 arrive.

  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 de point de contact NiCE associé au compte NiCE avec lequel vous vous êtes connecté.
  4. Acceptez l'appel entrant. Un nouvel onglet d'enregistrement d'appel vocal devrait s'ouvrir.
  5. Cliquez sur le menu Setup (Configuration) > Edit Page (Modifier la page).
  6. Cliquez sur Template (Modèle) > Change (Modifier).
    1. Sélectionnez Header (En-tête) et Two Equal Regions (Deux régions égales).
    2. Cliquez sur Next (Suivant).
    3. Mappez chaque région à une nouvelle région.
    4. Cliquez sur Done (OK).
  7. Dans la barre latérale Components (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 et remplissez les champs du formulaire comme suit pour ajouter des informations de configuration.
    • endpoint (point de terminaison) : URL du connecteur d'interface utilisateur de votre backend d'intégration d'agent, par exemple une URL de la console Cloud Run, telle que https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • channel (canal) : indiquez que l'intégration est voice.
    • platform (plate-forme) : indiquez que la plate-forme est servicecloudvoice-nice.
    • conversationProfile (profil de conversation) : 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) : clé client de l'application cliente externe de l'étape 4.
    • consumerSecret (code secret client) : code secret client de l'application cliente externe de l'étape 4.
    • containerHeight (hauteur du conteneur) : hauteur du conteneur Agent Assist.

Étape 7 : Testez l'intégration

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

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