| Resumen | Discourse Workflows permite a los administradores crear automatizaciones avanzadas mediante un constructor visual para automatizar casi cualquier cosa en tu comunidad. | |
| Guía de instalación | Este plugin viene incluido con el núcleo de Discourse. No es necesario instalar el plugin por separado. |
Workflows es un constructor de automatizaciones visual que permite a los administradores crear automatizaciones avanzadas de varios pasos utilizando un lienzo de arrastrar y soltar, conectando disparadores, condiciones, acciones y nodos de control de flujo para automatizar casi cualquier cosa en tu sitio de 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 parte del vocabulario utilizado en Workflows:
- Workflow: Una automatización guardada compuesta por nodos conectados.
- Nodo: Un paso único en un workflow: disparadores, condiciones, acciones y flujo de control / utilidades.
- Disparador: El punto de partida de un workflow. Un disparador puede ser manual o iniciarse por un evento específico (creación de un tema, ejecución de una programación o una webhook entrante).
- Condición: Un nodo de enrutamiento que evalúa una regla y divide el flujo en ramas. Por ejemplo, un nodo If (Si) enruta el flujo según 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: Los datos que fluyen entre los nodos. Los elementos son objetos JSON que puedes inspeccionar en los registros de ejecución y referenciar utilizando expresiones.
- Expresión: Un valor dinámico escrito como
{{ ... }}que se resuelve en tiempo de ejecución y se utiliza para hacer referencia a datos de nodos anteriores, variables o ajustes del sitio.
Crear un workflow
Para crear un workflow:
- Ve a Administración > Plugins > Workflows y haz clic en New workflow.
- Nombra tu workflow.
- Haz clic en Add first step y elige tu disparador.
- Utiliza el botón + para añadir nodos adicionales.
- Haz doble clic en un nodo para configurarlo. En el panel de configuración, se mostrarán detalles sobre las entradas del nodo en el lado izquierdo y detalles sobre las salidas del nodo en el lado derecho de la pantalla. Es posible que debas ejecutar el workflow una vez antes de ver todos los detalles varios.
- Cuando estés listo para lanzarlo, haz clic en Publish.
Consejos:
- Utiliza notas adhesivas, ubicadas en el menú de tres puntos en la parte superior derecha del constructor, para documentar lo que hace tu workflow. Las notas adhesivas no tienen ningún efecto en el workflow, pero facilitan la comprensión de las plantillas y los workflows compartidos.
- Utiliza el nodo de registro durante el desarrollo para enviar valores de depuración al registro de ejecución sin afectar el comportamiento del workflow.
- Puedes exportar e importar workflows como JSON para compartirlos con compañeros de equipo o moverlos entre sitios. Consulta Exportar e importar workflows a continuación para ver qué se transfiere y qué no.
Expresiones y datos dinámicos
Los campos que aceptan expresiones muestran un botón {/} en el editor. Haz clic en él para examinar los datos disponibles del disparador y de 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 |
{{ $workflow_vars.my_variable }} |
El valor de una variable de workflow llamada my_variable |
{{ $vars.my_variable }} |
El valor de una variable global llamada my_variable |
{{ $site_settings.title }} |
El título de tu sitio |
{{ $execution.id }} |
La ID única de la ejecución actual |
{{ $('Nombre del Nodo').item.json.property }} |
Salida de un nodo anterior 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 se encarga de esto automáticamente por ti.
Gestionar workflows
Hay varias funciones que te ayudan a gestionar tus workflows existentes.
Ejecuciones
Cada vez que se ejecuta un workflow, Discourse registra una ejecución. Ve a Workflows → Executions para ver el historial.
Cada ejecución muestra la fecha y hora en que se completó y su estado:
- Completed: Se ejecutó hasta el final 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.
- Running: Procesando actualmente.
- Waiting: En pausa debido a un nodo Wait; esperando una respuesta en un formulario, modal, aprobación de chat; o un nodo Call Workflow esperando que se complete un sub-workflow.
- Rate limited: El workflow se omitió debido a la limitación de tasa.
- Skipped: El disparador se activó, pero el workflow no estaba publicado.
Puedes hacer clic en el botón Show para ver más en detalle la ejecución del workflow. Esto muestra cada paso del workflow, 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 workflow. También puedes Exportar el registro si es necesario para compartirlo o solucionarlo.
Ajustes
En la pestaña Workflows → Settings, puedes:
- Configurar un workflow de error que debe activarse si hay fallos cuando se ejecuta este workflow. Si el workflow tiene un disparador de error, manejará los errores según lo definido por ese disparador.
- Establecer la zona horaria para los disparadores de programación. El workflow usará por defecto la zona horaria del sitio si no se establece esta opción.
- Eliminar el workflow.
Esto es permanente, por lo que debes considerar exportar tu workflow (accesible en el menú de tres puntos en la esquina superior derecha del constructor de workflows) antes de continuar.
Versiones
Cada vez que realices una actualización en el workflow, guardaremos la(s) versión(es) anterior(es). Esto facilita revertir cambios que no funcionaron como esperabas.
Exportar e importar workflows
Utiliza el menú de tres puntos en la esquina superior derecha del constructor de workflows para exportar un workflow como archivo JSON, e importar uno. Usos comunes: compartir un workflow con compañeros de equipo, o moverlo desde un sitio de prueba a producción.
Al importar se añaden los nodos del archivo al workflow que tengas abierto; no se crea un nuevo workflow. Para copiar un workflow, crea primero un workflow vacío y luego importa dentro de él. Los cambios importados se guardan como borrador hasta que los publiques.
Incluido en la exportación: nodos y su configuración, conexiones, notas adhesivas y definiciones de variables de workflow.
No transferidos, por lo que configura esto en el sitio de destino antes de publicar:
- Credenciales: Las referencias de credenciales se eliminan al importar. Crea las credenciales en el sitio de destino y selecciónalas de nuevo en cada nodo.
- Tablas de datos: Las tablas, columnas y filas no se exportan. Recréalas y selecciónalas en los nodos Data table.
- Valores de variables: Las definiciones de variables de workflow se importan, pero no sus valores. Establécelos en la pestaña Variables del workflow. Si ya existe una variable con la misma clave, la importación mantiene la existente y muestra qué claves se omitieron. Las variables globales no se exportan.
- Ajustes del workflow: El workflow de error y la zona horaria no se aplican. Configúralos de nuevo en la pestaña Settings.
- Referencias específicas del sitio: Las IDs, nombres y URLs para categorías, grupos, usuarios, canales de chat, consultas de Data Explorer y workflows llamados se mantienen como están y pueden no coincidir con el sitio de destino. Las variables de workflow facilitan cambiarlos.
Ejecuta manualmente el workflow importado y revisa el registro de Executions antes de publicarlo.
Variables
Hay dos tipos de variables:
- Variables de workflow están limitadas a un solo workflow. Defínelas en la pestaña Variables del workflow y haz referencia a ellas con
{{ $workflow_vars.key_name }}. Tienen un tipo (cadena, entero, booleano, enum, categoría, lista de categorías, grupo, lista de grupos, lista de etiquetas o lista), por lo que los valores se validan y seleccionan con el selector adecuado. Los cambios en definiciones y valores siguen el flujo de borrador/publicación del workflow. - Variables globales son compartidas por todos los workflows. Defínelas en Workflows → Variables y haz referencia a ellas con
{{ $vars.key_name }}.
Usa variables de workflow para valores que cambian entre sitios o usos, como una categoría, un grupo o un destinatario, para que puedas reutilizar el workflow sin editar sus nodos.
Credenciales
Algunos nodos, como HTTP request o AI Agent, necesitan autenticarse con servicios externos. Almacena claves de API y secretos en Workflows → Credentials en lugar de pegarlas directamente en los campos del nodo. Las credenciales se cifran en reposo y se pueden reutilizar entre workflows.
Tipos de credenciales admitidos:
- Basic Auth (usuario + contraseña)
- Bearer token
- Header auth (nombre y valor de cabecera personalizado)
Tablas de datos
Las tablas de datos son tablas estructuradas persistentes internas del plugin Workflows. Utiliza el nodo Data table para leer de ellas 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 workflow
- Estado: rastrear si un tema está en una etapa particular de un proceso
- Búsquedas: almacenar mapeos (como ID de tema → miembro del personal asignado) que tus workflows pueden consultar
Ejecuciones
Puedes ver todas las ejecuciones de todos los workflows desde la pestaña Executions. El formato y la función son muy similares a las ejecuciones específicas del workflow, pero muestra todas las workflows para facilitar la supervisión.
Plantillas
Cuando creas un nuevo workflow, puedes comenzar desde una plantilla en lugar de un lienzo en blanco. Las plantillas son workflows pre-construidos para casos de uso comunes; están anotadas con notas adhesivas explicando cómo funcionan y son una buena manera de aprender el sistema.
¿Interesado en ver más plantillas? Trabajaremos para ampliar la biblioteca de plantillas disponibles con el tiempo, pero háznos saber si hay una plantilla que te gustaría ver aquí para hacer más fácil tu uso de Workflows.
También puedes exportar cualquier workflow como un archivo JSON para compartirlo con otros o usarlo como tu propio punto de partida.













