Workflow Definitions

The structural blueprint defining execution physics, routing logic, and instance lifecycle. This configuration governs how the engine instantiates workflows across IoT, CI/CD, and Automation verticals.

Spec v1.2 Multi-Trigger Enabled State-Aware Persistence

Identity & Routing

Defines how a workflow is identified within the system and how incoming signals are mapped to specific execution instances.

Workflow Metadata
Property Type Default Description
definitionId uuid required Immutable unique identifier for this workflow template.
name string required The display name used within the WBSKT orchestration dashboard.
description string null Internal documentation describing the workflow's business logic and expected triggers.
triggers array[obj] [] List of entry points (HTTP, MQTT, Cron). Supports "Logical OR" activation — any trigger can start the flow.

Trigger Object Properties

Properties defined within the triggers[] array. Each trigger can have its own arrival logic and allows the engine to extract a common Identity from different data formats.

Property Type Default Description
correlationExpression expression null A JSONPath/Regex to find the ID in this specific trigger.
Example: Trigger A uses $.sensor_id, Trigger B uses $.body.mac_address.
onMatch enum MapOrCreate MapOrCreate(Genesis) Creates a new instance if the resolved ID is unknown. Updates if known.
MapOrDiscard(Signal) Only updates existing instances. If no match is found, the signal is dropped.
AlwaysCreate — Ignores the resolved ID and spawns a parallel instance (useful for stateless logs).
MapOrReplace — Aborts the existing instance and starts a fresh one with the new payload.
Multi-Trigger Strategy Triggers act as agnostic entry points. Regardless of source (MQTT/HTTP), the correlationKey is resolved against the incoming payload to decide the routing target.

Execution Physics

Governs the lifecycle and performance characteristics of the workflow instance during its execution.

Lifecycle & Performance
Property Type Default Description
instanceMode enum Persistent Persistent — Full DB state tracking (Safety/Business).
Ephemeral — In-memory only (Speed/IoT High-Frequency).
executionTimeout duration 0 (infinite) The absolute time limit for a workflow instance before forced termination.
maxActiveInstances int Concurrency cap to prevent system flooding or resource exhaustion.
priority int (0-10) 5 Execution queue priority. Higher numbers process first in congested environments.

Error & Resilience

Configuration for global fault tolerance and recovery mechanisms when nodes encounter failures.

Global Fault Tolerance
Property Type Default Description
globalErrorHandler nodeId null Fallback node triggered if any unhandled error occurs in the flow.
defaultRetryPolicy object {} Global maxAttempts and backoffStrategy for all failing nodes in this flow.
isRecoverable bool true If true, the engine attempts to resume the flow at the last checkpoint after a server restart.

Data & Governance

Defines the security context, data validation rules, and audit log retention policies.

Context & Security
Property Type Default Description
inputSchema json-schema null Validates trigger payload before instance creation. Rejects invalid data early.
secretRefs array[str] [] Keys to fetch from secure Vault storage (API keys, DB credentials) at runtime.
retentionPeriod duration 30d How long to keep history of completed instances in the audit log.
Versioning Policy By default, active instances stick to the version they were started with. Updates to the definition only apply to new instances created after publication.