Integración de voz de Salesforce con NiCE CXone

Arquitectura de la integración de Asistente para agentes y NiCE CXone con Salesforce

Esta integración de voz usa la aplicación de Salesforce NiCE CXone Agent for Service Cloud Voice (BYOT) para permitir que tus agentes acepten llamadas de NiCE CXone en Salesforce Service Cloud Voice.

Asistencia de agente usa el flujo de llamadas de voz de NiCE CXone Agent Assist Hub 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, necesitas acceso a los siguientes recursos:

  • Node.js sigue las instrucciones de instalación recomendadas para tu sistema operativo.

  • CLI de Salesforce: sigue las instrucciones de instalación recomendadas para tu sistema operativo.

  • CLI de Google Cloud: instala el comando gcloud como se indica y autentícate con gcloud auth login.

  • Salesforce inicia sesión en la URL de tu instancia o en la página de inicio de sesión de Salesforce y anota lo siguiente:

    • La URL Mi dominio de Salesforce. Sigue estos pasos para encontrar la URL de Mi dominio:
      1. Ve a la barra de menú > menú Configuración.
      2. Haz clic en Configurar.
      3. En el cuadro Búsqueda rápida, introduce Mi dominio. El nombre de dominio tiene el siguiente formato: MY-DOMAIN-NAME.develop.my.salesforce.com.
    • Tu ID de organización de Salesforce. Sigue estos pasos para encontrar el ID de la organización:
      1. Ve a la barra de menú > menú Configuración.
      2. Haz clic en Configurar.
      3. En el cuadro Búsqueda rápida, introduce Información de la empresa. Nota: Estos pasos de integración se han probado únicamente con la edición Developer de Salesforce. Si usas otra edición, puede que haya diferencias en las licencias de las funciones y en la interfaz de Salesforce.
  • Backend de la integración de Agent Assist

    1. Sigue las instrucciones para configurar la integración.
    2. 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 valor SalesforceLWC.
      • SALESFORCE_DOMAIN: un nombre de dominio similar a YOUR_SUBDOMAIN.develop.lightning.force.com. Has anotado este valor en el requisito previo de Salesforce. No incluyas https://.
      • SALESFORCE_ORGANIZATION_ID: Has indicado este valor en el requisito previo de Salesforce.
  • Una instancia de NICE CXone

  • Una licencia del complemento NiCE CXone Agent Assist Hub: el complemento NiCE CXone Agent Assist Hub permite que tu instancia de NiCE CXone envíe flujos multimedia de llamadas de voz a Agent Assist de Google Cloud. NiCE CXone es un producto con licencia. Para obtener más información, consulta la documentación del centro de asistencia de agentes de NiCE CXone.

Paso 1: Configura NiCE CXone Studio y NiCE CXone Agent Assist Hub

En este paso se describe toda la configuración necesaria en tu instancia de NiCE CXone.

Configurar el flujo de llamadas con NiCE CXone Studio

En este paso, configurarás un flujo de llamadas programático con NiCE CXone Studio para dirigir las llamadas entrantes a tus agentes y enviar los flujos multimedia de las llamadas a Agent Assist. Configura este flujo de llamadas con los siguientes activadores y acciones de NiCE CXone Studio, en este orden:

  1. Inicia sesión en la consola de NiCE CXone.
  2. Abre el menú Aplicaciones ().
  3. Abre Enrutamiento omnicanal > Studio.
  4. En la página de Studio, crea una nueva secuencia de comandos.

Configure este flujo de llamadas con los siguientes activadores y acciones de NiCE CXone Studio:

  1. Inicio: Este activador se activa cuando recibes una llamada en tu número de teléfono de NiCE Point of Contact (POC).
  2. Reqagent: Esta acción envía la llamada a una skill específica. Selecciona la habilidad asociada a los agentes que quieras que reciban llamadas.
  3. Música: Esta acción reproduce música de espera.
  4. Esperar: Esta acción suspende el flujo hasta que se activa otro activador.

Por otra parte, pero en el mismo flujo de Studio, configura lo que ocurre cuando un agente responde a la llamada entrante.

  1. Onanswer: Este activador se activa cuando un agente de la skill
  2. Ziptone: Reproduce un pitido cuando un agente coge el teléfono en un escritorio de agente de NiCE CXone (como el softphone NiCE CXone Agent para Service Cloud Voice [BYOT]).
  3. Asistencia del agente: esta acción se encarga de crear una conversación y enviar los flujos multimedia de una llamada entrante a Dialogflow para que los módulos LWC de la interfaz de usuario de Asistencia del agente puedan renderizar la transcripción y las sugerencias de Asistencia del agente (como PGKA, GKA y Asesoramiento con IA) en Salesforce. Consulta la documentación de esta integración para obtener información sobre la configuración. Nota: Para completar este paso, debes tener un perfil de conversación preconfigurado.

