Flujos de trabajo
Un flujo de trabajo es un proceso de negocio, dibujado como un diagrama en lugar de escrito como código. Distribuyes los pasos y los caminos entre ellos en un editor visual, y wasabi ejecuta el resultado.
La paleta corresponde a BPMN:
- Las tareas hacen el trabajo: una tarea de usuario muestra un formulario y espera a una persona, una tarea de servicio ejecuta una acción automatizada, una tarea de IA hace que un modelo produzca un resultado estructurado, una tarea de conversación mantiene un chat orientado a objetivos que puede usar herramientas, y un subproceso ejecuta otro flujo de trabajo.
- Los eventos inician, terminan o interrumpen un flujo, incluidos los temporizadores y los mensajes que dejan que un proceso espere un momento en el tiempo o una señal externa.
- Las compuertas dividen y unen el flujo: exclusiva (un camino), inclusiva (varios), paralela (todos a la vez) o basada en eventos (la señal que llegue primero).
Inicio
-> Enviar solicitud (tarea de usuario)
-> ¿Más de $10k? (compuerta)
sí -> Aprobación de director (tarea de usuario)
no -> Aprobación de gerente (tarea de usuario)
-> Crear OC (tarea de servicio)
-> FinLos flujos de trabajo se ejecutan sobre un motor duradero y basado en eventos. El estado de cada ejecución vive como tokens que se mueven por el grafo, registrados como un flujo de eventos de solo anexado, así que un proceso sobrevive a los reinicios y puede esperar minutos o meses sin perder su lugar. Cada ejecución lleva consigo un payload de variables que cada paso puede leer y actualizar.
Los flujos de trabajo son donde las piezas se juntan: una tarea de usuario muestra un formulario, un paso puede persistir un documento, la transformación de datos reestructura el payload entre pasos, y una ejecución se puede hacer avanzar directamente desde un documento mediante los procesos por mensajes.
La tarea de conversación es el paso más abierto. En lugar de un formulario fijo, abre un chat guiado en la bandeja de la persona y avanza hacia uno o más objetivos que tú defines: cada uno se le muestra a la persona, guía al asistente y se marca como cumplido cuando se logra. Los objetivos pueden ser fijos, o generarse uno por elemento a partir de una lista del payload (uno por línea de un pedido, por ejemplo), y tú eliges si deben alcanzarse todos o solo un número determinado antes de que la ejecución continúe.