Saltar al contenido principal
Flowker se construye sobre un conjunto de conceptos interconectados. Comprender cómo se relacionan entre sí te ayudará a diseñar, configurar y ejecutar workflows de manera efectiva. El diagrama al final de esta página muestra cómo todo encaja.

Workflows


Un workflow es la definición de un proceso de negocio — la secuencia de pasos que Flowker sigue para completar una operación. Cada workflow tiene un ciclo de vida con tres estados posibles:
EstadoDescripción
draftCreado y editable. Aún no se puede ejecutar.
activeListo para ejecutar. La estructura está bloqueada.
inactiveDesactivado. No se aceptan nuevas ejecuciones.
Para cambiar el estado de un workflow, usa los endpoints activar, desactivar y mover a draft.

Nodes y edges


Los nodes son los pasos individuales de un workflow — lo que en términos de negocio llamarías tareas. Cada node es una unidad de trabajo: recibir un evento, llamar a un servicio, evaluar una condición o realizar una acción. Flowker admite cuatro tipos de node:
TipoPropósitoCuándo usarlo
triggerPunto de entrada del workflowSiempre el primer node. Inicia la ejecución cuando ocurre un evento.
executorLlama a un servicio externo mediante un executor configuradoCuando necesitas llamar a una API o integración externa.
conditionalBifurca la ejecución según condicionesCuando el siguiente paso depende del resultado del anterior.
actionEjecuta una acción integrada (log, transform, etc.)Para operaciones nativas que no requieren llamadas externas.
Los edges conectan nodes y definen el orden de ejecución. Un edge puede llevar una condición: el siguiente node solo se ejecuta si la condición es verdadera.
El catálogo es el registro de solo lectura de todos los providers, executors y triggers integrados disponibles en Flowker. No puedes crear ni modificar entradas del catálogo — solo descubrirlas. Antes de configurar cualquier integración, explora el catálogo para ver qué está disponible:
  • Los executors son las capacidades específicas que puedes invocar en un node (p. ej., solicitudes HTTP, transformaciones de datos).
  • Los triggers definen los tipos de eventos que pueden iniciar un workflow (p. ej., webhooks).
Usa estos endpoints para explorar lo que está disponible:

Configuraciones


Antes de usar un executor en un workflow, debes configurarlo. Una configuración de executor define cómo Flowker se conecta a un servicio externo — incluyendo la URL base, las credenciales de autenticación y los endpoints HTTP específicos a llamar. Las configuraciones de executor pasan por un ciclo de vida:
EstadoDescripción
unconfiguredCreada pero aún no configurada con detalles de conexión.
configuredDetalles de conexión proporcionados, lista para probar.
testedPrueba de conectividad exitosa.
activeLista para ser usada en ejecuciones de workflows.
disabledTemporalmente fuera de servicio.
Usa los endpoints de Configuraciones de executor para configurar y gestionar tus integraciones.

Configuraciones de provider


Flowker usa un modelo de tres capas para integraciones externas:
CapaQué esNaturaleza
ProviderUn tipo de servicio externo (p. ej., Midaz, Tracer).Estático — definido en el catálogo.
Configuración de ProviderUna instancia configurada de un provider con credenciales y URL base.Dinámica — tú la creas y gestionas.
Configuración de ExecutorUna operación específica en un provider, con endpoints y mapeos de campos.Dinámica — referencia una configuración de provider.
Una configuración de provider conecta Flowker a una instancia activa de un servicio externo. Proporcionas la URL base, las credenciales de autenticación y cualquier configuración específica del provider. La configuración se valida contra el JSON Schema del provider en el catálogo. Las configuraciones de provider tienen dos estados: active (en uso) y disabled (temporalmente offline). Puedes probar la conectividad en cualquier momento para verificar que la conexión funcione. Usa los endpoints de Configuraciones de provider para crear, gestionar y probar tus conexiones con providers.

Templates


Los templates de workflow son patrones pre-construidos disponibles en el catálogo. En lugar de definir un workflow desde cero, puedes seleccionar un template, completar sus parámetros y crear un workflow listo para usar en segundos. Cada template tiene un schema de parámetros que define qué entradas espera (p. ej., qué configuración de provider usar, valores de umbral). Cuando consultas un template, el schema se enriquece dinámicamente — los campos que referencian configuraciones de provider se completan con tus configuraciones activas, para que puedas elegir de una lista en lugar de ingresar UUIDs manualmente. Para usar un template:
  1. Explora los templates disponibles en el catálogo.
  2. Consulta el detalle del template para ver su schema de parámetros.
  3. Opcionalmente valida tus parámetros antes de crear.
  4. Crea un workflow a partir del template.
