Flujos de trabajo de Discourse

:discourse2: Resumen Discourse Workflows permite a los administradores crear automatizaciones avanzadas mediante un constructor visual para automatizar casi cualquier aspecto de su comunidad.
:open_book: Guía de instalación Este plugin viene incluido en el núcleo de Discourse. No es necesario instalar el plugin por separado.

Workflows es un constructor de automatización visual que permite a los administradores crear automatizaciones avanzadas y de múltiples pasos utilizando un lienzo de arrastrar y soltar, conectando desencadenadores, condiciones, acciones y nodos de control de flujo para automatizar casi cualquier cosa en tu sitio de Discourse.

:discourse: Discourse Workflows está disponible en los planes Business o Enterprise.

Conceptos clave

Si estás familiarizado con otras herramientas de automatización, probablemente reconocerás la mayoría del vocabulario utilizado en Workflows:

  • Flujo de trabajo (Workflow): Una automatización guardada compuesta por nodos conectados.
  • Nodo: Un solo paso en un flujo de trabajo: desencadenadores, condiciones, acciones y control de flujo / utilidades.
  • Desencadenador (Trigger): El punto de inicio de un flujo de trabajo. Un desencadenador puede ser manual o iniciado por un evento específico: creación de un tema, activación de un horario o llegada de un webhook.
  • Condición: Un nodo de enrutamiento que evalúa una regla y divide el flujo en ramas. Por ejemplo, un nodo Si enruta el flujo basándose en una evaluación verdadera o falsa.
  • Acción: Un nodo que realiza algo específico: crear una publicación, otorgar una insignia, llamar a una API externa, etc.
  • Elemento (Item): Los datos que fluyen entre nodos. Los elementos son objetos JSON que puedes inspeccionar en los registros de ejecución y referenciar usando expresiones.
  • Expresión: Un valor dinámico escrito como {{ ... }} que se resuelve en tiempo de ejecución y se utiliza para referenciar datos de nodos anteriores, variables del flujo de trabajo o configuraciones del sitio.

Crear un flujo de trabajo

Para construir un flujo de trabajo:

  1. Ve a Admin > Plugins > Workflows y haz clic en Nuevo flujo de trabajo.

  1. Nombra tu flujo de trabajo.
  2. Haz clic en Agregar primer paso y elige tu desencadenador.

  1. Usa el botón + para agregar nodos adicionales.

  1. Haz doble clic en un nodo para configurarlo. En el panel de configuración, los detalles sobre las entradas del nodo se mostrarán en el lado izquierdo y los detalles sobre las salidas del nodo se mostrarán en el lado derecho de la pantalla. Es posible que debas ejecutar el flujo de trabajo una vez antes de ver todos los diversos detalles.

  1. Cuando estés listo para ponerlo en producción, haz clic en Publicar.

:light_bulb: Consejos:

  • Usa notas adhesivas, ubicadas en el menú de tres puntos en la parte superior derecha del constructor, para documentar qué hace tu flujo de trabajo. Las notas adhesivas no tienen ningún efecto en el flujo de trabajo, pero hacen que las plantillas y los flujos de trabajo compartidos sean más fáciles de entender.
  • Usa el nodo de registro durante el desarrollo para enviar valores de depuración al registro de ejecución sin afectar el comportamiento del flujo de trabajo.
  • Puedes exportar e importar flujos de trabajo como JSON para compartirlos con compañeros de equipo o recrear flujos de trabajo de otros sitios.

Expresiones y datos dinámicos

Los campos que aceptan expresiones muestran un botón {/} en el editor. Haz clic en él para navegar por los datos disponibles del desencadenador y los nodos anteriores e insertar una referencia.

Expresiones comunes

Expresión Qué devuelve
{{ $json.topic.title }} El título del tema del elemento actual
{{ $json.post.url }} La URL de la publicación del elemento actual
{{ $json.user.username }} El nombre de usuario del usuario asociado con el elemento actual
{{ $vars.my_variable }} El valor de una variable de flujo de trabajo llamada my_variable
{{ $site_settings.title }} El título de tu sitio
{{ $execution.id }} El ID único de la ejecución actual
{{ $('Node Name').item.json.property }} Salida de un nodo aguas arriba específico, referenciado por su nombre en el lienzo

Valores estáticos y dinámicos

Los campos que comienzan con = se tratan como expresiones. Los campos sin un = inicial se tratan como texto plano. El selector de expresiones maneja esto automáticamente por ti.

Gestionar flujos de trabajo

Hay varias funciones que te ayudan a gestionar tus flujos de trabajo existentes.

