Flow & Workflow

Flow & Workflow es el motor de automatización y orquestación de procesos que ocupa el centro de Nashua 360. Se hace cargo de un problema empresarial único e ineludible: el trabajo no permanece dentro de una sola pantalla. Una incidencia que se registra debe enrutarse, una factura de proveedor que llega debe aprobarse, un contrato que caduca debe activar una revisión de renovación, y un registro que cambia de estado debe notificar a las personas y los sistemas que dependen de él. Si se deja en manos de los módulos individuales, esa coordinación se fragmenta en reglas rígidas embebidas en código, en seguimientos por correo y en convenciones sin documentar. Flow & Workflow lo sustituye todo por un único motor declarativo.

El módulo ofrece a los responsables de negocio un diseñador visual para modelar procesos como flujos de disparadores, condiciones, acciones y aprobaciones, respaldado por un bus de eventos de alcance global que transporta cada evento del ciclo de vida de cada módulo. Se ubica dentro de la Administración del Sistema como infraestructura compartida, lo que significa que cualquier entidad de Nashua 360, desde un pedido de compra hasta un activo o un caso de incorporación de empleados, puede iniciar, hacer avanzar o condicionar un proceso sin una sola línea de código a medida. Es el tejido conectivo que convierte una colección de módulos potentes en un sistema operativo coordinado para el negocio.

Qué hace el motor

Flow & Workflow proporciona un conjunto completo de herramientas de automatización de procesos sin código. En su núcleo se encuentra un diseñador visual de flujos donde los procesos se dibujan como un grafo de nodos unidos por aristas: un disparador inicia el flujo, los nodos de condición lo enrutan, los nodos de acción realizan el trabajo, los nodos de aprobación y notificación implican a las personas, los nodos de retardo detienen la ejecución hasta un momento determinado, los nodos de webhook alcanzan sistemas externos, y un nodo de fin cierra la ejecución. Los flujos se disparan de tres maneras: por un evento en cualquier registro, según una planificación recurrente, o a demanda de una persona o un AI Worker.

Los nodos de acción cubren las operaciones que un proceso de negocio realmente necesita: enviar correo electrónico, crear o actualizar registros en cualquier módulo, invocar un servicio registrado en toda la plataforma, publicar en un endpoint externo y generar notificaciones dentro de la aplicación. La ramificación condicional permite que un único flujo gestione cada trayectoria que puede seguir un caso, de modo que un solo diseño absorbe las excepciones en lugar de generar variantes. Un constructor de formularios integrado captura las entradas que requiere un disparador manual o una decisión de aprobación, y los temporizadores de SLA obligan a cada etapa a cumplir su plazo, escalando automáticamente cuando un paso se demora. El resultado es que un proceso que antes vivía en la cabeza de alguien, o repartido en una cadena de correos, se convierte en un activo explícito, versionado y observable que el negocio posee y puede modificar en minutos.

El dominio y el modelo de datos

El modelo conceptual es reducido, y lo es de forma deliberada, que es precisamente lo que lo hace universal. El objeto central es el flujo: una descripción con nombre y autocontenida de cómo debe desarrollarse una determinada pieza de trabajo. Un flujo se expresa como un grafo. Sus pasos son las piezas individuales de comportamiento, cada una con un tipo y su propia configuración, y las conexiones entre ellas transportan la lógica que decide qué paso sigue a cuál, incluidas las condiciones que deben cumplirse para tomar una trayectoria concreta. Dado que la forma de un proceso son datos y no código, un flujo puede inspeccionarse, copiarse, refinarse y razonarse sin tocar la propia plataforma.

Cada vez que un flujo se pone en marcha, el motor crea una ejecución: una instancia viva con su propia memoria. La ejecución registra dónde se sitúa actualmente la ejecución, transporta el contexto reunido por el camino, la entrada que la inició y la salida que produce cada paso, y mantiene su estado desde el momento en que comienza hasta el momento en que se completa, se pausa o falla. Esta separación entre el diseño de un proceso y las ejecuciones individuales del mismo es la idea clave. Un solo flujo puede tener miles de ejecuciones en curso, cada una por su propia trayectoria, cada una reanudable de forma independiente tras una aprobación o una pausa planificada. Junto a estas se sitúa el flujo de aprobación, una política reutilizable que establece, para un tipo dado de registro y un conjunto dado de condiciones, quién debe dar el visto bueno y en qué orden. La política de aprobación se define, por tanto, una sola vez y se aplica de forma coherente, en lugar de volver a especificarse dentro de cada flujo que necesite una decisión.

Flujos de trabajo principales

Tres patrones cubren la mayor parte de lo que las organizaciones construyen. El primero es la automatización orientada a eventos: un autor diseña un flujo, elige el evento de registro que debería iniciarlo, como la creación de un caso o el cambio de un estado, y despliega las acciones y ramificaciones que le siguen. A partir de ese momento el motor vigila el bus de eventos y dispara una ejecución coincidente en el instante en que ocurre el evento, sin intervención humana. El segundo es el enrutamiento de aprobaciones: un flujo alcanza un nodo de aprobación, el motor crea una solicitud de aprobación, pausa la ejecución y notifica a los aprobadores responsables. Aquí se expresan las aprobaciones de varios pasos, en paralelo y con escalado condicional, de modo que una solicitud de bajo importe puede resolverse con una sola firma mientras que una de alto importe recorre varios niveles, todo desde el mismo diseño.

