Integração de voz do Salesforce com o Twilio Flex

Esta integração de voz usa a integração do Twilio Open CTI para trazer um centro de chamadas do Twilio Flex para a sua instância do Salesforce.

O Agent Assist usa a stream de multimédia da chamada do Twilio Flex para fornecer sugestões aos seus agentes na Salesforce Lightning Service Console.

Antes de começar

Para integrar os módulos da IU do Agent Assist com o Salesforce, precisa de acesso aos seguintes recursos:

  • Node.js

    Siga as instruções de instalação recomendadas para o seu sistema operativo.

  • CLI do Salesforce

    Siga as instruções de instalação recomendadas para o seu sistema operativo.

  • CLI do Google Cloud

    Instale o comando gcloud conforme indicado e autentique-se através do comando gcloud auth login.

  • Salesforce

    1. Inicie sessão no URL da sua instância ou na página de início de sessão do Salesforce e tenha em atenção o seguinte:
    2. O URL do Meu domínio do Salesforce. Siga estes passos para encontrar o URL do meu domínio:
      1. Navegue para a barra de menu > menu Configuração.
      2. Clique em Configurar.
      3. Na caixa Localização rápida, introduza O meu domínio. O nome do domínio está no seguinte formato: MY-DOMAIN-NAME.develop.my.salesforce.com.
    3. O ID da sua organização do Salesforce. Siga estes passos para encontrar o ID da organização:
      1. Navegue para a barra de menu > menu Configuração.
      2. Clique em Configurar.
      3. Na caixa Localização rápida, introduza Informações da empresa. Nota: estes passos de integração foram testados apenas com a Salesforce Developer Edition. Podem surgir diferenças nas licenças de funcionalidades e na interface do Salesforce se 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 implementação, configure as seguintes variáveis de ambiente com deploy.sh ou num ficheiro .env na raiz do projeto:
    3. AUTH_OPTION: defina esta opção como SalesforceLWC.
    4. SALESFORCE_DOMAIN: um nome de domínio semelhante a YOUR_SUBDOMAIN.develop.lightning.force.com. Anotou este valor no pré-requisito do Salesforce. Tenha em atenção que não deve incluir https://.
    5. SALESFORCE_ORGANIZATION_ID: reparou neste valor no pré-requisito do Salesforce.
    6. APP_AUTH_OPTION: defina esta opção como Twilio.
    7. TWILIO_ACCOUNT_SID: defina este valor para o SID da conta do Twilio.

Passo 1: configure o Twilio Flex

O Twilio Flex funciona como o softphone nesta integração. Pode iniciar sessão na consola do Twilio para configurar uma conta do Flex. Visite a página de configuração do Twilio para receber instruções detalhadas sobre como criar uma conta do Flex.

Instale o suplemento do conetor SIPREC

O suplemento do conector SIPREC permite que a sua conta do Twilio Flex faça bifurcações SIPREC de streams de multimédia de chamadas de voz para o Agent Assist. Siga estes passos para instalar o suplemento do conetor SIPREC.

  1. Navegue para Página inicial do Twilio > Marketplace > Catálogo > Twilio > Siprec Connector.
  2. Clique em Instalar > a caixa de verificação de aceitação dos termos de utilização > Instalar.
  3. No separador Configurar, configure o plug-in da seguinte forma:
    1. Nome único: SipRec1
    2. Servidor de gravação de sessões:
      sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
    3. Consulte a documentação de integração de telefonia para ver mais detalhes sobre o aprovisionamento de um número GTP. Pode ignorar os passos de configuração e validação do SBC, uma vez que estão concluídos para o conetor do Twilio Siprec.
  4. Navegue para Twilio Home > Functions and Assets.
    • Se Funções e recursos não estiver visível na barra lateral, fixe-o a partir de Explorar produtos.
  5. Clique em Criar serviço.
  6. Atribua um nome ao novo serviço ui-connector-auth.
  7. No editor apresentado, clique em Adicionar + > Adicionar função.
  8. Atribua o nome conversation-name à função.
  9. Clique em e altere a visibilidade da função para Público.
  10. Copie e cole todo o conteúdo de ui-connector-auth.js do repositório do GitHub no editor.
  11. Clique em Guardar.
  12. Clique em Implementar tudo.

