Última actualización el 24 de mayo de 2022 por Rakesh Gupta

Gran idea o pregunta duradera:

  • ¿Cómo se publica un mensaje en un canal de Slack a través de Salesforce Flow?
Slack es una aplicación de mensajería para empresas que conecta a las personas con la información que necesitan. Sus espacios de trabajo le permiten organizar las comunicaciones por canales para discusiones grupales y permiten mensajes privados para compartir información, archivos y más, todo en un solo lugar. Además, Slack se integra con una gran cantidad de otras aplicaciones para que pueda administrar todo su flujo de trabajo a través de una plataforma.

Objetivos:

Después de leer este blog, podrá:

  • Comprender qué es un canal de Slack
  • Comprender el destino del mensaje y los objetos Slack Auth
  • Use obtener registros para evitar la codificación rígida de Id.
  • @Mencionar usuario de Slack en una publicación
  • Envíe un mensaje al canal de Slack utilizando el flujo activado por registro
  • Valide la autenticación de usuario de Slack antes de publicar un mensaje
  • Use el elemento de decisión para validar el resultado de obtener registros
  • y mucho más

Martin Jones trabaja como administrador de sistemas en Gurukul on Cloud (GoC). Su organización desea publicar un mensaje en un canal de Slack : notificaciones de oportunidades siempre que una oportunidad se cierre con éxito y el propietario de la oportunidad haya autenticado Salesforce y Slack.

  • Mensaje : < propietario de oportunidad de etiqueta> , acaba de cerrar un nuevo trato. ¡¡Felicidades!! 👏

Requisitos previos:

  1. El primer paso es completar la integración de Salesforce para Slack .
  2. El siguiente paso es configurar los destinos de los mensajes para las notificaciones de oportunidades del canal de Slack.

¿Qué es un canal de Slack?

Slack organiza las conversaciones en espacios dedicados llamados canales. Los canales aportan orden y claridad al trabajo: puede crearlos para cualquier proyecto, tema o equipo. Con las personas y la información adecuadas en un solo lugar, los equipos pueden compartir ideas, tomar decisiones y hacer avanzar el trabajo.


En Slack, los canales pueden ser públicos o privados.

Enfoque de Campeón de Automatización (I-do):

Hay algunas soluciones posibles para el escenario comercial anterior, pero usaré el flujo activado por registro después de guardar para resolver el requisito comercial.

Antes de continuar, debe comprender los siguientes objetos .

Nombre del objeto Detalles
Destino del mensaje

Un destino de mensaje representa una conversación en Slack donde se compartirán los datos de Salesforce. Consta de un espacio de trabajo de Slack específico y un canal de Slack. La información de destino se pasará al método invocable Enviar a Slack, que luego enviará datos de Salesforce a la conversación especificada en Slack.

Autenticación Slackv2 OAuth 2.0 es un protocolo que permite que su aplicación solicite autorización para detalles privados en la cuenta de Slack de un usuario sin obtener su contraseña. También es el vehículo mediante el cual se instalan las aplicaciones de Slack en un equipo. Su aplicación solicita alcances de permisos específicos y se recompensa con tokens de acceso con la aprobación de un usuario.

Antes de discutir la solución, permítame mostrarle un diagrama de un flujo de proceso de alto nivel. Dedique unos minutos a revisar el siguiente diagrama de flujo y comprenderlo.

Comencemos a construir este proceso de automatización.

Práctica guiada (nosotros hacemos):

