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.
Identity & Routing
Defines how a workflow is identified within the system and how incoming signals are mapped to specific execution instances.
| 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.
|
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.
| 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.
| 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.
| 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. |
version they were started with. Updates to the definition only apply to new instances created after publication.