Configure o IVR com o Flex Studio

A RVI consiste em configurar um fluxo de chamadas programático com o Studio do Twilio para fazer a ramificação SIPREC da stream multimédia para o Agent Assist. Também faz um HTTP post para partilhar o número de telefone e o ID da conversa com o Agent Assist. Siga estes passos para configurar o IVR com o Flex Studio.

  1. Navegue para a Twilio Console
  2. Clique em Desenvolver > Números de telefone > Gerir > Números ativos. Deve existir uma linha na tabela com o número do Twilio predefinido aprovisionado para a sua conta do Flex.
  3. Na secção Voz – Fluxo de trabalho do Studio, clique em IVR de voz.
  4. Arraste um widget Fazer pedido HTTP para o fluxo.
  5. Desligue a opção Chamada recebida da entrada do widget SendCallToAgent.
  6. Ligue o evento Chamada recebida à entrada do widget Fazer pedido HTTP.
  7. Configure o widget Fazer pedido HTTP com os seguintes detalhes:
    • Nome do widget: register_twilio
    • Método de pedido: POST
    • URL do pedido: <your-ui-connector-cloud-run-url>.run.app/register-app
    • Tipo de conteúdo: application/json
    • Corpo do pedido:
      {
      "accountSid": "<yourTwilioAccountSid>",
      "authToken": "<yourTwilioAccountAuthToken>"
      }
  8. Arraste um widget Executar função para o fluxo.
  9. Ligue as saídas Success e Fail do widget register_twilio à entrada do widget Run Function.
  10. Crie um widget com os seguintes detalhes:
    • Nome do widget: conversation_name
    • Serviço: ui-connector-auth
    • Ambiente: ui
    • Função: conversation-name
    • Parâmetros da função:
      • token:
        {{ widgets.register_twilio.parsed.token }}
      • endpoint: <your-ui-connector-cloud-run-url>.run.app/conversation-name
      • telemóvel:
        {{ trigger.call.From | replace_first:'+','' }}
      • conversationName:
        projects/<project>/locations/<location>/conversations/TW-{{ trigger.call.From | replace_first:'+','' }}-{{ trigger.call.CallSid }}
  11. Arraste um widget Fork Stream da barra lateral para o fluxo.
  12. Ligue as saídas Success e Fail do widget Make HTTP Request à entrada do widget Fork Stream.
  13. Ligue o nó Seguinte do widget Dividir stream ao widget SendCallToAgent.
  14. Configure o widget Fork Stream da seguinte forma:

    • Ação de stream: iniciar
    • Tipo de stream: Siprec
    • Nome do conetor: Siprec1
    • Faixas: ambas as faixas
    • Parâmetros da stream:

      • Chave: conversation
      • Valor:

        projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
        
  15. Clique em Guardar > Publicar.

Detalhes da conta

Siga este passo para recolher os detalhes da sua conta do Twilio Flex. Precisa destas informações para configurar o Flex CTI no Salesforce mais tarde.

  1. Navegue para Twilio Home > Painel de controlo da conta e anote as seguintes informações:
    • SID da conta
    • O meu número de telefone do Twilio

Passo 2: configure o projeto de desenvolvimento

Para começar a integrar os módulos da IU do Agent Assist, siga estes passos.

  1. Execute o seguinte código para clonar o repositório de integração do Agent Assist e abrir o seu projeto:
    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
  2. Execute os seguintes comandos para transferir os ficheiros JavaScript dos módulos da IU, que implementa mais tarde como recursos estáticos. O Salesforce requer recursos estáticos para carregar JavaScript de terceiros.
    npm run generate-static-resources
    npm install

