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 do Salesforce do NiCE CXone Agent for Service Cloud Voice (BYOT) para permitir que seus agentes aceitem chamadas do NiCE CXone no Salesforce Service Cloud Voice.

O Agent Assist usa o fluxo de ligação 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 da interface do Agent Assist ao Salesforce, você precisa de acesso aos seguintes recursos:

  • Node.js: siga as instruções de instalação recomendadas para seu sistema operacional.

  • CLI do Salesforce: siga as instruções de instalação recomendadas para seu sistema operacional.

  • Google Cloud CLI: instale o comando gcloud conforme instruído e faça a autenticação usando gcloud auth login.

  • Salesforce: faça login no URL da instância ou na página de login do Salesforce e anote o seguinte:

    • Seu URL do Meu domínio do Salesforce. Siga estas etapas para encontrar o URL do Meu domínio:
      1. Acesse a barra de menus > menu Configuração.
      2. Clique em Configuração.
      3. Na caixa Pesquisa rápida, digite Meu domínio. O nome de domínio está no seguinte formato: MY-DOMAIN-NAME.develop.my.salesforce.com.
    • Seu ID da organização do Salesforce. Siga estas etapas para encontrar o ID da organização:
      1. Acesse a barra de menus > menu Configuração.
      2. Clique em Configuração.
      3. Na caixa Pesquisa rápida, digite Informações da empresa. Observação: essas etapas de integração foram testadas com o Salesforce Developer Edition apenas. Diferenças nas licenças de recursos e na interface do Salesforce podem surgir se você usar outra edição.
  • Back-end de integração do Agent Assist

    1. Siga as instruções para configurar a integração.
    2. Antes de executar o script de implantação, configure as seguintes variáveis de ambiente com deploy.sh ou em um arquivo .env na raiz do projeto:
      • AUTH_OPTION: defina como SalesforceLWC.
      • SALESFORCE_DOMAIN: um nome de domínio semelhante a YOUR_SUBDOMAIN.develop.lightning.force.com. Você anotou esse valor no pré-requisito do Salesforce. Não inclua https://.
      • SALESFORCE_ORGANIZATION_ID: você anotou esse valor no pré-requisito do Salesforce.
  • Uma instância do NiCE CXone

  • Uma licença de complemento do NiCE CXone Agent Assist Hub: o complemento do NiCE CXone Agent Assist Hub permite que sua instância do NiCE CXone envie fluxos de mídia de ligações para o Agent Assist do Google Cloud. O NiCE CXone é um produto licenciado. Mais detalhes estão disponíveis na documentação do NiCE CXone Agent Assist Hub.

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 Aplicativos ().
  3. Abra Roteamento Omni-Channel > Studio.
  4. Na página do Studio, crie um novo 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 representante atende o telefone em um desktop de representante do NiCE CXone (como o softphone do NiCE CXone Agent for Service Cloud Voice (BYOT)).
  3. Agent Assist: Essa ação é responsável por criar uma conversa e enviar fluxos de mídia de uma chamada recebida para o Dialogflow, para que os módulos LWC da interface do Agent Assist 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.

Anotar 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 sua 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 sua unidade de negócios do NiCE. Isso permitirá que os módulos LWC da interface do Agent Assist 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 seu projeto de desenvolvimento do Salesforce

Para começar a integrar os módulos da 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 da interface que você vai implantar mais tarde como recursos estáticos. O Salesforce exige que os recursos estáticos carreguem 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 seu ambiente do Salesforce

É possível integrar os módulos da 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 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ê normalmente usa.

    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 consumidor do app para configurar o LWC do Salesforce para autenticar usuários com o Salesforce.

  1. Acesse a barra de menus > menu Configuração e clique em Configuração.
  2. Na caixa Pesquisa rápida, digite Gerenciador de apps de clientes externos.
  3. Clique em Gerenciador de apps de clientes externos > Novo app de cliente externo > Criar e insira as seguintes informações.
    • Nome do app de cliente externo: lwc auth
    • Nome da API: lwc_auth
    • E-mail de contato: your_email@example.com
    • API (ativar configurações do OAuth) > Ativar OAuth: selecionado
    • API (ativar configurações do OAuth) > URL de retorno de chamada: https://login.salesforce.com/services/oauth2/callback
    • API (ativar configurações do OAuth) > escopos do OAuth selecionados: acessar o serviço de URL de identidade
    • API (ativar configurações do OAuth) > ativar o fluxo de credenciais do cliente : selecionado
  4. Clique em Criar.
  5. Acesse a barra de menus > menu Configuração e clique em Configuração.
  6. Na caixa Pesquisa rápida, digite Gerenciador de apps de clientes externos.
  7. Clique no nome do app cliente externo > Editar.
  8. Acesse Políticas do OAuth > Fluxos do OAuth e melhorias de apps de clientes externos.
  9. Verifique se a opção Ativar o fluxo de credenciais do cliente está selecionada.
  10. Em Executar como, insira seu nome de usuário de login.
  11. Clique em Salvar.
  12. Acesse a barra de menus > menu Configuração e clique em Configuração. Na caixa Pesquisa rápida, digite Gerenciador de apps de clientes externos.
  13. Clique no nome do app cliente externo > Editar.
  14. Acesse Configurações do OAuth > Configurações do app > Chave e secret do consumidor.
  15. Insira o código de verificação enviado para seu e-mail.
  16. Copie o token do cliente e o secret do consumidor para um local seguro. Você vai precisar deles para uma etapa posterior.

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

  1. Acesse a barra de menus > menu Configuração e clique em Configuração.
  2. Na caixa Pesquisa rápida , digite CORS e clique em Editar.
    1. Selecione Ativar o CORS para endpoints OAuth.
    2. Clique em Salvar.
  3. Acesse a barra de menus > menu Configuração e clique em Configuração.
  4. Na caixa Pesquisa rápida , digite URLs confiáveis e clique em Novo URL confiável.
  5. Digite as informações a seguir:
    • Nome da API: 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.
    • Diretivas de CSP: marque todas as caixas de seleção.
    • Clique em Salvar e novo.
  6. Digite as informações a seguir:
    • Nome da API: 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.
    • Diretivas de CSP: marque todas as caixas de seleção.
    • Clique em Salvar e novo.
  7. Digite as informações a seguir:
    • Nome da API: salesforce_domain
    • URL: insira o URL do seu domínio do Salesforce com o seguinte formato: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Diretivas de CSP: 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. Acesse o Service Console.
  2. Faça login no NiCE CXone Agent for Service Cloud Voice (BYOT) na barra de utilitários.
  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 no menu Configuração > 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 barra lateral Componentes, mova o agentAssistContainerModule para a barra lateral. 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 do app cliente externo da etapa 4.
    • consumerSecret: o secret do consumidor do app cliente externo 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 chamada 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 na barra de utilitários do 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 barra lateral.
  5. Teste os dois lados da conversa, garantindo que a transcrição e os recursos do Agent Assist estejam funcionando conforme configurados no perfil de conversa no console do Agent Assist.