El tercer patrón es el procesamiento planificado: los flujos vinculados a una planificación cron se ejecutan a horas fijas para impulsar trabajo periódico como recordatorios, renovaciones, conciliaciones y tareas de mantenimiento. Un planificador maestro evalúa cada minuto los flujos pendientes, reanuda cualquier ejecución cuyo retardo haya vencido y protege frente a la ejecución duplicada dentro de la misma ventana. En los tres casos, cada ejecución queda plenamente trazada. Los operadores pueden ver qué flujos están activos, seguir una ejecución nodo a nodo, leer el contexto que transportó y comprender exactamente por qué se tomó una trayectoria determinada y dónde se produjo un fallo.

TriggerEvaluateconditionsExecute nodesComplete run
An event or schedule starts a run, the engine routes it through conditions, and nodes execute the work until completion.

Profundidad funcional que importa

La precisión de un motor de procesos reside en su lógica de enrutamiento, y aquí es donde Flow & Workflow no admite concesiones. El evaluador de condiciones soporta un rico conjunto de operadores que abarca igualdad y desigualdad, comparación numérica, pruebas de cadenas como contiene, empieza por, termina por y coincidencia de patrones, pertenencia a conjuntos con dentro de y fuera de, y comprobaciones de presencia para saber si un campo existe siquiera. Las condiciones se componen: cualquier grupo puede combinarse con los operadores lógicos y, o y no para expresar reglas de matices arbitrarios, y los valores se leen por ruta de puntos, de modo que los campos profundamente anidados del registro en evaluación son directamente direccionables. Las aristas se evalúan en un orden definido con una regla de primera coincidencia gana, lo que da una ramificación determinista y auditable en todo momento.

La propia ejecución está gobernada en aras de la seguridad y la previsibilidad. Cada ejecución avanza paso a paso con su estado persistido en cada movimiento, de modo que sobrevive a una interrupción y se reanuda de forma limpia. Un límite máximo de pasos previene los flujos descontrolados o cíclicos. Los nodos de webhook que alcanzan el exterior de la plataforma están protegidos frente a la falsificación de solicitudes del lado del servidor y sujetos a un tiempo de espera estricto, de modo que una dependencia externa no pueda bloquear un proceso. El catálogo del bus de eventos publica cada evento que la plataforma puede emitir, con nombres en notación de puntos y suscripción con comodines, de modo que un flujo puede escuchar un evento preciso o toda una familia de ellos. Las pausas por retardo y por aprobación son estados terminales de primer orden, no soluciones improvisadas, que es lo que permite que procesos de larga duración y con intervención humana se ejecuten durante días sin mantener recursos abiertos.

Cómo encaja en el conjunto Nashua 360

Flow & Workflow es la capa de automatización sobre la que se construye cualquier otro módulo, y se gana esa posición mediante una integración profunda y nativa en lugar de conectores. Se apoya directamente en el bus de servicios de la plataforma, de modo que cualquier nodo de acción puede invocar una capacidad registrada por otro módulo sin conexiones a medida. Despacha a través del Notification Engine compartido, de modo que los mensajes de un flujo llegan a los usuarios dentro de la aplicación y por correo electrónico a través del mismo canal que utiliza el resto del conjunto. Se ejecuta junto al pipeline de ETL en la planificación maestra, de modo que los flujos planificados y el movimiento de datos se coordinan en un único reloj.

Dado que el bus de eventos transporta los eventos del ciclo de vida de todo el conjunto, el módulo conecta de hecho todo entre sí. Un cambio en el CRM puede abrir un caso en la Gestión de Servicios. Una requisición aprobada en Compras puede crear un registro en Finanzas. Un acuerdo que caduca en la Gestión de Contratos puede iniciar una revisión de renovación y notificar al responsable de la cuenta. Una nueva contratación en RR. HH. puede disparar un flujo de incorporación que aprovisiona accesos y programa tareas. La identidad y los permisos se respetan de principio a fin, de modo que un flujo actúa dentro de las mismas reglas de acceso que las personas a las que sirve. Flow & Workflow no se sitúa al lado del conjunto: es el mecanismo por el cual el conjunto se comporta como un único sistema.

Cómo operan los AI Workers dentro de él

Los AI Workers son participantes de primer orden en Flow & Workflow, tratados por el motor como usuarios por derecho propio. Mediante conversación, una persona puede pedir a un Worker que explique qué hace un flujo, por qué una ejecución concreta siguió la trayectoria que siguió, o qué procesos afectan a un registro dado, y el Worker responde consultando los propios datos de flujos y ejecuciones del módulo. Los Workers también actúan: diseñan y ajustan flujos a partir de una intención en lenguaje natural, inician ejecuciones, reanudan las que están en pausa y reenrutan el trabajo cuando las circunstancias cambian, siempre dentro de los permisos que se les han concedido.

Su alcance se extiende a cada tipo de nodo. Un AI Worker vigila las ejecuciones en busca de anomalías y excepciones, sacando a la luz una aprobación estancada, un SLA incumplido o un repunte de fallos antes de que se convierta en un problema. Cuando un flujo necesita información encerrada en un documento o en una carga no estructurada, un Worker la extrae y la estructura para que las condiciones posteriores puedan actuar sobre datos limpios. Y lo más significativo: un Worker puede servir él mismo como nodo de aprobación o de revisión: el motor pausa la ejecución, el Worker evalúa la solicitud frente a la política y el contexto, y o bien decide dentro de su mandato o bien escala a una persona con una recomendación clara y su razonamiento adjunto. Esto convierte Flow & Workflow de pura automatización en un verdadero apoyo a la decisión, reservando el juicio humano para los casos que realmente lo necesitan.