Automatizar las asignaciones de enrutamiento de casos de Salesforce


En este instructivo, se describe un caso de uso sobre cómo puedes usar Application Integration para automatizar el flujo del proceso empresarial de enrutamiento y la asignación de un caso de cliente de Salesforce.

Descripción general

En este instructivo, crearás una integración que use un activador de Salesforce para suscribirse a un canal de casos en Salesforce. Un caso nuevo en Salesforce invoca la integración, que extrae el ID y el tipo de caso. Según el tipo de caso, se crea un problema o incidente nuevo en Jira Cloud o ServiceNow, respectivamente.

Diagrama de flujo del caso de Salesforce Diagrama de flujo del caso de Salesforce

Objetivos

En este instructivo, se muestra cómo completar las siguientes tareas en tu integración:

  • Configura el activador de Salesforce para invocar tu integración.
  • Agregar y configurar tareas de conectores para las conexiones de Salesforce, Jira Cloud y ServiceNow.
  • Agregar y configurar tareas de asignación de datos para extraer y asignar detalles del caso

Costos

En este instructivo, usarás los siguientes componentes facturables de Google Cloud:

Las instrucciones de este instructivo se diseñaron para mantener el uso de recursos dentro de los límites del nivel Siempre gratuito de Google Cloud.

Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.

Antes de comenzar

  1. Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  4. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga los siguientes roles a la cuenta de servicio: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Para otorgar un rol, busca la lista Selecciona un rol y, luego, selecciona el rol.

      Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.

  7. Crear una cuenta de servicio:

    1. En la consola de Google Cloud, ve a la página Crear cuenta de servicio.

      Ve a Crear cuenta de servicio
    2. Elige tu proyecto.
    3. Ingresa un nombre en el campo Nombre de cuenta de servicio. La consola de Google Cloud completa el campo ID de cuenta de servicio en función de este nombre.

      Opcional: en el campo Descripción de la cuenta de servicio, ingresa una descripción. Por ejemplo, Service account for quickstart.

    4. Haz clic en Crear y continuar.
    5. Otorga los siguientes roles a la cuenta de servicio: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      Para otorgar un rol, busca la lista Selecciona un rol y, luego, selecciona el rol.

      Para otorgar roles adicionales, haz clic en Agregar otro rol y agrega cada rol adicional.

    6. Haga clic en Continuar.
    7. Haz clic en Listo para terminar de crear la cuenta de servicio.

Prepare el entorno

Verifica la configuración del usuario de Salesforce

En este instructivo, se supone que tienes una cuenta de desarrollador de Salesforce existente con la configuración del usuario y el conjunto de permisos necesarios. Verifica que tu cuenta tenga habilitada la captura de datos modificados (CDC). Si deseas obtener información para crear una cuenta nueva, consulta Cómo configurar un usuario de integración.

Verifica la cuenta de Jira Cloud

En este instructivo, se usa Jira Cloud. Puedes usar tu cuenta existente de Jira Cloud o crear una nueva. Verifica que tu proyecto y los tableros de Jira Cloud estén configurados. Para obtener más información sobre Jira Cloud, consulta la documentación del software Jira.

Verifica la instancia de ServiceNow

En este instructivo, se usa una instancia de desarrollador personal (PDI) gratuita de ServiceNow. Puedes usar tu instancia de ServiceNow existente o crear una nueva. Verifica que la instancia esté activa y anota su URL. Para obtener más información sobre la PDI, consulta la documentación de PDI de ServiceNow.

Configurar conexiones

Para este instructivo, debes configurar las siguientes conexiones en Integration Connectors:

Conexión de Salesforce
Configura una conexión de Salesforce en Integration Connectors. Para obtener información sobre la configuración de un conector de Salesforce, consulta Conector de Salesforce.
Conexión de Jira Cloud
Configura una conexión de Jira Cloud en Integration Connectors con la URL de tu proyecto para crear problemas de Jira en tu proyecto. Asegúrate de anotar el ID del proyecto y el ID del problema. Para obtener información sobre cómo configurar un conector de Jira Cloud, consulta Conector de Jira Cloud.
Conexión de ServiceNow
Configura una conexión de ServiceNow en Integration Connectors con la URL de tu instancia para crear incidentes en ServiceNow. Para obtener información sobre cómo configurar un conector de ServiceNow, consulta Conector de ServiceNow.

Crear integración

