Integrazione vocale di Salesforce con NiCE CXone

Architettura per l'integrazione di Agent Assist e NiCE CXone
con
Salesforce

Questa integrazione vocale utilizza l'app NiCE CXone Agent for Service Cloud Voice (BYOT) Salesforce per consentire agli agenti di accettare le chiamate NiCE CXone in Salesforce Service Cloud Voice.

Agent Assist utilizza lo stream di chiamate vocali di NiCE CXone Agent Assist Hub per fornire suggerimenti agli agenti nella console di servizio Salesforce Lightning.

Prima di iniziare

Per integrare i moduli dell'interfaccia utente di Assistente agente con Salesforce, devi accedere alle seguenti risorse:

  • Node.js: segui le istruzioni di installazione consigliate per il tuo sistema operativo.

  • Salesforce CLI: segui le istruzioni di installazione consigliate per il tuo sistema operativo.

  • Google Cloud CLI: installa il comando gcloud come indicato ed esegui l'autenticazione utilizzando gcloud auth login.

  • Salesforce: accedi all'URL dell'istanza o alla pagina di accesso a Salesforce e prendi nota di quanto segue:

    • L'URL Il mio dominio di Salesforce. Per trovare l'URL del mio dominio, segui questi passaggi:
      1. Vai alla barra dei menu > menu Configurazione.
      2. Fai clic su Configurazione.
      3. Nella casella Ricerca rapida, inserisci Il mio dominio. Il nome di dominio è nel seguente formato: MY-DOMAIN-NAME.develop.my.salesforce.com.
    • L'ID organizzazione Salesforce. Segui questi passaggi per trovare l'ID dell'organizzazione:
      1. Vai alla barra dei menu > menu Configurazione.
      2. Fai clic su Configurazione.
      3. Nella casella Ricerca rapida, inserisci Informazioni azienda. Nota: Questi passaggi di integrazione sono stati testati solo con Salesforce Developer Edition. Se utilizzi un'altra edizione, potrebbero verificarsi differenze nelle licenze delle funzionalità e nell'interfaccia di Salesforce.
  • Backend di integrazione di Agent Assist

    1. Segui le istruzioni per configurare l'integrazione.
    2. Prima di eseguire lo script di deployment, configura le seguenti variabili di ambiente con deploy.sh o in un file .env nella radice del progetto:
      • AUTH_OPTION: imposta questo valore su SalesforceLWC.
      • SALESFORCE_DOMAIN: un nome di dominio simile a YOUR_SUBDOMAIN.develop.lightning.force.com. Hai annotato questo valore nel prerequisito di Salesforce. Non includere https://.
      • SALESFORCE_ORGANIZATION_ID: hai annotato questo valore nel prerequisito di Salesforce.
  • Un'istanza NICE CXone

  • Una licenza del componente aggiuntivo NiCE CXone Agent Assist Hub: il componente aggiuntivo NiCE CXone Agent Assist Hub consente all'istanza NiCE CXone di inviare flussi multimediali di chiamate vocali ad Agent Assist di Google Cloud. NiCE CXone è un prodotto con licenza. Per ulteriori dettagli, consulta la documentazione dell'hub NiCE CXone Agent Assist.

Passaggio 1: configura NiCE CXone Studio e NiCE CXone Agent Assist Hub

Questo passaggio descrive tutta la configurazione necessaria nell'istanza NiCE CXone.

Configurare il flusso di chiamata con NiCE CXone Studio

In questo passaggio, configurerai un flusso di chiamate programmatico con NiCE CXone Studio per indirizzare le chiamate in entrata agli agenti e inviare i flussi multimediali delle chiamate ad Agent Assist. Configura questo flusso di chiamata con i seguenti trigger e azioni di NiCE CXone Studio, in questo ordine:

  1. Accedi alla console NiCE CXone.
  2. Apri il menu Applicazioni ().
  3. Apri Omnichannel Routing > Studio.
  4. Nella pagina Studio, crea un Nuovo script.

