Cómo crear flujos de trabajo más avanzados usando webhooks

¿Quién puede usar esta función?

Los flujos de trabajo son tareas o procesos de varios pasos automatizados que se pueden ejecutar directamente desde Slack o conectar con otras herramientas y servicios. Los flujos de trabajo en Slack pueden ser lo sencillos o complicados que quieras, y normalmente no requieren código.

Si eres un desarrollador o tienes algo de experiencia introduciendo código, quizá te apetezca crear un flujo de trabajo que se desencadene con un evento en un servicio externo (como una herramienta interna que use tu empresa) con un webhook.

Qué necesitas para comenzar

  • Experiencia en el envío de solicitudes HTTP utilizando la línea de comandos u otra herramienta.
  • Conocimiento de los webhooks entrantes. Para orientarte, lee la documentación sobre la API de Slack o pide ayuda a un desarrollador de tu equipo.

Aprenderás lo siguiente

  • Cómo configurar un webhook para desencadenar un flujo de trabajo en Slack
  • Cómo crear variables personalizadas y utilizarlas en los pasos del flujo de trabajo
  • Cómo probar tu flujo de trabajo antes de publicarlo

Nota: los propietarios y administradores pueden restringir el acceso a la creación de flujos de trabajo mediante webhooks. Si no ves esta opción en el Creador de flujos de trabajo, solicita ayuda a un propietario o administrador.

Consejo: si no te acuerdas muy bien de cómo configurar un flujo de trabajo y elegir un desencadenante, consulta Cómo configurar un flujo de trabajo en Slack.


Configurar un flujo de trabajo

Aspectos básicos de los flujos de trabajo de webhooks

Todos los flujos de trabajo de Slack comienzan en respuesta a un desencadenante. Para desencadenar un flujo de trabajo mediante un webhook, tendrás que configurar el webhook para comenzar el flujo de trabajo en Slack cuando un evento específico se produzca en otro servicio. Por ejemplo, puedes configurar un flujo de trabajo que publique un mensaje en Slack cuando haya un problema con tu sitio web o servicio y alguien crea una incidencia para ver qué ha ocurrido y resolver el problema.

Cómo configurar tu webhook

El servicio externo que elijas para crear y configurar el webhook necesita proporcionarte la capacidad para hacer una solicitud HTTP POST a Slack cuando se produzca cierto evento. Slack generará una solicitud URL única para tu flujo de trabajo cuando lo publiques; puedes configurar tu webhook para que pase información a Slack a través del cuerpo de la solicitud HTTP. Cualquier dato que tu webhook envíe a Slack se puede referenciar en los siguientes pasos del flujo de trabajo a través de la creación de variables.

Consejo: si no sabes cómo configurar el webhook con seguridad todavía, te recomendamos que le pidas ayuda a un desarrollador de tu equipo o que consultes la documentación de apoyo proporcionada por el servicio que utilices, como Postman o Zapier.

Cómo crear variables personalizadas

Puedes añadir hasta 20 variables para pasar datos a Slack desde otro servicio e incluir información específica de Slack como nombres de Slack o direcciones de correo electrónico en los pasos que añades a tu flujo de trabajo.

Para crear una variable personalizada, puedes añadir un par de valores clave en el Creador de flujos de trabajo como variables basadas en texto. Cuando añades una variable, verás una vista previa del cuerpo HTTP para comprobar que los valores coinciden con los resultados JSON del servicio con el que estás conectándote a Slack a través del webhook. Ten en cuenta que por el momento, no es posible utilizar estructuras JSON anidadas en las variables de flujos de trabajo.

En el ejemplo que aparece a continuación, si el usuario, la gravedad y la descripción_de_la_incidencia no se enviaron en la solicitud de tu webhook, el flujo de trabajo fallará. 

Configuración de Webhook en el Creador de flujos de trabajo en la que se muestra la URL de Webhook y las variables personalizadas

Consejo: si necesitas añadir, eliminar o modificar variables en cualquier punto, abre tu flujo de trabajo en el Creador de flujos de trabajo. A continuación, haz clic en Editar, al lado de Webhook para modificar lo que necesites. También deberás comprobar que todos los cambios de las variables se reflejan en el servicio externo desde el que se envía la solicitud del webhook.

Cómo obtener tu URL de solicitud web 

Cuando publiques tu flujo de trabajo, Slack generará una solicitud URL única que puedes añadir a tu webhook para garantizar que envías el POST que configuraste al canal correcto de Slack. Las URL de la solicitud comienzan por https://hooks.slack.com/workflows y van seguidas de una cadena de caracteres aleatorios.

Asegúrate de conservar tu URL de solicitud en un lugar seguro, pues cualquiera que tenga el enlace podrá activar tu flujo de trabajo.

Nota: los flujos de trabajo de webhooks están limitados a una solicitud por segundo. Puedes obtener más información sobre los límites de frecuencia en la API de Slack.


Pon en práctica lo que has aprendido

Añadir pasos

Cuando hayas configurado tu webhook y creado las variables que quieres utilizar, tendrás todo listo para añadir pasos al flujo de trabajo

  1. Abre el flujo de trabajo en el Creador de flujos de trabajo. 
  2. Haz clic en Añadir paso
  3. Elige el tipo de paso que quieres añadir y, después, sigue las indicaciones para personalizar el paso.


Cómo probar el flujo de trabajo

Antes de publicar tu flujo de trabajo en un canal que los miembros de tu espacio de trabajo utilizan activamente, puedes configurar que el primer paso se publique en un canal de prueba.

  1. Envía un POST a la URL de solicitud de tu flujo de trabajo y revisa los pasos para comprobar que todo funciona correctamente.
  2. Vuelve al Creador de flujos de trabajo y actualiza el primer paso del flujo para publicarlo en el canal que prefieras. A continuación, publica los cambios.


Cómo volver a generar una URL de webhook

Si la URL de webhook deja de ser segura o debe cambiarse por cualquier razón, sigue estos pasos: 

  1. Abre el Creador de flujos de trabajo y selecciona tu flujo de trabajo en la lista.
  2. Junto a Webhook, haz clic en Editar.
  3. Selecciona Volver a generar URL y guarda tus cambios.

Nota: Al volver a generar una URL de webhook, se romperá la conexión entre tu flujo de trabajo en Slack y otro servicio. actualiza el otro servicio con la nueva URL para que todo vaya como la seda.