Orchestrate anything with HTTP
A declarative workflow engine that coordinates your services. Define steps as HTTP calls, connect them into DAGs, and let the engine handle retries, sagas, fan-out, and secrets — with zero-knowledge encryption.
A declarative workflow engine that coordinates your services. Define steps as HTTP calls, connect them into DAGs, and let the engine handle retries, sagas, fan-out, and secrets — with zero-knowledge encryption.
Define, deploy, and monitor workflows without writing glue code.
Define in JSON or YAML. Visual editor + AI generator. No code required.
Fan-out, race, scatter, batch strategies. Bounded concurrency. DAG-based scheduling.
Retry with backoff. Saga compensation. Signal-based wait states. Idempotency keys.
Your private key never leaves your device. Per-record envelope encryption. Database dumps are unreadable.
Encrypted secret store. {{ secrets.NAME }} in headers and bodies. Redacted from logs.
Live step DAG with status colors. Event stream. Signal delivery. AI workflow generator.
Three steps to your first workflow run.
Write a workflow in JSON/YAML or describe it to the AI generator.
Register via API or the visual editor. Secrets stay encrypted.
HTTP POST starts a run. Watch steps execute in real-time.
{
"name": "order-flow",
"version": 1,
"triggers": [{"type": "http"}],
"steps": {
"validate": {
"request": {
"method": "POST",
"url": "https://api.example.com/validate",
"body": "{{ trigger.body }}"
}
},
"charge": {
"after": ["validate"],
"request": {
"method": "POST",
"url": "https://payments.example.com/charge",
"headers": {
"authorization": "Bearer {{ secrets.STRIPE_KEY }}"
}
},
"retry": {"on": [500, 503], "max": 3}
},
"notify": {
"after": ["charge"],
"request": {
"method": "POST",
"url": "https://api.example.com/notify",
"body": "{{ steps.charge.response.body }}"
}
}
}
}
An e-commerce fulfillment workflow with parallel branches, retries, and saga compensation.