Integração de voz do Salesforce com o NiCE CXone

Arquitetura para a integração do Agent Assist e do NiCE CXone com o Salesforce

Essa integração de voz usa o app NiCE CXone Agent for Service Cloud Voice (BYOT) Salesforce para permitir que seus agentes aceitem chamadas do NiCE CXone no Salesforce Service Cloud Voice.

O Agent Assist usa a ligação de voz do NiCE CXone Agent Assist Hub para fornecer sugestões aos seus agentes no Salesforce Lightning Service Console.

Antes de começar

Para integrar os módulos de interface do Agent Assist ao Salesforce, primeiro configure os recursos necessários.

Além disso, você precisa de acesso aos seguintes recursos:

Etapa 1: configurar o NiCE CXone Studio e o NiCE CXone Agent Assist Hub

Esta etapa descreve toda a configuração necessária na sua instância do NiCE CXone.

Configurar o fluxo de chamadas com o NiCE CXone Studio

Nesta etapa, você vai configurar um fluxo de chamadas programático com o NiCE CXone Studio para encaminhar chamadas recebidas aos seus agentes e enviar os fluxos de mídia de chamadas para o Agent Assist. Configure esse fluxo de chamadas com os seguintes acionadores e ações do NiCE CXone Studio, nesta ordem:

  1. Faça login no console do NiCE CXone.
  2. Abra o menu Applications ().
  3. Abra Omnichannel Routing > Studio.
  4. Na página "Studio", crie um New Script.

Configure esse fluxo de chamadas com os seguintes acionadores e ações do NiCE CXone Studio:

  1. Início: Esse acionador é ativado quando uma chamada chega ao número de telefone do ponto de contato (POC) do NiCE.
  2. Reqagent: Essa ação envia a chamada para uma habilidade especificada. Selecione a habilidade associada aos agentes que você quer que recebam chamadas.
  3. Música: Essa ação reproduz música de espera.
  4. Wait: Essa ação suspende o fluxo até que outro acionador seja ativado.

Separadamente, mas no mesmo fluxo do Studio, configure o que acontece quando um agente atende a chamada recebida.

  1. Onanswer: Esse acionador é ativado quando um agente na habilidade.
  2. Ziptone: reproduz um bipe quando um agente atende o telefone em um desktop de agente do NiCE CXone (como o softphone NiCE CXone Agent for Service Cloud Voice (BYOT)).
  3. Agent Assist: Essa ação é responsável por criar uma conversa e enviar os fluxos de mídia de uma chamada recebida para o Dialogflow, para que os módulos de interface do Agent Assist LWC possam renderizar a transcrição e as sugestões do Agent Assist (como PGKA, GKA, AI Coaching) no Salesforce. Consulte a documentação de integração para detalhes da configuração. Observação: essa etapa requer um perfil de conversa pré-configurado.

Também é possível configurar o Agent Assist para chamadas efetuadas. A integração exige que a ação Agent Assist seja acionada quando uma chamada efetuada for atendida pela parte remota. Embora a implementação exata dependa da sua configuração, isso geralmente pode ser feito no script usando a ação Placecall para iniciar a chamada e conectando a ação Agent Assist à ramificação OnAnswer de Placecall. Consulte a documentação de ajuda do NiCE CXone Studio para Placecall, Onanswer, e Agent Assist para mais informações.

Observar os detalhes da conta do NiCE CXone

Siga esta etapa para coletar os detalhes da sua conta do NiCE CXone. Você vai precisar dessas informações para configurar o NiCE CXone Agent for Service Cloud Voice (BYOT) no Salesforce mais tarde.

  • Anote o número da unidade de negócios do NiCE no console do NiCE CXone. No seu projeto do Salesforce (que você vai clonar em uma etapa futura), em ServiceCloudVoicePlatformService.js, atualize CONFIG.niceBusNo para refletir o número da unidade de negócios do NiCE. Isso permitirá que os módulos de interface do Agent Assist LWC determinem o conversationName que o NiCE CXone Agent Assist Hub cria (consulte o método generateNiCEConversationName no mesmo arquivo para mais detalhes).
  • Anote o número de telefone do ponto de contato (POC) do NiCE no console do NiCE CXone. Esse é o número que seus clientes vão ligar para falar com seus agentes e que você vai usar para testar essa integração do Agent Assist.