Hay 8 pasos para resolver el requisito comercial de Martin mediante el flujo activado por registro . Debemos:

  1. Definir propiedades de flujo para el flujo desencadenado por registro
  2. Agregue un elemento de decisión para verificar si una oportunidad se cerró con éxito o no
  3. Agregue un elemento de obtención de registro para encontrar destinos de mensajes de Slack para notificaciones de oportunidades de canal
  4. Agregue un elemento de decisión para verificar si se encontró o no el destino del mensaje de Slack (desde el paso 3)
  5. Agregue un elemento de obtención de registro para encontrar Slack Auth para el propietario de la oportunidad
  6. Agregue un elemento de decisión para verificar si Slack Auth para el propietario de la oportunidad   fue encontrado o no (del paso 5)
  7. Agregue una plantilla de texto para construir el cuerpo del mensaje
  8. Agregar Slack: acción Publicar mensaje: para publicar un mensaje en un canal de Slack

Paso 1: Definir propiedades de flujo

  1. Haga clic en Configuración .
  2. En el cuadro Búsqueda rápida, escriba Flujos .
  3. Seleccione Flujos, luego haga clic en Nuevo flujo .
  4. Seleccione el flujo activado por registro opción, haga clic en Crear
    1. Objeto : Oportunidad
    2. Activar flujo de oportunidad cuando : se crea o actualiza un registro
    3. Establecer criterios de entrada
      1. Requisitos de condición: Ninguno
    4. Optimice el flujo para la acción y los registros relacionados
  5. Haga clic en Listo .

Paso 2: uso del elemento de decisión para verificar si la oportunidad se cerró con éxito o no

Ahora usaremos el elemento Decisión para verificar StageName y asegurarnos de que sea igual a Cerrada ganada.
  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado , ingrese la Etiqueta; el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1 :
      1. Recurso : {!$Record.StageName}
      2. Operador : Igual
      3. Valor : Cerrado Ganado

Paso 3: agregar un elemento Obtener registro para encontrar el destino del mensaje de Slack para el canal de notificaciones de oportunidades

Este paso tiene como objetivo encontrar el ID del canal de notificaciones de oportunidades en Slack.

  1. En Flow Designer, debajo del nodo Cerrada ganada , haga clic en el icono + y seleccione el elemento Obtener elemento.
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione Slackv2__Message_Destination__c   objeto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1 :
      1. Campo : slackv2__Channel_Name__c
      2. Operador : Igual
      3. Valor : oportunidades-notificaciones
    2. Haga clic en Agregar condición
    3. Fila 2 :
      1. Campo : slackv2__Channel_Type__c
      2. Operador : Igual
      3. valor : canal
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 4: uso del elemento de decisión para verificar si se encontró o no el destino de Slack

Ahora usaremos el elemento Decisión para verificar la Variable de registro del paso 3 para encontrar si devuelve el registro Destino del mensaje para las oportunidades del canal de Slack: las notificaciones encontradas o no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. En Detalles del resultado ,   ingrese la etiqueta , el nombre de la API se completará automáticamente.
  4. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Message_Destination}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  5. Haga clic en Listo .

Paso 5: Adición de un elemento Obtener registro para encontrar la autenticación de Slack para el propietario de la oportunidad

Este paso es opcional, pero queremos asegurarnos de que el propietario de la oportunidad haya autenticado la aplicación Salesforce en Slack según el requisito.

  1. En Flow Designer, debajo del nodo , haga clic en el icono + y seleccione el elemento Obtener elemento.
  2. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  3. Seleccione Slackv2__Slack_Auth__c   objeto de la lista desplegable.
  4. Seleccione Se cumplen todas las condiciones (Y) .
  5. Establecer condiciones de filtro
    1. Fila 1:
      1. Campo : slackv2__Usuario__c
      2. Operador : Igual
      3. Valor : {!$Record.OwnerId}
  6. Cuántos registros almacenar:
    1. seleccione Solo el primer registro
  7. Cómo almacenar datos de registro:
    1. Elija la opción para Almacenar automáticamente todos los campos .
  8. Haga clic en Listo .

Paso 6: uso del elemento de decisión para verificar si se encontró o no la autenticación de Slack para el propietario de la oportunidad

