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

Essa integração de voz usa a integração do Twilio Open CTI para trazer um call center do Twilio Flex para sua instância do Salesforce.

O Agent Assist usa o fluxo de mídia da chamada do Twilio Flex para dar sugestões aos agentes no console de serviço do Salesforce Lightning.

Antes de começar

Para integrar os módulos da interface da Assistente de IA ao Salesforce, você precisa de acesso aos seguintes recursos:

  • Node.js O Google testou e recomenda o Node.js 18.20.4 com essa integração. Há problemas de compatibilidade conhecidos com o Node.js 20.18.0. Para instruções sobre como instalar versões específicas do Node.js, consulte nvm.
  • CLI do Salesforce. Instale usando o seguinte comando do terminal: (sudo) npm install -g @salesforce/cli
  • CLI gcloud Instale o comando gcloud conforme as instruções e faça a autenticação usando o seguinte código: gcloud auth login
  • Interface do Salesforce
    1. Faça login no URL da sua instância ou em login.salesforce.com e observe o seguinte:
      • O "URL do Meu domínio" do Salesforce. Para encontrar essa opção, acesse a barra de menus > menu "Configuração" e clique em Configuração. Faça uma pesquisa de Localização rápida por "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. Para encontrar essa opção, acesse a barra de menus > Menu de configuração e clique em Configuração. Faça uma pesquisa Pesquisa rápida por "Informações da empresa".
  • Backend 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 comoSalesforceLWC
      • SALESFORCE_DOMAIN: um nome de domínio como YOUR_SUBDOMAIN.develop.lightning.force.com. Você anotou esse valor no pré-requisito da interface do Salesforce. Não inclua https://.
      • SALESFORCE_ORGANIZATION_ID: você anotou esse valor no pré-requisito da interface do Salesforce.

Etapa 1: configurar o Twilio Flex

O Twilio Flex serve como o softphone nessa integração. Faça login no console do Twilio para configurar uma conta do Flex. Acesse a página de configuração do Twilio para instruções detalhadas sobre como criar uma conta do Flex.

Instalar o complemento do conector SIPREC

Com o complemento do conector SIPREC, sua conta do Twilio Flex pode fazer ramificações SIPREC de fluxos de mídia de chamadas de voz para o Agent Assist. Siga estas etapas para instalar o complemento do conector SIPREC.

  1. Acesse Twilio Home > Marketplace > Catálogo > Twilio > Conector Siprec.
  2. Clique em Instalar > a caixa de seleção Confirmação dos termos e condições > Instalar.
  3. Na guia Configurar, configure o plug-in da seguinte maneira:
    • Nome exclusivo: SipRec1
    • Servidor de gravação de sessão:
      sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
    • Trabalhe com seu representante do Google para provisionar o número GTP usando a documentação de visão geral da integração de telefonia, que tem mais detalhes sobre o processo. Você pode ignorar as etapas de configuração e validação do SBC, já que elas já foram concluídas para o Twilio Siprec Connector.
  4. Acesse Página inicial do Twilio > Funções e recursos.
    • Se Funções e recursos não estiver visível na barra lateral, fixe-o em Conheça os produtos.
  5. Clique em Criar serviço.
  6. Nomeie o novo serviço como ui-connector-auth.
  7. No editor que aparece, clique em Adicionar + > Adicionar função.
  8. Nomeie a função como conversation-name.
  9. Clique em e mude a visibilidade da função para Pública.
  10. Copie e cole todo o conteúdo de ui-connector-auth.js do repositório do GitHub no editor.
  11. Clique em Salvar.
  12. Clique em Implantar tudo.

Configurar a URA com o Flex Studio