Para crear una integración nueva, sigue estos pasos:

  1. En la consola de Google Cloud, ve a la página Application Integration.

    Ir a Application Integration

  2. En el menú de navegación, haz clic en Integraciones. Aparecerá la página Integrations List.
  3. Haz clic en Create integration y proporciona los siguientes detalles en la página Create Integration:
    1. Nombre de la integración: Ingresa salesforce-case-integration.
    2. Descripción: Ingresa Demo integration created for tutorial.
    3. Región: Selecciona us-central1 de la lista de regiones compatibles.
    4. Haz clic en Crear para abrir el editor de integración.

Configura el activador de integración

Una vez que hayas creado correctamente tu integración, puedes agregar y configurar un activador de integración que invoque la integración para un evento identificado.

En este instructivo, se usa un activador de Salesforce para invocar la integración de cada caso nuevo que se crea en Salesforce. Para agregar y configurar un activador de Salesforce en tu integración de salesforce-case-integration, haz lo siguiente:

  1. En el editor de integración, haz clic en Activadores para ver una lista de los activadores disponibles.
  2. Haz clic y coloca el elemento Activador de Salesforce en el editor de integración.
  3. Selecciona el elemento Activador de Salesforce en el lienzo del diseñador para abrir el panel de configuración del activador de Salesforce.
  4. Configura los siguientes campos en Entrada de activador:
    1. Tipo de evento: Selecciona Cambiar captura de datos (CDC) de la lista desplegable.
    2. Configuración de instancia de Salesforce: Haz clic en la opción + Agregar nueva configuración de instancia de Salesforce de la lista desplegable.

      En el diálogo Agregar configuración de instancia de Salesforce, haz lo siguiente:

      • Nombre de conexión de la instancia de Salesforce: ingresa un nombre de conexión para la instancia de Salesforce. Por ejemplo, test
      • Dominio de Salesforce: Ingresa el nombre de dominio de Salesforce. Puedes encontrar esta información en la página Cuenta de Salesforce > Ver perfil.
      • Perfil de autenticación: Selecciona un perfil de autenticación. Si no tienes un perfil de autenticación, crea uno nuevo. Para obtener más información, consulta Crea un perfil de autenticación nuevo.
      • Haz clic en Agregar.
    3. Configuración del canal de Salesforce: Haz clic en la opción + Agregar nueva configuración del canal de Salesforce de la lista desplegable.

      En el cuadro de diálogo Agregar un canal de Salesforce, sigue estos pasos:

      • Nombre del objeto de Salesforce: ingresa Case.
      • Haz clic en Agregar.
    4. Operación: Selecciona Crear en la lista desplegable.
    5. Los cambios en las propiedades se guardan de forma automática.

Asigna la carga útil del activador al conector de Salesforce

Cuando se invoca la integración con el activador de Salesforce, debes extraer el ID del caso y asignarlo a un conector de Salesforce para recuperar detalles adicionales del caso.

Cómo conectarse a la cuenta de Salesforce

Sigue estos pasos para agregar y configurar una tarea de Conectores para recuperar los detalles del caso mediante la conexión de Salesforce:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el editor de integración.
  3. Selecciona el elemento de la tarea Conectores en el diseñador para ver el panel de configuración de tareas de conectores.
  4. Haz clic en y cambia el nombre de la etiqueta Conectores a Fetch Salesforce Data.
  5. Haz clic en Configurar conector.
  6. Haz lo siguiente en la página Editor de tareas de conectores:
    1. En Seleccionar conexión, elige la región us-central1.
    2. Selecciona tu conexión de Salesforce en la lista de conexiones disponibles.
    3. Haz clic en Siguiente.
    4. En Tipo, elige Entidades.
    5. En Establecer entidades/acciones, selecciona Caso en la lista de entidades disponibles y, luego, selecciona Obtener como la Operación.
    6. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Extraer y mapear el ID del caso

Una tarea de Asignación de datos se utiliza para asignar y extraer los detalles del caso entre ese activador de Salesforce y el conector de Salesforce.

Para agregar y configurar la asignación de datos en tu integración, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Selecciona el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Get Case ID.
  5. Haz clic en Abrir editor de asignación de datos.

    El Editor de asignación de datos te permite asignar variables de entrada a las variables de salida deseadas con las funciones de transformación disponibles. Entonces, el resultado está disponible como una variable para cualquier otra tarea o activador de integración. Para obtener más detalles sobre la asignación de variables, consulta Agrega una asignación.

  6. Asigna el activador (SalesforceTriggerCdcRecordID), que es la variable de salida, al conector generado automáticamente (entityId(Fetch Salesforce Data)), que es la variable de entrada.

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  7. Agrega una conexión perimetral desde el activador de Salesforce a la tarea Obtener ID del caso.
  8. Agrega una conexión perimetral desde la tarea Obtener ID del caso al conector Recuperar datos de Salesforce.