También puedes configurar Asistente para llamadas para las llamadas salientes. La integración requiere que se active la acción Asistencia del agente cuando la persona que recibe la llamada responde a una llamada saliente. Aunque la implementación exacta depende de tu configuración, normalmente puedes hacerlo en tu secuencia de comandos usando la acción Placecall para iniciar la llamada y conectando la acción Asistencia del agente a la rama OnAnswer de Placecall. Consulta la documentación de ayuda de NiCE CXone Studio para obtener más información sobre Placecall, Onanswer y Asistencia del agente.

Anota los detalles de la cuenta de NICE CXone

Sigue este paso para obtener los detalles de tu cuenta de NiCE CXone. Necesitará esta información para configurar el agente de NiCE CXone para Service Cloud Voice (BYOT) en Salesforce más adelante.

  • Anota el número de tu unidad de negocio de NiCE de la consola de NiCE CXone. En tu proyecto de Salesforce (que clonarás en un paso posterior), en ServiceCloudVoicePlatformService.js, actualiza CONFIG.niceBusNo para que refleje tu número de unidad de negocio de NiCE. De esta forma, los módulos LWC de la interfaz de usuario de Asistente de agente podrán determinar el nombre de la conversación que crea el centro de Asistente de agente de NiCE CXone (consulta el método generateNiCEConversationName en el mismo archivo para obtener más información).
  • Anota el número de teléfono de tu persona de contacto de NiCE en la consola de NiCE CXone. Este es el número al que llamarán tus clientes para hablar con tus agentes y que usarás para probar esta integración de Asistente.

Paso 2: Configura tu proyecto de desarrollo de Salesforce

Para empezar a integrar los módulos de la interfaz de usuario de Asistente, sigue estos pasos.

  1. Ejecuta el siguiente código para clonar el repositorio de integración de Agent Assist y abrir tu proyecto:

    git clone https://github.com/GoogleCloudPlatform/agent-assist-integrations
    cd salesforce/aa-lwc
    
  2. Ejecuta los siguientes comandos para descargar los archivos JavaScript de los módulos de la interfaz de usuario, que desplegará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
    
  3. Actualiza ServiceCloudVoicePlatformService.js con el número de la unidad de negocio de NiCE que has anotado en un paso 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.
    };
    

Paso 3: Configura tu entorno de Salesforce

Puedes integrar módulos de la interfaz de usuario de Asistente en un entorno específico, como el de producción o el de desarrollo. Salesforce llama a estos entornos organizaciones (orgs).

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 con Asistente.

  1. 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
    
  2. Ejecuta el siguiente código para implementar el LWC en la organización.

    npm run deploy
    

Paso 4: Crea una aplicación cliente externa

El LWC de Salesforce usa el flujo de credenciales de cliente de OAuth 2.0 para autenticarte. Una aplicación cliente externa permite 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 ligero (LWC) de Salesforce y autenticar a los usuarios con Salesforce.

  1. Ve a la barra de menú > menú Configuración y, a continuación, haz clic en Configuración.
  2. En el cuadro Búsqueda rápida, introduce Gestor de aplicaciones cliente externas.
  3. Haz clic en Gestor de aplicaciones de cliente externas > Nueva aplicación de cliente externa > Crear y, a continuación, introduce la siguiente información.
    • Nombre de la aplicación de cliente externa: lwc auth
    • Nombre de la API: lwc_auth
    • Correo de contacto: your_email@example.com
    • API (Enable OAuth Settings) > Enable OAuth: Selected (API [Habilitar ajustes de OAuth] > Habilitar OAuth: seleccionado)
    • API (Enable OAuth Settings) > Callback URL (API [Habilitar ajustes de OAuth] > URL de retrollamada): https://login.salesforce.com/services/oauth2/callback
    • API (Habilitar ajustes de OAuth) > Permisos de OAuth seleccionados: accede al servicio de URL de identidad.
    • API (Enable OAuth Settings) > Enable Client Credentials Flow (API [Habilitar ajustes de OAuth] > Habilitar flujo de credenciales de cliente): seleccionado
  4. Haz clic en Crear.
  5. Ve a la barra de menú > menú Configuración y, a continuación, haz clic en Configuración.
  6. En el cuadro Búsqueda rápida, introduce Gestor de aplicaciones cliente externas.
  7. Haz clic en el nombre de tu aplicación cliente externa > Editar.
  8. Ve a OAuth Policies > OAuth Flows and External Client App Enhancements.
  9. Asegúrate de que la opción Habilitar flujo de credenciales de cliente esté seleccionada.
  10. En Ejecutar como, introduce tu nombre de usuario de inicio de sesión.
  11. Haz clic en Guardar.
  12. Ve a la barra de menú > menú Configuración y, a continuación, haz clic en Configuración. En el cuadro Búsqueda rápida, introduce Gestor de aplicaciones cliente externas.
  13. Haz clic en el nombre de tu aplicación cliente externa > Editar.
  14. Ve a Configuración de OAuth > Configuración de la aplicación > Clave y secreto del consumidor.
  15. Introduce el código de verificación que se ha enviado a tu correo.
  16. Copia la clave y el secreto del consumidor en un lugar seguro. Necesitarás estos datos más adelante.