Configura questo flusso di chiamata con i seguenti trigger e azioni di NiCE CXone Studio:

  1. Inizia: questo attivatore viene attivato quando arriva una chiamata al tuo numero di telefono NiCE Point of Contact (POC).
  2. Reqagent: Questa azione invia la chiamata a una skill specificata. Seleziona la competenza associata agli agenti che vuoi che ricevano le chiamate.
  3. Musica: Questa azione riproduce la musica di attesa.
  4. Attendi: Questa azione sospende il flusso finché non viene attivato un altro trigger.

Separatamente, ma nello stesso flusso di Studio, configura cosa succede quando un agente risponde alla chiamata in arrivo.

  1. Onanswer: Questo trigger viene attivato quando un agente nella skill.
  2. Ziptone: Viene emesso un segnale acustico quando un agente risponde al telefono in un desktop agente NiCE CXone (ad esempio il softphone NiCE CXone Agent for Service Cloud Voice (BYOT)).
  3. Agent Assist: Questa azione è responsabile della creazione di una conversazione e dell'invio dei flussi multimediali di una chiamata in arrivo a Dialogflow, in modo che i moduli LWC dell'interfaccia utente di Agent Assist possano eseguire il rendering della trascrizione e dei suggerimenti di Agent Assist (come PGKA, GKA e AI Coaching) in Salesforce. Per i dettagli di configurazione, consulta questa documentazione sull'integrazione. Nota: questo passaggio richiede un profilo conversazionale preconfigurato.

Puoi anche configurare Agent Assist per le chiamate in uscita. L'integrazione richiede l'attivazione dell'azione Agent Assist quando una chiamata in uscita riceve risposta dalla parte remota. Sebbene l'implementazione esatta dipenda dalla tua configurazione, in genere è possibile ottenerla nello script utilizzando l'azione Placecall per avviare la chiamata e collegando l'azione Agent Assist al ramo OnAnswer di Placecall. Per ulteriori informazioni, consulta la documentazione di assistenza di NiCE CXone Studio per Placecall, Onanswer e Agent Assist.

Annota i dettagli dell'account NICE CXone

Segui questo passaggio per raccogliere i dettagli del tuo account NiCE CXone. Queste informazioni ti serviranno per configurare NiCE CXone Agent per Service Cloud Voice (BYOT) in Salesforce in un secondo momento.

  • Prendi nota del tuo numero di unità aziendale NiCE dalla console NiCE CXone. Nel tuo progetto Salesforce (che clonerai in un passaggio successivo), in ServiceCloudVoicePlatformService.js, aggiorna CONFIG.niceBusNo in modo che rifletta il numero della tua unità aziendale NiCE. In questo modo, i moduli LWC dell'interfaccia utente di Agent Assist possono determinare il conversationName creato da NiCE CXone Agent Assist Hub (per i dettagli, vedi il metodo generateNiCEConversationName nello stesso file).
  • Prendi nota del numero di telefono del punto di contatto NiCE (POC) dalla console NiCE CXone. Questo è il numero che i tuoi clienti chiameranno per parlare con i tuoi agenti e che utilizzerai per testare questa integrazione di Agent Assist.

Passaggio 2: configura il progetto di sviluppo Salesforce

Per iniziare a integrare i moduli dell'interfaccia utente di Agent Assist, segui questi passaggi.

  1. Esegui il seguente codice per clonare il repository di integrazione di Agent Assist e aprire il tuo progetto:

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. Esegui questi comandi per scaricare i file JavaScript dei moduli UI che deployerai in un secondo momento come risorse statiche. Salesforce richiede che le risorse statiche carichino JavaScript di terze parti.

    npm run generate-static-resources
    npm install
    
  3. Aggiorna ServiceCloudVoicePlatformService.js con il numero dell'unità aziendale NiCE che hai annotato in un passaggio precedente:

    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.
    };
    

Passaggio 3: configura l'ambiente Salesforce

Puoi integrare i moduli dell'interfaccia utente di Agent Assist in un ambiente specifico, ad esempio produzione o sviluppo. Salesforce chiama questi ambienti organizzazioni (org).

Configurare l'organizzazione con la CLI di Salesforce

