Automatizar las asignaciones de enrutamiento de casos de Salesforce


En este tutorial se describe un caso práctico sobre cómo puedes usar Application Integration para automatizar el flujo del proceso empresarial de enrutamiento y asignación de un caso de cliente de Salesforce.

Información general

En este tutorial, crearás una integración que usa un activador de Salesforce para suscribirse a un canal de caso en Salesforce. Cuando se crea un caso en Salesforce, se invoca la integración, que extrae el ID y el tipo del caso. En función del tipo de caso, se crea un nuevo problema o incidente en Jira Cloud o ServiceNow, respectivamente.

Diagrama de flujo de casos de Salesforce Diagrama de flujo de casos de Salesforce

Objetivos

En este tutorial se explica cómo completar las siguientes tareas en tu integración:

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

Costes

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

Las instrucciones de este tutorial están diseñadas para que el uso de recursos no supere los límites del nivel Always Free de Google Cloud.

Cuando termines las tareas que se describen en este documento, puedes evitar que se te siga facturando eliminando los recursos que has creado. Para obtener más información, consulta la sección Limpiar.

Antes de empezar

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Create a service account:

    1. Ensure that you have the Create Service Accounts IAM role (roles/iam.serviceAccountCreator). Learn how to grant roles.
    2. In the Google Cloud console, go to the Create service account page.

      Go to Create service account
    3. Select your project.
    4. In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.

      In the Service account description field, enter a description. For example, Service account for quickstart.

    5. Click Create and continue.
    6. Grant the following roles to the service account: Secret Manager Viewer (roles/secretmanager.viewer), Secret Manager Secret Accessor (roles/secretmanager).

      To grant a role, find the Select a role list, then select the role.

      To grant additional roles, click Add another role and add each additional role.

    7. Click Continue.
    8. Click Done to finish creating the service account.

  8. Prepara tu entorno

    Verificar la configuración de usuarios de Salesforce

    En este tutorial se da por hecho que tienes una cuenta de desarrollador de Salesforce con la configuración de usuario y el conjunto de permisos necesarios. Verifica que tu cuenta tenga habilitada la captura de datos de cambios (CDC). Para obtener información sobre cómo crear una cuenta, consulta Configurar un usuario de integración.

    Verificar la cuenta de Jira Cloud

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

    Verificar la instancia de ServiceNow

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

    Configurar conexiones

    Para este tutorial, debe 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 cómo configurar 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 incidencias de Jira en él. Anota el ID del proyecto y el ID del problema. Para obtener información sobre cómo configurar un conector de Jira Cloud, consulta el artículo Conector de Jira Cloud.
    Conexión de ServiceNow
    Configure una conexión de ServiceNow en Integration Connectors con la URL de su instancia para crear incidencias en ServiceNow. Para obtener información sobre cómo configurar un conector de ServiceNow, consulta el artículo Conector de ServiceNow.

    Crear integración

    Para crear una integración, sigue estos pasos:

    1. En la consola de Google Cloud, ve a la página Application Integration (Integración de aplicaciones).

      Ir a Application Integration

    2. En el menú de navegación de la izquierda, haga clic en Integraciones para abrir la página Integraciones.
    3. Haga clic en Crear integración y proporcione los siguientes detalles en la página Crear integración:
      1. Nombre de la integración: introduce salesforce-case-integration.
      2. Descripción: introduce Demo integration created for tutorial.
      3. Región: seleccione us-central1 en la lista de regiones admitidas.
      4. Haga clic en Crear para abrir el editor de integraciones.

    Configurar un activador de integración

    Una vez que haya creado la integración correctamente, podrá añadir y configurar un activador de integración que invoque la integración para un evento identificado.

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

    1. En el editor de integraciones, haz clic en Activadores para ver una lista de los activadores disponibles.
    2. Haz clic en el elemento Activador de Salesforce y colócalo en el editor de integraciones.
    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. Configure los siguientes campos en Entrada del activador:
      1. Tipo de evento: selecciona Captura de datos de cambios (CDC) en la lista desplegable.
      2. Configuración de la instancia de Salesforce: en la lista desplegable, haga clic en + Añadir configuración de instancia de Salesforce.

        En el cuadro de diálogo Añadir configuración de instancia de Salesforce, haga lo siguiente:

        • Nombre de conexión de la instancia de Salesforce: introduce un nombre de conexión para la instancia de Salesforce. Por ejemplo, test.
        • Dominio de Salesforce: introduce el nombre de tu 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. Para obtener más información, consulta Crear un perfil de autenticación.
        • Haz clic en Añadir.
      3. Configuración del canal de Salesforce: haz clic en la opción + Añadir nueva configuración del canal de Salesforce de la lista desplegable.

        En el cuadro de diálogo Añadir canal de Salesforce, haz lo siguiente:

        • Nombre del objeto de Salesforce: introduce Case.
        • Haz clic en Añadir.
      4. Operación: selecciona Crear en la lista desplegable.
      5. Los cambios en las propiedades se guardan automáticamente.

    Asignar la carga útil del activador al conector de Salesforce

    Cuando se invoca la integración mediante el activador de Salesforce, se extrae el ID del caso y se asigna a un conector de Salesforce para obtener más detalles del caso.

    Conectarse a la cuenta de Salesforce

    Sigue estos pasos para añadir y configurar una tarea Conectores que recupere los detalles del caso mediante la conexión Salesforce:

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haz clic en el elemento Conectores y colócalo en el editor de integraciones.
    3. Selecciona el elemento de tarea Conectores en el diseñador para ver el panel de configuración de la tarea Conectores.
    4. Haz clic en y cambia el nombre de la etiqueta Conectores a Fetch Salesforce Data.
    5. Haz clic en Configurar conector.
    6. En la página Editor de tareas de conectores, haz lo siguiente:
      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 Type (Tipo), selecciona Entities (Entidades).
      5. En Definir entidades o acciones, selecciona Caso en la lista de entidades disponibles y, a continuación, selecciona Obtener como Operación.
      6. Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.

    Extraer y asignar el ID de caso

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

    Para añadir y configurar la asignación de datos en tu integración, sigue estos pasos:

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
    3. Seleccione el elemento Asignación de datos en el diseñador para ver el panel de configuración de la tarea.
    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 mediante las funciones de transformación disponibles. La salida estará disponible como variable para cualquier otra tarea de integración o activador. Para obtener más información sobre las variables de asignación, consulta Añadir una asignación.

    6. Asigna la variable de salida del activador SalesforceTriggerCdcRecordID a la variable de entrada del conector generado automáticamente entityId(Fetch Salesforce Data).

      Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.

    7. Añade una conexión de borde desde el activador Salesforce a la tarea Obtener ID de caso.
    8. Añade una conexión de borde desde la tarea Obtener ID de caso hasta el conector Obtener datos de Salesforce.

    Extract case type

    Una vez que hayas obtenido todos los detalles del caso del conector de Salesforce, extrae el tipo de caso y envíalo a la aplicación Jira Cloud o ServiceNow.

    Para extraer el tipo de caso de Salesforce, sigue estos pasos:

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
    3. En el diseñador, haga clic en el elemento Asignación de datos para ver el panel de configuración de la tarea.
    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 + Añadir variable y crea la siguiente variable de salida:
      Nombre de la variable de salida Tipo de datos
      sf_case_type STRING
    7. Cree 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

      Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.

    8. Añade una conexión de borde desde el conector Obtener datos de Salesforce a la tarea Obtener tipo de caso.

    Crear incidencia de Jira

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

    Conectar con un proyecto de Jira

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

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haz clic en el elemento Conectores y colócalo en el editor de integraciones.
    3. En el diseñador, haz clic en el elemento de tarea Conectores para ver el panel de configuración de la tarea Conectores.
    4. Haz clic en y cambia el nombre de Conectores a Create issue in Jira.
    5. Haz clic en Configurar conector.
    6. En la página Editor de tareas de conectores, haz lo siguiente:
      1. En Seleccionar conexión, elige la región us-central1.
      2. Selecciona tu conexión de Jira Cloud en la lista de conexiones disponibles.
      3. Haz clic en Siguiente.
      4. En Type (Tipo), selecciona Entities (Entidades).
      5. En Definir entidades o acciones, selecciona Problemas en la lista de entidades disponibles y, a continuación, selecciona Crear como Operación.
      6. Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.

    Transformar y asignar detalles de problemas

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

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
    3. En el diseñador, haga clic en el elemento Asignación de datos para ver el panel de configuración de la tarea.
    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 + Añadir variable y crea las siguientes variables:
      Nombre de variable Tipo de datos Valor predeterminado
      jira_project-id STRING
      JIRA_PROJECT_ID
      Sustituye JIRA_PROJECT_ID por el ID de tu proyecto de Jira.
      jira_issue_type_id STRING
      JIRA_ISSUE_TYPE_ID
      Sustituye JIRA_ISSUE_TYPE_ID por uno de los siguientes IDs de tipo de problema:
      • 1000 - para Epic
      • 1001 - para Historia
      • 1002 - para Tarea
      • 1003 - para Subtarea
      • 1004 - for Bug
    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)

      Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.

    8. Añade una conexión de borde desde la tarea Mapeo para la creación de incidencias al conector Crear incidencia en Jira.

    Crear un incidente de ServiceNow

    Si el caso extraído de Salesforce es de tipo Sales, dirígelo a ServiceNow como un nuevo incidente.

    Conectarse a ServiceNow

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

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haz clic en el elemento Conectores y colócalo en el editor de integraciones.
    3. En el diseñador, haz clic en el elemento de tarea Conectores para ver el panel de configuración de la tarea Conectores.
    4. Haz clic en y cambia el nombre de Conectores a Create incident in ServiceNow.
    5. Haz clic en Configurar conector.
    6. En la página Editor de tareas de conectores, haz lo siguiente:
      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 Type (Tipo), selecciona Entities (Entidades).
      5. En Definir entidades o acciones, selecciona incidencia en la lista de entidades disponibles y, a continuación, selecciona Crear como Operación.
      6. Haz clic en Hecho para completar la configuración de la conexión y cerrar el panel.

    Transformar y asignar detalles de incidentes

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

    1. En el editor de integraciones, haz clic en Tareas para ver una lista de las tareas disponibles.
    2. Haga clic en el elemento Asignación de datos y colóquelo en el editor de integraciones.
    3. En el diseñador, haga clic en el elemento Asignación de datos para ver el panel de configuración de la tarea.
    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. Haga clic en + Añadir variable y cree 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)

      Cuando hayas terminado de asignar los campos, cierra el panel. Los cambios se guardarán automáticamente.

    8. Añade una conexión de borde desde la tarea Mapeo para la creación de incidentes al conector Crear incidente en ServiceNow.

    Añadir condición de borde

    Una condición límite te permite especificar las condiciones que se deben cumplir para que el control de una integración pase a la tarea conectada por el límite. Ahora que has añadido y configurado las tareas necesarias, puedes añadir una condición límite para definir el flujo de la integración.

    La siguiente condición de borde controla el flujo de la integración en función del tipo de caso de Salesforce:

    1. Añade una conexión de borde desde la tarea Obtener tipo de caso a la tarea Asignación para la creación de problemas con la siguiente condición de borde:
        $sf_case_type$ = "Engineering"
    2. Añade otra conexión de borde de la tarea Obtener tipo de caso a la tarea Asignación para la creación de incidencias con la siguiente condición de borde:
        $sf_case_type$ = "Sales"

    Flujo de integración de ejemplo

    En la siguiente imagen se muestra un diseño de ejemplo de la integración creada con este tutorial.

    Imagen de muestra que muestra el flujo de integración Imagen de muestra que muestra el flujo de integración

    Publicar y probar la integración

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

    Una vez que hayas publicado tu integración correctamente, 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 icono de los registros de ejecuciónVer registros de ejecución de esta integración. Se abrirá la página Registros de ejecución.

    Caso de prueba 1: comprobar si se crea una incidencia de Jira para un caso de ingeniería

    Prueba la integración iniciando sesión en la instancia de Salesforce y creando un caso. Debes introducir Engineering en el campo Tipo al crear el caso.

    Para verificar que la integración se ha realizado correctamente, sigue estos pasos:

    Ve a tu cuenta de Jira Cloud.

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

    Caso de prueba 2: Comprobar si se crea un incidente de ServiceNow para un caso de ventas

    Prueba la integración iniciando sesión en la instancia de Salesforce y creando un caso. Debes introducir Sales en el campo Tipo al crear el caso.

    Para verificar que la integración se ha realizado correctamente, sigue estos pasos:

    Ve a tu instancia de ServiceNow.

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

    Limpieza

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

    • Para dejar de publicar esta integración, haz clic en Dejar de publicar en la barra de herramientas del editor de la integración. Consulta Eliminar integraciones para obtener más información.
    • Para obtener información sobre cómo eliminar una conexión, consulta Gestionar conectores.