Extraer tipo de caso

Una vez que recuperes todos los detalles del caso del conector de Salesforce, debes extraer el tipo de caso y enrutarlo a la aplicación Jira Cloud o ServiceNow.

Para extraer el tipo de caso de Salesforce, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Get case type.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Haz clic en + Agregar nueva variable y crea la siguiente variable de resultado:
    Nombre de la variable de resultado Tipo de datos
    sf_case_type STRING
  7. Crea la siguiente asignación entre la variable de carga útil del conector de Salesforce y la variable local:
    Entrada Salida
    
    connectorOutputPayload (Fetch Salesforce Data)
    .GET_PROPERTY("Type")
                
    sf_case_type

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  8. Agrega una conexión perimetral desde el conector Recuperar datos de Salesforce a la tarea Obtener tipo de caso.

Crear un nuevo problema de Jira

Una vez que hayas extraído el tipo de caso de Salesforce, y si es del tipo Engineering, entrégalo a Jira Cloud como un problema nuevo.

Conectar al proyecto de Jira

Sigue estos pasos para configurar una tarea de Conectores que cree un problema nuevo en tu proyecto de Jira:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el editor de integración.
  3. Haz clic en el elemento de tarea Conectores en el diseñador para ver el panel de configuración de tarea de Conectores.
  4. Haz clic en y cambia el nombre de los Conectores a Create issue in Jira.
  5. Haz clic en Configurar conector.
  6. Haz lo siguiente en la página Editor de tareas de conectores:
    1. En Seleccionar conexión, elige la región us-central1.
    2. Selecciona tu conexión de Jira Cloud de la lista de conexiones disponibles.
    3. Haz clic en Siguiente.
    4. En Tipo, elige Entidades.
    5. En Establecer entidades/acciones, selecciona Problemas en la lista de entidades disponibles y, luego, Crear como la Operación.
    6. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Detalles del problema de transformación y asignación

Para transformar los detalles del caso y asignarlos a un problema de Jira, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Mapping for issue creation.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Haz clic en + Agregar nueva variable y crea las siguientes variables:
    Nombre de la variable Tipo de datos Valor predeterminado
    jira_project-id STRING
    
    JIRA_PROJECT_ID
    Reemplaza JIRA_PROJECT_ID por el ID de tu proyecto de Jira.
    jira_issue_type_id STRING
    
    JIRA_ISSUE_TYPE_ID
    Reemplaza JIRA_ISSUE_TYPE_ID por cualquiera de los siguientes ID de tipo de problema:
    • 1000: para Epic
    • 1001: para Story
    • 1002: para Task
    • 1003, para subtarea
    • 1004: para Error
  7. Crea la siguiente asignación:
    Entrada Salida
    
    "{ "IssueTypeId": jira_issue_type_id, "ProjectId": jira_project_id }"
    .TO_JSON()
    .SET_PROPERTY(
    connectorOutputPayload.Description (Fetch Salesforce Data),
    "Description"
    )
    .SET_PROPERTY(
    connectorOutputPayload.Subject (Fetch Salesforce Data),
    "Summary"
    )
                 
    connectorInputPayload (Create issue in Jira)

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  8. Agrega una conexión perimetral desde la tarea Asignación para la creación de problemas al conector Crear un problema en Jira.

Crear un nuevo incidente de ServiceNow

Si el caso extraído de Salesforce es del tipo Sales, entrégalo a ServiceNow como un incidente nuevo.

Conéctate a ServiceNow

Sigue estos pasos para configurar una tarea de conectores que cree un incidente nuevo en tu instancia de ServiceNow:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Conectores en el editor de integración.
  3. Haz clic en el elemento de tarea Conectores en el diseñador para ver el panel de configuración de tarea de Conectores.
  4. Haz clic en y cambia el nombre de los Conectores a Create incident in ServiceNow.
  5. Haz clic en Configurar conector.
  6. Haz lo siguiente en la página Editor de tareas de conectores:
    1. En Seleccionar conexión, elige la región us-central1.
    2. Selecciona tu conexión de ServiceNow en la lista de conexiones disponibles.
    3. Haz clic en Siguiente.
    4. En Tipo, elige Entidades.
    5. En Establecer entidades/acciones, selecciona incident en la lista de entidades disponibles y, luego, Crear como la Operación.
    6. Haz clic en Listo para completar la configuración de conexión y cerrar el panel.