Ahora usaremos el elemento Decisión para verificar la Variable de registro del paso 5 para ver si devuelve la Autenticación de Slack para el Propietario de la oportunidad encontrada.   O no.

  1. En Flow Designer, haga clic en el icono + y seleccione el elemento Decisión .
  2. Arrastre y suelte el elemento Decisión en el diseñador de flujo.
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. En Detalles del resultado ,   ingrese la etiqueta , el nombre de la API se completará automáticamente.
  5. Requisitos de condición para ejecutar el resultado : se cumplen todas las condiciones (Y)
    1. Fila 1:
      1. Recurso: {!Get_Slack_Auth_Opportunity_Owner}
      2. Operador: es nulo
      3. Valor: {!$ConstanteGlobal.Falso}
  6. Haga clic en Listo .

Paso 7: agregue una plantilla de texto para construir el cuerpo del mensaje

Ahora construiremos un cuerpo de mensaje de Slack usando la plantilla de texto . La plantilla de texto le permitió especificar los mensajes de varias líneas. Puede etiquetar a un usuario en una publicación de Slack usando los corchetes alrededor de @SlackuserID , como < @SlackuserID >.

  1. En Caja de herramientas , seleccione Administrador y luego haga clic en Nuevo recurso para crear una plantilla de texto.
  2. Ingrese la siguiente información:
    1. Tipo de recurso : plantilla de texto
    2. Nombre de la API : tt_MessageBody
    3. Seleccione Ver como texto sin formato
    4. Cuerpo
      1. <@{!Get_Slack_Auth_Opportunity_Owner.slackv2__Slack_User_Id__c}> acaba de cerrar un nuevo trato. ¡¡Felicidades!! 👏
  3. Haga clic en Listo .

Paso 8: Agregar Slack: acción Publicar mensaje: para publicar un mensaje en un canal de Slack

Usaremos la acción Slack:Publicar mensaje para enviar un mensaje a un canal de Slack.

  1. En Flow Designer, debajo del nodo Encontrado , haga clic en el icono + y seleccione el elemento Acción .
  2. Busque y seleccione Slack: Publicar mensaje en el menú desplegable
  3. Introduzca un nombre en el campo Etiqueta ; el nombre de la API se completará automáticamente.
  4. Establecer valores de entrada
    1. Id. de destino del mensaje : {!Get_Message_Destination.Id}
    2. Id. de registro : {!$Record.Id}
    3. Mensaje : {!tt_MessageBody}
  5. Haga clic en Listo .

Al final, Martin's Flow se verá como la siguiente captura de pantalla:

Una vez que todo se vea bien, realice los siguientes pasos:
  1. Haga clic en Guardar .
  2. Ingrese la etiqueta de flujo , el nombre de la API se completará automáticamente.
  3. Haga clic en Mostrar avanzado .
  4. Versión de API para ejecutar el flujo : 55
  5. Etiqueta de entrevista : Publicar un mensaje en un canal de Slack {!$Flow.CurrentDateTime}
  6. Haga clic en Guardar.

¡Casi ahí! Una vez que todo se vea bien, haga clic en el botón Activar .

Prueba de concepto

A partir de ahora, si un usuario comercial actualiza la Etapa de oportunidad a Cerrada ganada, el guardado posterior activado por registro publicará automáticamente un mensaje en el canal de Slack.

  1. Navegue a la pestaña Oportunidades y actualice el estado de la oportunidad Pyramid Emergency Generators a Cerrada ganada , como se muestra en la siguiente captura de pantalla:
  2. Consulte el canal Slack de notificaciones de oportunidades .

Evaluación formativa:

¡Quiero saber de ti!

¿Qué es una cosa que aprendiste de esta publicación? ¿Cómo imagina aplicar este nuevo conocimiento en el mundo real? Siéntase libre de compartir en los comentarios a continuación.

Esta es una traducción realizada por EGA Futura, y este es el link a la publicación original: https://automationchampion.com/2022/05/24/post-a-message-to-a-slack-channel-using-flow/

Entradas recomendadas