A URA consiste em configurar um fluxo de chamadas programático com o Studio do Twilio para fazer o fork SIPREC do fluxo de mídia para o Assistente de agente. Ele também faz uma postagem HTTP para compartilhar o número de telefone e o ID da conversa com o Assistente do agente. Siga estas etapas para configurar a URA com o Flex Studio.

  1. Navegue até o console da Twilio.
  2. Clique em Desenvolver > Números de telefone > Gerenciar > Números ativos. Deve haver uma linha na tabela com o número padrão do Twilio provisionado para sua conta do Flex.
  3. Na seção Voz - fluxo de trabalho do Studio, clique em Resposta de voz interativa.
  4. Arraste um widget Fazer solicitação HTTP para o fluxo.
  5. Desconecte Incoming Call da entrada do widget SendCallToAgent.
  6. Conecte Chamada recebida à entrada do widget Fazer solicitação HTTP.
  7. Configure o widget Fazer solicitação HTTP com os seguintes detalhes:
    • Nome do widget: register_twilio
    • Método de solicitação: POST
    • URL da solicitação: <your-ui-connector-cloud-run-url>.run.app/register-app
    • Tipo de conteúdo: application/json
    • Corpo da solicitação:
      {
      "accountSid": "<yourTwilioAccountSid>",
      "authToken": "<yourTwilioAccountAuthToken>"
      }
  8. Arraste um widget Executar função para o fluxo.
  9. Conecte as saídas Sucesso e Falha do widget register_twilio à entrada do widget Executar função.
  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
      • phone:
        {{ 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. Conecte as saídas Sucesso e Falha do widget Fazer solicitação HTTP à entrada do widget Bifurcar stream.
  13. Conecte o nó Próximo do widget Fork Stream ao widget SendCallToAgent.
  14. Configure o widget Fork Stream da seguinte maneira:

    • Ação de stream: iniciar
    • Tipo de transmissão: Siprec
    • Nome do conector: Siprec1
    • Opções: ambas as opções
    • Parâmetros de evento:

      • Chave: conversation
      • Valor:

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

Detalhes da conta

Siga esta etapa para coletar os detalhes da sua conta do Twilio Flex. Você vai precisar dessas informações para configurar a CTI do Flex no Salesforce mais tarde.

  1. Acesse Twilio Home > Painel da conta e anote as seguintes informações:
    • Account SID
    • Meu número de telefone do Twilio

Etapa 2: configurar seu projeto de desenvolvimento

Para começar a integrar módulos da interface da Assistente de agente, 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 JS de terceiros.
    npm run generate-static-resources
    npm install

Etapa 3: configurar seu ambiente do Salesforce

É possível integrar módulos da interface da Assistente de IA em um ambiente específico, como produção ou desenvolvimento. O Salesforce chama esses ambientes de organizações.

Configurar sua organização com a CLI do Salesforce

Siga estas etapas para usar a CLI do Salesforce e configurar sua organização para a integração com o Assistente de agente.

  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 conectado

O componente da Web do Salesforce Lightning usa o fluxo de credenciais do cliente OAuth 2.0 para autenticar você. Um aplicativo conectado (app) permite o fluxo de credenciais do cliente. Use a chave e o segredo do consumidor do app para configurar o LWC e autenticar usuários com o Salesforce.

Definir configurações básicas

  1. Acesse a barra de menus > Menu de configuração e clique em Configuração. Faça uma pesquisa de Pesquisa rápida por "Gerenciador de apps".
  2. Clique em Novo app conectado > Criar um app conectado > Continuar e insira as seguintes informações:
    • Nome do app conectado: lwc auth
    • Nome da API: lwc_auth
    • E-mail de contato: your_email@example.com
    • Ativar configurações do OAuth: checked
    • URL de callback: https://login.salesforce.com/services/oauth2/callback
    • Escopos do OAuth selecionados: acesse o serviço de URL de identidade
    • Ativar o fluxo de credenciais do cliente: checked
  3. Clique em Salvar.

Para mais informações sobre apps conectados, consulte os seguintes recursos do Salesforce.

Definir autorização e credenciais de execução

  1. Acesse a barra de menus > Menu de configuração e clique em Configuração.
  2. Faça uma pesquisa de Localização rápida por "Gerenciar apps conectados".
  3. Clique no nome do app conectado > Editar.
    • Navegue até Fluxo de credenciais do cliente.
    • Em Executar como, clique na lupa e selecione seu nome de usuário.
    • Clique em Salvar.
  4. Acesse a barra de menus > Menu de configuração e clique em Configuração.
  5. Faça uma pesquisa de Pesquisa rápida por "Gerenciador de apps".
  6. Encontre lwc auth e clique em .
    • Clique em Visualizar > Gerenciar detalhes do consumidor.
    • Digite o código de verificação enviado para seu e-mail.
    • Copie a chave do cliente e o secret do cliente em um local seguro, porque você vai precisar deles em uma etapa posterior.

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

  1. Acesse a barra de menus > Menu de configuração e clique em Configuração.
  2. Faça uma pesquisa de Pesquisa rápida por "CORS" e clique em Editar.
    • Confira Ativar o CORS para endpoints OAuth.
    • Clique em Salvar.
  3. Acesse a barra de menus > Menu de configuração e clique em Configuração.
  4. Faça uma pesquisa em Pesquisa rápida por "URLs confiáveis" e clique em Novo URL confiável.
  5. Insira o Nome da API: ui_connector
    • Insira o URL do endpoint do serviço do Cloud Run do conector de interface que você implantou com o back-end de integração do Assistente de IA. O URL está no console do Cloud Run. Por exemplo: https://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app.
    • Marque todas as caixas em Diretivas da CSP.
    • Clique em Salvar e novo.
  6. Insira o Nome da API: ui_connector_wss
    • Insira o URL do endpoint do serviço do Cloud Run do conector de interface que você implantou com o back-end de integração do Assistente de IA. O URL está 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.
    • Marque todas as caixas em Diretivas da CSP.
    • Clique em Salvar e novo.
  7. Insira o Nome da API: salesforce_domain
    • Insira o URL do seu domínio do Salesforce no seguinte formato: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Marque todas as caixas em Diretivas da CSP.
    • Clique em Salvar.

Etapa 5: instalar o plug-in CTI do Twilio Flex

O Salesforce oferece o Salesforce Open CTI (em inglês) para permitir a integração de softphones de terceiros com sua instância do Salesforce.

O Twilio Flex CTI usa o Salesforce Open CTI para permitir que você use o Flex diretamente na sua instância do Salesforce. Siga as instruções da Twilio para configurar a CTI do Twilio Flex na sua instância do Salesforce.

Etapa 6: instalar o componente da Web do Salesforce Lightning

Siga estas etapas para usar o Editor do Lightning Experience e adicionar o componente da Web do Salesforce Lightning à página de contato em que o Twilio Flex CTI é aberto quando uma nova chamada é recebida.

  1. Navegue até o Console de serviços e selecione Contatos.
  2. Selecione um registro de contato.
  3. Clique no menu "Configuração" > Editar página.
  4. Clique em Modelo > Mudar.
    • Selecione Cabeçalho e Duas regiões iguais.
    • Clique em Próxima.
    • Mapeie cada região para uma nova região.
    • Clique em Concluído.
  5. Na barra lateral Componentes, mova o agentAssistContainerModule para a barra lateral. Observação: o comando npm deploy forneceu esse componente.
  6. 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 UI do usuário do back-end de integração. Por exemplo, um URL do console do Cloud Run, como: https://UI-CONNECTOR-ENDPOINT.GCP-REGION.run.app.
    • recursos: Recursos do Agent Assist a serem incluídos. Eles precisam estar ativados no seu perfil de conversa. Alguns recursos disponíveis incluem CONVERSATION_SUMMARIZATION, KNOWLEDGE_ASSIST_V2 e AGENT_COACHING. Alguns recursos, como SMART_REPLY, não estão disponíveis para voice-twilio.
    • channel: indica que a integração é para voz.
    • channelType: indica que o tipo de integração de voz é "twilio".
    • conversationProfile: o nome do recurso do perfil de conversa do Agent Assist. Por exemplo, projects/GCP-PROJECT-ID/locations/GCP-REGION/conversationProfiles/CONVERSATION-PROFILE-ID
    • consumerKey: a chave do cliente do app conectado da etapa 3.
    • consumerSecret: a chave secreta do consumidor do app conectado da etapa 3.

Etapa 7: testar a integração

Você pode testar a integração de voz com uma chamada de teste para a central de atendimento do Salesforce.

  1. Faça login no Twilio Flex pelo console de serviço do Salesforce.
  2. Ligue para seu número do Twilio Flex. Você anotou isso na etapa 1.
  3. No console de serviço do Salesforce, aceite a chamada. A tela vai abrir uma página de contato nova ou existente para o número que ligou.
  4. Se for uma nova página de contato, salve o contato. Quando a página de contato for carregada, o componente da Web do Salesforce Lightning vai aparecer na barra lateral.
  5. Teste os dois lados da conversa para garantir que os recursos do Assistente do agente estejam funcionando conforme a configuração.