Ejecuciones

Cada vez que se ejecuta un flujo de trabajo, Discourse registra una ejecución. Ve a Workflows → Ejecuciones para ver el historial.

Cada ejecución muestra la fecha y hora en que se completó y su estado:

  • Completada: Se ejecutó hasta su finalización sin errores.
  • Error: Falló en un nodo específico; haz clic en la ejecución para ver el error y los datos que lo causaron.
  • En ejecución: Procesando actualmente.
  • En espera: Pausado debido a un nodo de espera; esperando una respuesta en un formulario, modal, aprobación por chat; o un nodo Llamar flujo de trabajo esperando que se complete un subflujo de trabajo.
  • Limitado por tasa: El flujo de trabajo se omitió debido a la limitación de tasa.
  • Omitida: El desencadenador se activó, pero el flujo de trabajo no estaba publicado.

Puedes hacer clic en el botón Mostrar para una mirada más detallada a la ejecución del flujo de trabajo. Esto muestra cada paso del flujo de trabajo, que puedes expandir para ver los detalles exactos, y la duración de ese paso.

En la parte inferior de la página, puedes ver la duración total del flujo de trabajo. También puedes Exportar el registro si es necesario para fines de compartir o solución de problemas.

Configuración

En la pestaña Workflows → Configuración, puedes:

  • Configurar un flujo de trabajo de error que debería activarse si hay algún fallo cuando se ejecute este flujo de trabajo. Si el flujo de trabajo tiene un desencadenador de error, manejará los errores según lo definido por ese desencadenador.
  • Establecer la zona horaria para los desencadenadores de horario. El flujo de trabajo utilizará la zona horaria del sitio por defecto si esto no está configurado.
  • Eliminar el flujo de trabajo. :warning: Esto es permanente, por lo que deberías considerar exportar tu flujo de trabajo (accesible en el menú de tres puntos en la esquina superior derecha del constructor de flujos de trabajo) antes de continuar.

Versiones

Cada vez que realices una actualización en el flujo de trabajo, guardaremos la(s) versión(es) anterior(es). Esto facilita Revertir cambios que no funcionaron como esperabas.

Variables

Las variables son pares clave-valor con alcance limitado a un solo flujo de trabajo. Defínelas en el panel Variables del flujo de trabajo y refiérete a ellas en cualquier lugar con {{ $vars.key_name }}. Usa variables para almacenar valores de configuración (como un ID de categoría o un nombre de usuario de destinatario) que quieras poder cambiar sin editar el gráfico del flujo de trabajo.

Credenciales

Algunos nodos, como la solicitud HTTP o el Agente de IA, necesitan autenticarse con servicios externos. Almacena claves API y secretos en Workflows → Credenciales en lugar de pegarlos directamente en los campos de los nodos. Las credenciales están cifradas en reposo y pueden reutilizarse entre flujos de trabajo.

Tipos de credenciales admitidos:

  • Autenticación básica (nombre de usuario + contraseña)
  • Token Bearer
  • Autenticación de encabezado (nombre y valor de encabezado personalizado)

Tablas de datos

Las tablas de datos son tablas estructuradas y persistentes internas del plugin Workflows. Usa el nodo Tabla de datos para leer o escribir en ellas. Admiten tipos de columna string, number, boolean y date.

Las tablas de datos son útiles para:

  • Deduplicación: registrar qué usuarios o temas ya ha procesado un flujo de trabajo
  • Estado: rastrear si un tema está en una etapa particular de un proceso
  • Consultas: almacenar mapeos (como ID de tema → miembro del personal asignado) que tus flujos de trabajo pueden consultar

Ejecuciones

Puedes ver todas las ejecuciones de todos los flujos de trabajo desde la pestaña Ejecuciones. El formato y la función son muy similares a las ejecuciones específicas del flujo de trabajo, pero muestran en todos los flujos de trabajo para una supervisión más fácil.

Plantillas

Cuando crees un nuevo flujo de trabajo, puedes comenzar desde una plantilla en lugar de un lienzo en blanco. Las plantillas son flujos de trabajo preconstruidos para casos de uso comunes; están anotados con notas adhesivas que explican cómo funcionan y son una buena manera de aprender el sistema.

:megaphone: ¿Interesado en ver más plantillas? Trabajaremos para expandir la biblioteca de plantillas disponibles con el tiempo, pero háznos saber si hay una plantilla que te gustaría ver aquí para facilitar tu uso de Workflows.

También puedes exportar cualquier flujo de trabajo como un archivo JSON para compartirlo con otros o usarlo como tu propio punto de partida.

3 Me gusta