Establecer políticas de seguridad de contenido y CORS

  1. Ve a la barra de menú > menú Configuración y, a continuación, haz clic en Configuración.
  2. En el cuadro Búsqueda rápida, introduce CORS y, a continuación, haz clic en Editar.
    1. Selecciona Habilitar CORS para los endpoints de OAuth.
    2. Haz clic en Guardar.
  3. Ve a la barra de menú > menú Configuración y, a continuación, haz clic en Configuración.
  4. En el cuadro Búsqueda rápida, introduce URLs de confianza y, a continuación, haz clic en Nueva URL de confianza.
  5. Introduzca la siguiente información:
    • Nombre de la API: ui_connector
    • URL: introduce la URL del endpoint del servicio Cloud Run de UI Connector 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.
    • Directivas de CSP: selecciona todas las casillas.
    • Haz clic en Guardar y crear.
  6. Introduzca la siguiente información:
    • Nombre de la API: ui_connector_wss
    • URL: introduce la URL del endpoint del servicio Cloud Run del conector de interfaz de usuario que has desplegado 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.
    • Directivas de CSP: marca todas las casillas.
    • Haz clic en Guardar y crear.
  7. Introduzca la siguiente información:
    • Nombre de la API: salesforce_domain
    • URL: introduce la URL de tu dominio de Salesforce con el siguiente formato: https://YOUR_SUBDOMAIN.my.salesforce.com.
    • Directivas de CSP: marca todas las casillas.
    • Haz clic en Guardar.

Paso 5: Instala NiCE CXone Agent para Service Cloud Voice (BYOT)

Salesforce proporciona la licencia del complemento Service Cloud Voice, que permite integrar softphones de terceros con tu instancia de Salesforce. NiCE CXone ofrece un complemento de Service Cloud Voice llamado NiCE CXone Agent for Service Cloud Voice (BYOT). Sigue la documentación de NiCE para configurar NiCE CXone Agent para Service Cloud Voice (BYOT) en tu instancia de Salesforce con SCV habilitado.

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 NiCE CXone Agent para Service Cloud Voice (BYOT) cuando entra una llamada nueva.

  1. Ve a la consola de servicios.
  2. Inicia sesión en NiCE CXone Agent para Service Cloud Voice (BYOT) en la barra de utilidades.
  3. Llama al número de contacto de NiCE asociado a la cuenta de NiCE con la que has iniciado sesión.
  4. Acepta la llamada entrante. Debería abrirse una nueva pestaña de registro de llamadas de Voice.
  5. Haz clic en el menú Configuración > Editar página.
  6. Haz clic en Plantilla > Cambiar.
    1. Selecciona Encabezado y Dos regiones iguales.
    2. Haz clic en Siguiente.
    3. Asigna cada región a una nueva región.
    4. Haz clic en Listo.
  7. En la barra lateral Componentes, mueva agentAssistContainerModule a la barra lateral. Nota: El comando npm deploy ha proporcionado este componente.
  8. 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 de tu conector de interfaz de usuario de backend de integración de agente, como una URL de la consola de Cloud Run, por ejemplo: https://UI_CONNECTOR_ENDPOINT.GCP_REGION.run.app
    • Funciones: Funciones de Asistente para agentes habilitadas en tu perfil de conversación, como CONVERSATION_SUMMARIZATION, KNOWLEDGE_ASSIST_V2 y AGENT_COACHING. Ten en cuenta que algunas funciones, como SMART_REPLY, no están disponibles para voice.
    • channel: indica que la integración es voice.
    • Plataforma: indica que la plataforma es servicecloudvoice-nice.
    • 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 cliente externa del paso 4.
    • consumerSecret el secreto de consumidor de la aplicación cliente externa del paso 4.

Paso 7: Prueba la integración

Puedes probar la integración de voz haciendo una llamada de prueba al centro de llamadas de Salesforce.

  1. Inicia sesión en NiCE CXone Agent para Service Cloud Voice (BYOT) desde el widget Omnicanal de la barra de utilidades de la consola de servicio.
  2. Llama al número de tu contacto de Nice CXone. Puedes encontrarlo en la consola de NiCE CXone.
  3. En tu consola de servicio, acepta la llamada entrante. En la pantalla se debería abrir un nuevo registro de llamada de voz.
  4. En el registro de llamadas de Voice, el componente web Lightning de Salesforce debería cargarse en la barra lateral.
  5. Prueba ambas partes de la conversación y asegúrate de que la transcripción y las funciones de Asistencia del agente funcionan tal como las has configurado en tu perfil de conversación en la consola de Asistencia del agente.