Esta integración de voz usa la integración Open CTI de Twilio para incorporar un centro de llamadas de Twilio Flex a tu instancia de Salesforce.
Asistencia de agente usa el flujo multimedia de la llamada de Twilio Flex para proporcionar sugerencias a tus agentes en la consola de servicio de Salesforce Lightning.
Antes de empezar
Para integrar los módulos de la interfaz de usuario de Asistente con Salesforce, debe tener acceso a los siguientes recursos:
- Node.js Google ha probado y recomienda Node.js 18.20.4 con esta integración. Hay problemas de compatibilidad conocidos con Node.js 20.18.0. Para obtener instrucciones sobre cómo instalar versiones específicas de Node.js, consulta nvm.
- CLI de Salesforce. Instala la herramienta con el siguiente comando de terminal:
(sudo) npm install -g @salesforce/cli
- CLI de gcloud
Instala el comando
gcloud
siguiendo las instrucciones y autentícate con el siguiente código:gcloud auth login
- Interfaz de usuario de Salesforce
- Inicia sesión en la URL de tu instancia o en login.salesforce.com y ten en cuenta lo siguiente:
- La URL "Mi dominio" de Salesforce. Para encontrarlo, ve a la barra de menú > menú Configuración y haz clic en Configuración. Introduce una búsqueda de Búsqueda rápida para "Mi dominio". El nombre de dominio tiene el siguiente formato: MI-NOMBRE-DE-DOMINIO.develop.my.salesforce.com.
- Tu ID de organización de Salesforce. Para encontrarlo, ve a la barra de menú > Menú de configuración y haz clic en Configuración. Introduce una búsqueda de Búsqueda rápida para "Información de la empresa".
- Inicia sesión en la URL de tu instancia o en login.salesforce.com y ten en cuenta lo siguiente:
- Backend de la integración de Agent Assist
- Sigue las instrucciones para configurar la integración.
- Antes de ejecutar la secuencia de comandos de implementación, configura las siguientes variables de entorno con
deploy.sh
o en un archivo.env
en la raíz del proyecto:AUTH_OPTION
: asigna el valorSalesforceLWC
.SALESFORCE_DOMAIN
: un nombre de dominio comoYOUR_SUBDOMAIN.develop.lightning.force.com
. Has anotado este valor en el requisito previo de la interfaz de usuario de Salesforce. Ten en cuenta que no debes incluir https://.SALESFORCE_ORGANIZATION_ID
: Has anotado este valor en el requisito previo de la interfaz de usuario de Salesforce.
Paso 1: Configura Twilio Flex
Twilio Flex actúa como softphone en esta integración. Puedes iniciar sesión en la consola de Twilio para configurar una cuenta de Flex. Visita la página de configuración de Twilio para obtener instrucciones detalladas sobre cómo crear una cuenta de Flex.
Instalar el complemento del conector SIPREC
El complemento del conector SIPREC permite que tu cuenta de Twilio Flex cree bifurcaciones SIPREC de los flujos de contenido multimedia de las llamadas de voz para Asistente para agentes. Sigue estos pasos para instalar el complemento del conector SIPREC.
- Ve a Inicio de Twilio > Marketplace > Catálogo > Twilio > Siprec Connector.
- Haz clic en Instalar > la casilla de verificación de aceptación de los términos y condiciones > Instalar.
- En la pestaña Configurar, configura el complemento de la siguiente manera:
- Nombre único:
SipRec1
- Servidor de grabación de sesiones:
sip:+<GTP-provisioned-phone-number>@216.239.36.145:5672;transport=tls;secure=true;edge=umatilla
- Colabora con tu representante de Google para aprovisionar el número de GTP. Para ello, consulta la documentación general sobre la integración de telefonía, donde encontrarás más detalles sobre el proceso. Puedes ignorar los pasos de configuración y validación de SBC, ya que ya se han completado en el conector Twilio Siprec.
- Nombre único:
- Vaya a Inicio de Twilio > Funciones y recursos.
- Si Funciones y recursos no está visible en la barra lateral, fijarlo desde Explorar productos.
- Haz clic en Crear servicio.
- Asigna el nombre
ui-connector-auth
al nuevo servicio. - En el editor que aparece, haz clic en Añadir + > Añadir función.
- Asigna un nombre a la función
conversation-name
. - Haz clic en y cambia la visibilidad de la función a Pública.
- Copia y pega todo el contenido de
ui-connector-auth.js
del repositorio de GitHub en el editor. - Haz clic en Guardar.
- Haz clic en Desplegar todo.
Configurar una IVR con Flex Studio
La IVR consiste en configurar un flujo de llamadas programático con Studio de Twilio para bifurcar el flujo de medios de SIPREC a Asistente. También hace un post de HTTP para compartir el número de teléfono y el ID de conversación con Asistente para agentes. Sigue estos pasos para configurar la respuesta de voz interactiva con Flex Studio.
- Ve a la consola de Twilio.
- Haz clic en Desarrollar > Números de teléfono > Gestionar > Números activos. Debe haber una fila en la tabla con el número de Twilio predeterminado asignado a tu cuenta de Flex.
- En la sección Voz - Flujo de trabajo de Studio, haz clic en IVR de voz.
- Arrastra un widget Make HTTP Request (Hacer solicitud HTTP) al flujo.
- Desconecta Incoming Call de la entrada del widget SendCallToAgent.
- Conecta Llamada entrante a la entrada del widget Enviar solicitud HTTP.
- Configura el widget Hacer solicitud HTTP con los siguientes detalles:
- Nombre del widget:
register_twilio
- Método de solicitud:
POST
- URL de solicitud:
<your-ui-connector-cloud-run-url>.run.app/register-app
- Tipo de contenido: application/json
- Cuerpo de la solicitud:
{ "accountSid": "<yourTwilioAccountSid>", "authToken": "<yourTwilioAccountAuthToken>" }
- Nombre del widget:
- Arrastra un widget Ejecutar función al flujo.
- Conecta las salidas Success y Fail del widget register_twilio a la entrada del widget Run Function.
- Crea un widget con los siguientes detalles:
- Nombre del widget:
conversation_name
- Servicio:
ui-connector-auth
- Entorno:
ui
- Función:
conversation-name
- Parámetros de función:
- 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 }}
- token:
- Nombre del widget:
- Arrastra un widget Bifurcación de flujo de la barra lateral al flujo.
- Conecta las salidas Success y Fail del widget Make HTTP Request a la entrada del widget Fork Stream.
- Conecta el nodo Siguiente del widget Bifurcar flujo al widget SendCallToAgent.
Configura el widget Bifurcar flujo de la siguiente manera:
- Acción de la emisión: iniciar
- Tipo de flujo: Siprec
- Nombre del conector:
Siprec1
- Pistas: ambas pistas
Parámetros de emisión:
- Clave:
conversation
Valor:
projects/<gcp-project-id>/conversations/TW-{{trigger.call.From | replace_first:'+','' }}-{{trigger.call.CallSid}}
- Clave:
Haz clic en Guardar > Publicar.
Información de la cuenta
Sigue este paso para obtener los detalles de tu cuenta de Twilio Flex. Necesitará esta información para configurar Flex CTI en Salesforce más adelante.
- Ve a Inicio de Twilio > Panel de control de la cuenta y anota la siguiente información:
- SID de cuenta
- Mi número de teléfono de Twilio
Paso 2: Configura tu proyecto de desarrollo
Para empezar a integrar los módulos de la interfaz de usuario de Asistente, sigue estos pasos.
- Ejecuta el siguiente código para clonar el repositorio de integración de Asistente y abrir tu proyecto:
git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations cd salesforce/aa-lwc
- Ejecuta los siguientes comandos para descargar los archivos JavaScript de los módulos de la interfaz de usuario, que implementarás más adelante como recursos estáticos. Salesforce requiere que los recursos estáticos carguen JavaScript de terceros.
npm run generate-static-resources npm install
Paso 3: Configura tu entorno de Salesforce
Puedes integrar módulos de la interfaz de usuario de Asistente de agente en un entorno específico, como el de producción o el de desarrollo. Salesforce llama a estos entornos organizaciones.
Configurar tu organización con la CLI de Salesforce
Sigue estos pasos para usar la interfaz de línea de comandos de Salesforce y configurar tu organización para la integración de Asistente.
- Ejecuta el siguiente código y autentica la CLI con las credenciales de inicio de sesión de Salesforce que usas normalmente.
npm run login
- Ejecuta el siguiente código para implementar el LWC en la organización.
npm run deploy
Paso 4: Crea una aplicación conectada
El componente web de Salesforce Lightning usa el flujo de credenciales de cliente de OAuth 2.0 para autenticarte. Una aplicación conectada habilita el flujo de credenciales de cliente. Usa la clave de consumidor y el secreto de consumidor de la aplicación para configurar el componente web de Lightning y autenticar a los usuarios con Salesforce.
Configurar los ajustes básicos
- Ve a la barra de menú > Menú de configuración y haz clic en Configuración. Introduce la búsqueda Búsqueda rápida "Gestor de aplicaciones".
- Haz clic en Nueva aplicación conectada > Crear una aplicación conectada > Continuar y, a continuación, introduce la siguiente información.
- Nombre de la aplicación conectada:
lwc auth
- Nombre de la API:
lwc_auth
- Correo de contacto:
your_email@example.com
- Habilitar la configuración de OAuth:
checked
- URL de retrollamada:
https://login.salesforce.com/services/oauth2/callback
- Permisos de OAuth seleccionados: acceder al servicio de URL de identidad
- Habilitar el flujo de credenciales de cliente:
checked
- Nombre de la aplicación conectada:
- Haz clic en Guardar.
Para obtener más información sobre las aplicaciones conectadas, consulta los siguientes recursos de Salesforce.
- Configurar los ajustes básicos de la aplicación conectada
- Configurar una aplicación conectada para el flujo de credenciales de cliente de OAuth 2.0
Definir la autorización y las credenciales de ejecución
- Ve a la barra de menú > Menú de configuración y haz clic en Configuración.
- Introduce Búsqueda rápida y busca "Gestionar aplicaciones conectadas".
- Haz clic en el nombre de la aplicación conectada > Editar.
- Ve a Flujo de credenciales de cliente.
- En Ejecutar como, haz clic en la lupa y, a continuación, selecciona tu nombre de usuario.
- Haz clic en Guardar.
- Ve a la barra de menú > Menú de configuración y haz clic en Configuración.
- Introduce la búsqueda Búsqueda rápida "Gestor de aplicaciones".
- Busca
lwc auth
y haz clic en .- Haz clic en Ver > Gestionar detalles del consumidor.
- Introduce el código de verificación que se ha enviado a tu correo.
- Copia la clave de consumidor y el secreto de consumidor en un lugar seguro, ya que los necesitarás en un paso posterior.
Establecer políticas de seguridad de contenido y CORS
- Ve a la barra de menú > Menú de configuración y haz clic en Configuración.
- Introduce "CORS" en la búsqueda Búsqueda rápida y haz clic en Editar.
- Marca la opción Habilitar CORS para los endpoints de OAuth.
- Haz clic en Guardar.
- Ve a la barra de menú > Menú de configuración y haz clic en Configuración.
- En Búsqueda rápida, busca "URLs de confianza" y, a continuación, haz clic en Nueva URL de confianza.
- Introduce el nombre de la API:
ui_connector
- Introduce la URL del endpoint del servicio UI Connector Cloud Run que has implementado con tu backend de integración de Asistente. Puedes encontrar esta URL en la consola de Cloud Run. Por ejemplo:
https://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app
. - Marca todas las casillas de Directivas CSP.
- Haz clic en Guardar y crear.
- Introduce la URL del endpoint del servicio UI Connector Cloud Run que has implementado con tu backend de integración de Asistente. Puedes encontrar esta URL en la consola de Cloud Run. Por ejemplo:
- Introduce el nombre de la API:
ui_connector_wss
- Introduce la URL del endpoint del servicio UI Connector Cloud Run que has implementado con tu backend de integración de Asistente. Puedes encontrar esta URL en la consola de Cloud Run. Cambia el protocolo a wss para el tráfico de WebSockets. Por ejemplo:
wss://UI_CONNECTOR_SUBDOMAIN.GCP-REGION.run.app
. - Marca todas las casillas de Directivas CSP.
- Haz clic en Guardar y crear.
- Introduce la URL del endpoint del servicio UI Connector Cloud Run que has implementado con tu backend de integración de Asistente. Puedes encontrar esta URL en la consola de Cloud Run. Cambia el protocolo a wss para el tráfico de WebSockets. Por ejemplo:
- Introduce el nombre de la API:
salesforce_domain
- Introduce la URL de tu dominio de Salesforce con el siguiente formato:
https://YOUR_SUBDOMAIN.my.salesforce.com
. - Marca todas las casillas de Directivas CSP.
- Haz clic en Guardar.
- Introduce la URL de tu dominio de Salesforce con el siguiente formato:
Paso 5: Instala el complemento CTI de Twilio Flex
Salesforce ofrece Salesforce Open CTI para permitir la integración de softphones de terceros con tu instancia de Salesforce.
CTI de Twilio Flex usa Salesforce Open CTI para que puedas usar Flex directamente en tu instancia de Salesforce. Sigue las instrucciones de Twilio para configurar Twilio Flex CTI en tu instancia de Salesforce.
Paso 6: Instala el componente web Lightning de Salesforce
Sigue estos pasos para usar el editor de Lightning Experience y añadir el componente web de Lightning de Salesforce a la página de contacto en la que se abre tu CTI de Twilio Flex cuando entra una llamada nueva.
- Ve a la consola de servicios y selecciona Contactos.
- Selecciona un registro de contacto.
- Haz clic en el menú de configuración > Editar página.
- Haz clic en Plantilla > Cambiar.
- Selecciona Encabezado y Dos regiones iguales.
- Haz clic en Siguiente.
- Asigna cada región a una nueva región.
- Haz clic en Listo.
- En la barra lateral Componentes, mueva el
agentAssistContainerModule
a la barra lateral. Nota: El comandonpm deploy
ha proporcionado este componente. - Haga clic en el componente que ha colocado en el paso anterior y rellene los campos del formulario de la siguiente manera para añadir los detalles de configuración.
- endpoint: la URL del conector de interfaz de usuario de tu backend de integración. Por ejemplo, una URL de la consola de Cloud Run, como
https://UI-CONNECTOR-ENDPOINT.GCP-REGION.run.app
. - features: Funciones de Asistente del agente que se van a incluir. Deben estar habilitadas en tu perfil de conversación. Entre las funciones disponibles se incluyen
CONVERSATION_SUMMARIZATION
,KNOWLEDGE_ASSIST_V2
yAGENT_COACHING
. Ten en cuenta que algunas funciones, comoSMART_REPLY
, no están disponibles paravoice-twilio
. - channel: indica que la integración es para voz.
- channelType: indica que el tipo de integración de voz es twilio.
- conversationProfile nombre del recurso de tu perfil de conversación de Agent Assist. Por ejemplo,
projects/GCP-PROJECT-ID/locations/GCP-REGION/conversationProfiles/CONVERSATION-PROFILE-ID
- consumerKey la clave de consumidor de la aplicación conectada del paso 3.
- consumerSecret el secreto de consumidor de la aplicación conectada del paso 3.
- endpoint: la URL del conector de interfaz de usuario de tu backend de integración. Por ejemplo, una URL de la consola de Cloud Run, como
Paso 7: Prueba la integración
Puedes probar la integración de voz con una llamada de prueba al centro de llamadas de Salesforce.
- Inicia sesión en Twilio Flex desde tu consola de servicio de Salesforce.
- Llama a tu número de Twilio Flex. Lo has anotado en el paso 1.
- En la consola de servicio de Salesforce, acepta la llamada. En la pantalla se abrirá una página de contacto nuevo o ya creado con el número que ha llamado.
- Si se trata de una página de contacto nueva, guarda el contacto. Cuando se cargue la página de contacto, el componente web Lightning de Salesforce debería cargarse en la barra lateral.
- Prueba ambas partes de la conversación y asegúrate de que las funciones de Asistencia del agente funcionan como las has configurado.