Passo 3: configure o seu ambiente do Salesforce

Pode integrar módulos da IU do Agent Assist num ambiente específico, como produção ou desenvolvimento. O Salesforce chama a estes ambientes organizações.

Configure a sua organização com a CLI do Salesforce

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

  1. Execute o seguinte código e autentique a CLI com os detalhes de início de sessão do Salesforce que usa normalmente.
    npm run login
  2. Execute o seguinte código para implementar o LWC na organização.
    npm run deploy

Passo 4: crie uma app cliente externa

O LWC do Salesforce usa o fluxo OAuth 2.0 de credenciais de cliente para a sua autenticação. Uma app cliente externa ativa o fluxo de credenciais do cliente. Use a chave de consumidor e o segredo do consumidor da app para configurar o LWC do Salesforce para autenticar utilizadores com o Salesforce.

  1. Navegue até à barra de menu > menu Configuração e, de seguida, clique em Configuração. Na caixa Localização rápida, introduza Gestor de apps de cliente externas.
    1. Clique em Gestor de apps de cliente externas > Nova app de cliente externa > Criar e, de seguida, introduza as seguintes informações.
    2. Nome da app cliente externa: lwc auth
    3. Nome da API: lwc_auth
    4. Email de contacto: your_email@example.com
    5. API (ativar definições OAuth) > Ativar OAuth: selecionado
    6. API (Enable OAuth Settings) > Callback URL: https://login.salesforce.com/services/oauth2/callback
    7. API (ativar definições de OAuth) > Âmbitos de OAuth selecionados: aceder ao serviço de URL de identidade
    8. API (ativar definições OAuth) > Ativar fluxo de credenciais do cliente: selecionado
    9. Clique em Criar.
  2. Navegue até à barra de menu > menu Configuração e, de seguida, clique em Configuração. Na caixa Localização rápida, introduza Gestor de apps de cliente externas.
    1. Clique no nome da app cliente externa > Editar.
    2. Navegue para Políticas de OAuth > Fluxos de OAuth e melhorias da app cliente externa.
    3. Certifique-se de que a opção Ativar fluxo de credenciais de cliente está selecionada.
    4. Em Executar como, introduza o seu nome de utilizador de início de sessão.
    5. Clique em Guardar.
  3. Navegue até à barra de menu > menu Configuração e, de seguida, clique em Configuração. Na caixa Localização rápida, introduza Gestor de apps de cliente externas.
    1. Clique no nome da app cliente externa > Editar.
    2. Navegue para Definições do OAuth > Definições da app > Chave e segredo do consumidor.
    3. Introduza o código de validação enviado para o seu email.
    4. Copie a chave de consumidor e o segredo do consumidor para um local seguro. Vai precisar destas informações para um passo posterior.

Estabeleça políticas de segurança de conteúdos e CORS

  1. Navegue até à barra de menu > menu Configuração e, de seguida, clique em Configuração.
  2. Na caixa Localização rápida, introduza CORS e, de seguida, clique em Editar.
    1. Selecione Ativar CORS para pontos finais OAuth.
    2. Clique em Guardar.
  3. Navegue até à barra de menu > menu Configuração e, de seguida, clique em Configuração.
  4. Na caixa Localização rápida, introduza URLs fidedignos e, de seguida, clique em Novo URL fidedigno.
  5. Introduza o nome da API: ui_connector
    1. Introduza o URL do ponto final do serviço do Cloud Run do conetor da IU que implementou com o back-end de integração do Agent Assist. Pode encontrar este URL na consola do Cloud Run. Por exemplo: https://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app.
    2. Selecione todas as caixas de verificação em Diretivas CSP.
    3. Clique em Guardar e novo.
  6. Introduza o nome da API: ui_connector_wss
    1. Introduza o URL do ponto final do serviço do Cloud Run do conetor da IU que implementou com o back-end de integração do Agent Assist. Pode encontrar este URL na consola do Cloud Run. Altere o protocolo para wss para tráfego de WebSockets. Por exemplo: wss://<var>UI_CONNECTOR_SUBDOMAIN</var>.<var>GCP_REGION</var>.run.app.
    2. Selecione todas as caixas de verificação em Diretivas CSP.
    3. Clique em Guardar e novo.
  7. Introduza o nome da API: salesforce_domain
    1. Introduza o URL do seu domínio do Salesforce no seguinte formato: https://<var>YOUR_SUBDOMAIN</var>.my.salesforce.com.
    2. Selecione todas as caixas de verificação em Diretivas CSP.
    3. Clique em Guardar.