El workflow resultante se crea con estado draft, para que puedas revisarlo y ajustarlo antes de activar.

Ejecuciones


Una ejecución es una instancia en tiempo de ejecución de un workflow. Cada vez que activas un workflow, Flowker crea una nueva ejecución y procesa sus nodes en orden. Cada ejecución registra:
  • executionId — Identificador único de esta ejecución.
  • status — Estado actual: pending, running, completed o failed.
  • stepResults — La salida de cada node ejecutado, en orden.
  • finalOutput — El resultado agregado de toda la ejecución.
Usa Consultar estado de la ejecución para monitorear el progreso y Consultar resultados de la ejecución para obtener la salida completa.
El endpoint principal de estado (GET /v1/executions/{id}) devuelve executionId, workflowId, status, currentStepNumber, totalSteps, startedAt, completedAt y errorMessage. Los campos stepResults y finalOutput solo están disponibles a través del endpoint de resultados dedicado (GET /v1/executions/{id}/results).

Idempotencia


Cada solicitud de ejecución requiere un header Idempotency-Key. Es un UUID que generas y envías con cada solicitud para identificarla de forma única. Si Flowker recibe una segunda solicitud con el mismo Idempotency-Key, devuelve la respuesta original en lugar de crear una nueva ejecución. Esto hace que los reintentos sean seguros — las fallas de red y los timeouts no generarán ejecuciones duplicadas.
Idempotency-Key: 7f3e1a2b-4c5d-6e7f-8a9b-0c1d2e3f4a5b
Usa siempre un UUID nuevo para cada ejecución. Reutiliza la misma clave solo al reintentar exactamente la misma solicitud.

Dashboard


La API de Dashboard proporciona resúmenes agregados de tus workflows y ejecuciones — útil para construir dashboards operacionales y herramientas de monitoreo. Úsala siempre que necesites una visión de alto nivel de la salud del sistema sin consultar ejecuciones individuales. Ejemplo de respuesta de GET /v1/dashboards/executions:
{
  "total": 12847,
  "completed": 11903,
  "failed": 712,
  "pending": 130,
  "running": 102
}
Casos de uso comunes:
  • Monitorear la salud de las ejecuciones — rastrea las tasas de completación y fallo a lo largo del tiempo para detectar degradaciones tempranamente.
  • Construir páginas de estado — muestra métricas de throughput y éxito de los workflows en dashboards internos o dirigidos al cliente.
  • Alertar sobre picos en la tasa de fallos — compara failed / total contra un umbral para disparar alertas antes de que los problemas se propaguen.

Auditoría y cumplimiento


Flowker registra automáticamente una pista de auditoría inmutable para cada acción significativa — creación de workflows, cambios de estado, inicios y finalizaciones de ejecuciones, llamadas a executors y cambios de configuración. No necesitas habilitar ni configurar nada; el registro de auditoría ocurre internamente. Propiedades clave del sistema de auditoría:
  • Inmutable — los registros de auditoría son de solo adición y no pueden ser modificados ni eliminados.
  • Integridad mediante cadena de hashes — cada entrada incluye un hash criptográfico que la vincula a la entrada anterior, haciendo detectable cualquier manipulación.
  • Búsqueda flexible — usa Buscar eventos de auditoría para consultar eventos por tipo, acción, resultado, recurso o rango de fechas.
  • Verificación de la cadena — usa Verificar cadena de hashes para confirmar que la pista de auditoría no ha sido manipulada.

Cómo encaja todo


Los conceptos de Flowker se construyen unos sobre otros en una secuencia clara:
  1. Explora el catálogo para descubrir providers, executors, triggers y templates disponibles.
  2. Configura providers para conectar Flowker a instancias activas de servicios externos.
  3. Configura executors para definir las operaciones y endpoints específicos que tu workflow necesita.
  4. Define workflows — desde cero o a partir de un template — referenciando tus configuraciones de executor.
  5. Ejecuta workflows para correr tu proceso de negocio y obtener resultados.
  6. Monitorea y audita — usa el dashboard para resúmenes operacionales y la API de auditoría para cumplimiento.
¿Listo para verlo en práctica? Sigue la guía de primeros pasos para ejecutar tu primer workflow de principio a fin.