Segui questi passaggi per utilizzare la CLI di Salesforce per configurare l'organizzazione per l'integrazione di Agent Assist.

  1. Esegui il seguente codice e autentica la CLI utilizzando le credenziali di accesso a Salesforce che utilizzi normalmente.

    npm run login
    
  2. Esegui il seguente codice per eseguire il deployment del componente LWC nell'organizzazione.

    npm run deploy
    

Passaggio 4: crea un'app client esterna

LWC di Salesforce utilizza il flusso delle credenziali client OAuth 2.0 per autenticarti. Un'app client esterna abilita il flusso delle credenziali client. Utilizza la chiave consumer e il secret consumer dell'app per configurare il componente web Lightning di Salesforce per autenticare gli utenti con Salesforce.

  1. Vai alla barra dei menu > menu Configurazione, poi fai clic su Configurazione.
  2. Nella casella Ricerca rapida, inserisci Gestione app client esterna.
  3. Fai clic su External Client App Manager > New External Client App > Create, poi inserisci le seguenti informazioni.
    • Nome dell'app client esterna: lwc auth
    • Nome API: lwc_auth
    • Email di contatto: your_email@example.com
    • API (Enable OAuth Settings) (API (Abilita impostazioni OAuth)) > Enable OAuth (Abilita OAuth): selezionato
    • API (Enable OAuth Settings) > Callback URL: https://login.salesforce.com/services/oauth2/callback
    • API (Enable OAuth Settings) (API (Abilita impostazioni OAuth)) > Selected OAuth Scopes (Ambiti OAuth selezionati): accedi al servizio URL identità
    • API (Enable OAuth Settings) > Enable Client Credentials Flow (API (Abilita impostazioni OAuth) > Abilita flusso credenziali client): Selezionato
  4. Fai clic su Crea.
  5. Vai alla barra dei menu > menu Configurazione, poi fai clic su Configurazione.
  6. Nella casella Ricerca rapida, inserisci Gestione app client esterna.
  7. Fai clic sul nome dell'app client esterna > Modifica.
  8. Vai a OAuth Policies (Norme OAuth) > OAuth Flows and External Client App Enhancements (Miglioramenti dei flussi OAuth e dell'app client esterno).
  9. Assicurati che l'opzione Abilita flusso credenziali client sia selezionata.
  10. In Esegui come, inserisci il tuo nome utente di accesso.
  11. Fai clic su Salva.
  12. Vai alla barra dei menu > menu Configurazione, poi fai clic su Configurazione. Nella casella Ricerca rapida, inserisci Gestione app client esterna.
  13. Fai clic sul nome dell'app client esterna > Modifica.
  14. Vai a OAuth Settings (Impostazioni OAuth) > App Settings (Impostazioni app) > Consumer Key and Secret (Chiave e segreto del consumatore).
  15. Inserisci il codice di verifica inviato al tuo indirizzo email.
  16. Copia la chiave utente e il secret consumer in un luogo sicuro. Ti serviranno per un passaggio successivo.

Stabilisci policy di condivisione delle risorse tra origini (CORS) e di sicurezza dei contenuti

  1. Vai alla barra dei menu > menu Configurazione, poi fai clic su Configurazione.
  2. Nella casella Ricerca rapida, inserisci CORS, quindi fai clic su Modifica.
    1. Seleziona Attiva CORS per gli endpoint OAuth.
    2. Fai clic su Salva.
  3. Vai alla barra dei menu > menu Configurazione, poi fai clic su Configurazione.
  4. Nella casella Ricerca rapida, inserisci URL attendibili, quindi fai clic su Nuovo URL attendibile.
  5. Inserisci le seguenti informazioni:
    • Nome API: ui_connector
    • URL: inserisci l'URL dell'endpoint del servizio Cloud Run del connettore UI che hai deployment con il backend dell'integrazione di Agent Assist. Puoi trovare questo URL nella console Cloud Run. Ad esempio: https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • Direttive CSP: seleziona tutte le caselle di controllo.
    • Fai clic su Salva e nuovo.
  6. Inserisci le seguenti informazioni:
    • Nome API: ui_connector_wss
    • URL: inserisci l'URL dell'endpoint del servizio Cloud Run del connettore UI che hai implementato con il backend dell'integrazione di Agent Assist. Puoi trovare questo URL nella console Cloud Run. Modifica il protocollo in wss per il traffico WebSocket. Ad esempio: wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • Direttive CSP: seleziona tutte le caselle di controllo.
    • Fai clic su Salva e nuovo.
  7. Inserisci le seguenti informazioni:
    • API Name (Nome API): salesforce_domain
    • URL: inserisci l'URL del tuo dominio Salesforce nel seguente formato: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Direttive CSP: seleziona tutte le caselle di controllo.
    • Fai clic su Salva.

Passaggio 5: installa NiCE CXone Agent per Service Cloud Voice (BYOT)

Salesforce fornisce la licenza del componente aggiuntivo Service Cloud Voice, che consente l'integrazione di softphone di terze parti con la tua istanza Salesforce. NiCE CXone fornisce un componente aggiuntivo di Service Cloud Voice chiamato NiCE CXone Agent for Service Cloud Voice (BYOT). Segui la documentazione di NiCE per configurare NiCE CXone Agent per Service Cloud Voice (BYOT) nell'istanza Salesforce abilitata per SCV.

Passaggio 6: installa il componente web Lightning di Salesforce

Segui questi passaggi per utilizzare l'editor di Lightning Experience per aggiungere il componente web Lightning di Salesforce alla pagina dei contatti in cui si apre NiCE CXone Agent for Service Cloud Voice (BYOT) quando arriva una nuova chiamata.

  1. Vai alla Service Console.
  2. Accedi a NiCE CXone Agent per Service Cloud Voice (BYOT) nella barra delle utilità.
  3. Chiama il numero del punto di contatto NiCE associato all'account NiCE con cui hai eseguito l'accesso.
  4. Accetta la chiamata in arrivo. Si aprirà una nuova scheda del record Chiamata vocale.
  5. Fai clic sul menu Configurazione > Modifica pagina.
  6. Fai clic su Modello > Modifica.
    1. Seleziona Intestazione e Due regioni uguali.
    2. Fai clic su Avanti.
    3. Mappa ogni regione su una nuova regione.
    4. Fai clic su Fine.
  7. Dalla barra laterale Componenti, sposta agentAssistContainerModule nella barra laterale. Nota: questo componente è stato fornito dal comando npm deploy.
  8. Fai clic sul componente inserito nel passaggio precedente e compila i campi del modulo come segue per aggiungere i dettagli di configurazione.
    • Endpoint: l'URL del connettore UI del backend di integrazione dell'agente, ad esempio un URL della console Cloud Run, come: https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • funzionalità: Funzionalità di Agent Assist attivate nel tuo profilo di conversazione, ad esempio CONVERSATION_SUMMARIZATION,KNOWLEDGE_ASSIST_V2 e AGENT_COACHING. Tieni presente che alcune funzionalità, come SMART_REPLY, non sono disponibili per voice.
    • channel: indica che l'integrazione è voice.
    • platform: indica che la piattaforma è servicecloudvoice-nice.
    • conversationProfile: il nome della risorsa del tuo profilo di conversazione di Agent Assist (esempio: projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID)
    • consumerKey: la chiave utente dell'app client esterna del passaggio 4.
    • consumerSecret: il segreto utente dell'app client esterna del passaggio 4.

Passaggio 7: testa l'integrazione

Puoi testare l'integrazione vocale con una chiamata di prova al call center di Salesforce.

  1. Accedi a NiCE CXone Agent per Service Cloud Voice (BYOT) dal widget Omni-Channel nella barra delle utilità della Service Console.
  2. Chiama il numero del tuo contatto NiCE CXone. Puoi trovarlo nella console NiCE CXone.
  3. Nella Service Console, accetta la chiamata in arrivo. Si aprirà una nuova registrazione di chiamata vocale.
  4. Nel record Chiamata vocale, il componente web Lightning di Salesforce dovrebbe caricarsi nella barra laterale.
  5. Testa entrambi i lati della conversazione, assicurandoti che la trascrizione e le funzionalità di Assistente Agente funzionino come le hai configurate nel profilo di conversazione nella console di Assistente Agente.