Passo 5: instale o plug-in de CTI do Twilio Flex

O Salesforce fornece o Salesforce Open CTI para permitir a integração de softphones de terceiros com a sua instância do Salesforce.

A CTI do Twilio Flex usa a CTI aberta do Salesforce para lhe permitir usar o Flex diretamente na sua instância do Salesforce. Siga as instruções da Twilio para configurar o CTI do Twilio Flex na sua instância do Salesforce.

Passo 6: instale o componente Web do Lightning do Salesforce

Siga estes passos para usar o Editor do Lightning Experience para adicionar o componente Web do Lightning do Salesforce à página de contacto onde o CTI do Twilio Flex é aberto quando recebe uma nova chamada.

  1. Navegue até à consola de serviços e selecione Contactos.
  2. Selecione um registo de contacto.
  3. Clique no menu Configuração > Editar página.
  4. Clique em Modelo > Alterar.
    1. Selecione Cabeçalho e Duas regiões iguais.
    2. Clicar em Seguinte.
    3. Mapeie cada região para uma nova região.
    4. Clique em Concluído.
  5. Na barra lateral Componentes, mova o elemento agentAssistContainerModule para a barra lateral. Nota: o comando npm deploy forneceu este componente.
  6. Clique no componente que colocou no passo anterior e preencha os campos do formulário da seguinte forma para adicionar detalhes de configuração.
    • ponto final: o URL do conector da IU do back-end de integração. Por exemplo, um URL da consola do Cloud Run, como: https://<var>UI_CONNECTOR_ENDPOINT</var>.<var>GCP_REGION</var>.run.app.
    • funcionalidades: funcionalidades do Assistente do agente a incluir. Estas têm de estar ativadas no seu perfil de conversa. Algumas funcionalidades disponíveis incluem CONVERSATION_SUMMARIZATION,KNOWLEDGE_ASSIST_V2 e AGENT_COACHING. Tenha em atenção que algumas funcionalidades, como SMART_REPLY, não estão disponíveis para voice.
    • canal: indique que a integração é para voice.
    • plataforma: indique que a plataforma é twilio.
    • conversationProfile: o nome do recurso do perfil de conversa do Assistente do agente. Por exemplo, projects/<var>GCP_PROJECT_ID</var>/locations/<var>GCP_REGION</var>/conversationProfiles/<var>CONVERSATION_PROFILE_ID</var>
    • consumerKey: a chave de consumidor do cliente externo do passo 3.
    • consumerSecret: o segredo do consumidor da app cliente externa do Passo 3.

Passo 7: teste a integração

Pode testar a integração de voz com uma chamada de teste para o centro de chamadas do Salesforce.

  1. Inicie sessão no Twilio Flex a partir da Service Console.
  2. Ligue para o seu número do Twilio Flex. Tomou nota disto no passo 1.
  3. Na Service Console, aceite a chamada. O ecrã deve abrir uma página de contacto nova ou existente para o número que ligou.
  4. Se for uma nova página de contacto, guarde o contacto. Quando a página de contacto é carregada, o componente Web do Salesforce Lightning deve ser carregado na barra lateral.
  5. Teste ambos os lados da conversa, garantindo que as funcionalidades do Agent Assist estão a funcionar conforme as configurou.