StepFlow
Event-driven workflow engine with JSONata mapping, parallel/map execution, and retry/catch semantics.
Overview
StepFlow is the orchestration layer of AionixOne, providing AWS Step Functions-like capabilities in a local-first runtime. It enables you to define complex workflows as JSON DSL and execute them with full observability.
TRN Pattern
trn:stepflow:{tenant}:template/{name}
trn:stepflow:{tenant}:execution/{id}Key Features
- 8 State Types — Task, Set, Wait, Router, Parallel, Map, Succeed, Fail
- JSONata Mapping — Unified
{% expression %}syntax for data transformation - Error Handling — Retry policies with backoff, catch blocks for recovery
- Execution Modes — Sync, async, callback
- Observability — Prometheus metrics, execution history, real-time status
Quick Example
{
"entry": "ProcessOrder",
"steps": {
"ProcessOrder": {
"type": "task",
"action": "trn:openact:default:action/http/orders-api:execute",
"parameters": {
"url": "{% 'https://api.example.com/orders/' & input.orderId %}"
},
"output": {
"orderId": "{% result.id %}"
},
"next": "NotifyCustomer"
},
"NotifyCustomer": {
"type": "task",
"action": "trn:openact:default:action/smtp/send:execute",
"parameters": {
"to": "{% input.customerEmail %}",
"subject": "Order Confirmed"
},
"end": true
}
}
}Reference Pages
- DSL Specification — Complete workflow DSL structure
- State Types — All 8 state types explained
- Data Mapping — JSONata expressions and mapping rules
- Context & Variables — WorkflowContextView and
$vars - Error Handling — Retry and catch policies
- JSON Schema — Full DSL schema reference