Etapa 2: configurar o projeto de desenvolvimento do Salesforce

Para começar a integrar os módulos de interface do Agent Assist, siga estas etapas.

  1. Execute o código a seguir para clonar o repositório de integração do Agent Assist e abrir seu projeto:

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. Execute os comandos a seguir para fazer o download dos arquivos JavaScript dos módulos de interface que você vai implantar mais tarde como recursos estáticos. O Salesforce exige que os recursos estáticos carreguem o JavaScript de terceiros.

    npm run generate-static-resources
    npm install
    
  3. Atualize ServiceCloudVoicePlatformService.js com o número da unidade de negócios do NiCE que você anotou em uma etapa anterior:

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

Etapa 3: configurar o ambiente do Salesforce

É possível integrar os módulos de interface do Agent Assist em um ambiente específico, como produção ou desenvolvimento. O Salesforce chama esses ambientes organizações (orgs).

Configurar sua organização com a CLI do Salesforce

Siga estas etapas para usar a CLI do Salesforce para configurar sua organização para a integração do Agent Assist.

  1. Execute o código a seguir e autentique a CLI usando os detalhes de login do Salesforce que você usa normalmente.

    npm run login
    
  2. Execute o código a seguir para implantar o LWC na organização.

    npm run deploy
    

Etapa 4: criar um app cliente externo

O LWC do Salesforce usa o fluxo de credenciais do cliente OAuth 2.0 para autenticar você. Um app cliente externo permite o fluxo de credenciais do cliente. Use o token do cliente e o secret do cliente do app para configurar o LWC do Salesforce para autenticar usuários com o Salesforce.

  1. Clique em Setup > Setup.
  2. Na caixa Quick Find, digite External Client App Manager.
  3. Clique em External Client App Manager > New External Client App > Create e insira as seguintes informações.
    • External Client App Name: lwc auth
    • API Name: lwc_auth
    • Contact Email: your_email@example.com
    • API (Enable OAuth Settings) > Enable OAuth: selecionado
    • API (Enable OAuth Settings) > Callback URL: https://login.salesforce.com/services/oauth2/callback
    • API (Enable OAuth Settings) > Selected OAuth Scopes: Access the identity URL service
    • API (Enable OAuth Settings) > Enable Client Credentials Flow : selecionado
  4. Clique em Criar.
  5. Clique em Setup > Setup.
  6. Na caixa Quick Find, digite External Client App Manager.
  7. Clique no nome do app cliente externo > Edit.
  8. Navegue até OAuth Policies > OAuth Flows and External Client App Enhancements.
  9. Verifique se a opção Enable Client Credentials Flow está selecionada.
  10. Em Run As, insira seu nome de usuário de login.
  11. Clique em Salvar.
  12. Clique em Setup > Setup. Na caixa Quick Find, digite External Client App Manager.
  13. Clique no nome do app cliente externo > Edit.
  14. Navegue até OAuth Settings > App Settings > Consumer Key and Secret.
  15. Insira o código de verificação enviado para seu e-mail.
  16. Copie o token do cliente e o secret do cliente para um local seguro. Você vai precisar deles para uma etapa posterior.