Transforma y asigna detalles de incidentes

Para transformar los detalles del caso y asignarlos a un incidente de ServiceNow, haz lo siguiente:

  1. En el editor de integración, haz clic en Tasks para mostrar una lista de las tareas disponibles.
  2. Haz clic y coloca el elemento Asignación de datos en el editor de integración.
  3. Haz clic en el elemento Asignación de datos en el diseñador para ver el panel de configuración de tareas.
  4. Haz clic en y cambia el nombre de la tarea Asignación de datos a Mapping for incident creation.
  5. Haz clic en Abrir editor de asignación de datos.
  6. Haz clic en + Agregar nueva variable y crea las siguientes variables de entrada:
  7. Crea la siguiente asignación:
    Entrada Salida
    
    "{}"
    .TO_JSON()
    .SET_PROPERTY(
    connectorOutputPayload.Description (Fetch Salesforce Data),
    "description"
    )
    .SET_PROPERTY(
    connectorOutputPayload.Subject (Fetch Salesforce Data),
    "short_description"
    )
                 
    connectorInputPayload (Create incident in ServiceNow)

    Una vez que hayas completado la asignación, cierra el panel. Los cambios se guardarán automáticamente.

  8. Agrega una conexión perimetral desde la tarea Asignación para la creación de incidentes al conector Crear incidente en ServiceNow.

Agregar condición perimetral

Una condición perimetral te permite especificar las condiciones que se deben cumplir para que el control de una integración pase a la tarea conectada por el perímetro. Ahora que agregaste y configuraste las tareas requeridas, puedes agregar una condición perimetral para definir el flujo de la integración.

La siguiente condición perimetral controla el flujo de la integración según el tipo de caso de Salesforce:

  1. Agrega una conexión perimetral de la tarea Obtener tipo de caso a la tarea Asignación para la creación de problemas con la siguiente condición perimetral:
      $sf_case_type$ = "Engineering"
  2. Agrega otra conexión perimetral de la tarea Obtener tipo de caso a la tarea Asignación para la creación de incidentes con la siguiente condición perimetral:
      $sf_case_type$ = "Sales"

Flujo de integración de muestra

En la siguiente figura, se muestra un ejemplo de diseño de la integración que se creó con este instructivo.

Imagen de muestra en la que se muestra el flujo de integración Imagen de muestra en la que se muestra el flujo de integración

Publica y prueba la integración

Para publicar la integración, haz clic en Publicar en la barra de herramientas del editor de integración.

Una vez que publiques tu integración de forma correcta, podrás ver e inspeccionar los registros de ejecución de la integración publicada. Para ver los registros, haz clic en Imagen que muestra el ícono para los registros de ejecuciónVer registros de ejecución de esta integración. Aparecerá la página Registros de ejecución.

Caso de prueba 1: Para verificar si se creó un problema de Jira para un caso de ingeniería

Para probar la integración, accede a la instancia de Salesforce y crea un caso nuevo. Debes ingresar Engineering en el campo Type mientras creas el caso.

Para verificar el éxito de la integración, haz lo siguiente:

Ve a tu cuenta de Jira Cloud.

  • Comprueba si se crea un problema nuevo en tu proyecto que contenga la descripción y el resumen del caso de Salesforce.

Caso de prueba 2: Verifica si se creó un incidente de ServiceNow para un caso de ventas

Para probar la integración, accede a la instancia de Salesforce y crea un caso nuevo. Debes ingresar Sales en el campo Type mientras creas el caso.

Para verificar el éxito de la integración, haz lo siguiente:

Ve a tu instancia de ServiceNow.

  • Comprueba si se crea un incidente nuevo en tu instancia que contenga la descripción y el resumen del caso de Salesforce.

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en este instructivo, anula la publicación de la integración y borra las conexiones creadas en Integration Connectors.

  • Para anular la publicación de esta integración, haz clic en Anular publicación en la barra de herramientas del editor de integración. Consulta Cómo borrar integraciones para obtener más información.
  • Si deseas obtener información para borrar una conexión, consulta Administra conectores.