Estabelecer políticas de segurança de conteúdo e CORS

  1. Clique em Setup > Setup.
  2. Na caixa Quick Find, digite CORS e clique em Edit.
    1. Selecione Enable CORS for OAuth endpoints.
    2. Clique em Salvar.
  3. Clique em Setup > Setup.
  4. Na caixa Quick Find, digite Trusted URLs e clique em New Trusted URL.
  5. Insira as seguintes informações:
    • API Name: ui_connector
    • URL: insira o URL do endpoint do serviço do conector de interface do Cloud Run que você implantou com o back-end de integração do Agent Assist. Esse URL pode ser encontrado no console do Cloud Run. Por exemplo: https://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • CSP Directives: marque todas as caixas de seleção.
    • Clique em Save &New.
  6. Insira as seguintes informações:
    • API Name: ui_connector_wss
    • URL: insira o URL do endpoint do serviço do conector de interface do Cloud Run que você implantou com o back-end de integração do Agent Assist. Esse URL pode ser encontrado no console do Cloud Run. Mude o protocolo para wss, para tráfego de WebSockets. Por exemplo: wss://UI_CONNECTOR_SUBDOMAIN.GCP_REGION.run.app.
    • CSP Directives: marque todas as caixas de seleção.
    • Clique em Save &New.
  7. Insira as seguintes informações:
    • API Name: salesforce_domain
    • URL: insira o URL do seu domínio do Salesforce com o seguinte formato: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • CSP Directives: marque todas as caixas de seleção.
    • Clique em Salvar.

Etapa 5: instalar o NiCE CXone Agent for Service Cloud Voice (BYOT)

O Salesforce oferece a licença de complemento do Service Cloud Voice, que permite a integração de softphones de terceiros com sua instância do Salesforce. O NiCE CXone oferece um complemento do Service Cloud Voice chamado NiCE CXone Agent for Service Cloud Voice (BYOT). Siga a documentação do NiCE para configurar o NiCE CXone Agent for Service Cloud Voice (BYOT) na sua instância do Salesforce ativada para SCV.

Etapa 6: instalar o componente da Web do Salesforce Lightning

Siga estas etapas para usar o editor do Lightning Experience para adicionar o componente da Web do Salesforce Lightning à página de contato em que o NiCE CXone Agent for Service Cloud Voice (BYOT) é aberto quando uma nova chamada chega.

  1. Navegue até o Service Console.
  2. Faça login no NiCE CXone Agent for Service Cloud Voice (BYOT).
  3. Ligue para o número do POC do NiCE associado à conta do NiCE em que você fez login.
  4. Aceite a chamada recebida. Isso vai resultar na abertura de uma nova guia de registro de chamada de voz.
  5. Clique em Configurações e selecione Editar página.
  6. Clique em Modelo > Alterar.
    1. Selecione Cabeçalho e Duas regiões iguais.
    2. Clique em Próxima.
    3. Mapeie cada região para uma nova região.
    4. Clique em Concluído.
  7. Na lista Components, arraste agentAssistContainerModule para a página. Observação: o comando npm deploy forneceu esse componente.
  8. Clique no componente que você colocou na etapa anterior e preencha os campos do formulário da seguinte maneira para adicionar detalhes de configuração.
    • endpoint: o URL do conector de interface do back-end de integração do agente, como um URL do console do Cloud Run, como: https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • channel: indica que a integração é voice.
    • platform: indica que a plataforma é servicecloudvoice-nice.
    • conversationProfile: o nome do recurso do perfil de conversa do Agent Assist (exemplo: projects/GCP_PROJECT_ID/locations/GCP_REGION/conversationProfiles/CONVERSATION_PROFILE_ID)
    • consumerKey: o token do cliente externo do app da etapa 4.
    • consumerSecret: o secret do cliente externo do app da etapa 4.
    • containerHeight: a altura do contêiner do Agent Assist.

Etapa 7: testar a integração

É possível testar a integração de voz com uma ligação de teste para a central de atendimento do Salesforce.

  1. Faça login no NiCE CXone Agent for Service Cloud Voice (BYOT) no widget Omni-Channel no Service Console.
  2. Ligue para o número do POC do NiCE CXone. Você pode encontrar esse número no console do NiCE CXone.
  3. No Service Console, aceite a chamada recebida. A tela vai abrir um novo registro de chamada de voz.
  4. No registro de chamada de voz, o componente da Web do Salesforce Lightning será carregado na página.
  5. Teste os dois lados da conversa, garantindo que a transcrição e os recursos do Agent Assist estejam funcionando conforme você os configurou no perfil de conversa no console do Agent Assist.