AI-native execution loops with explicit budgets, sub-workflows as tools and approval gates.
- agent.run
- mcp.call_tool
- + MCP server
Platform
Build a workflow on the canvas, as JSON or in Python. Every version runs on the same engine, with approvals, the audit trail and long pauses built in rather than switched on.
Three renderings of one workflow definition. Audit-by-construction, optional HITL gates at any step and durability through any pause are properties of the engine, not features you switch on.
01Authoring
Operations draw it, reviewers read it, engineers write it. Watch it being built on the canvas, then switch view. It is one definition, and it versions with your code.
Drag activities onto the canvas, edit the JSON directly or write it in Python. The definition is one object; every view is a rendering of it.
CanvasLive
Drag, wire and configure. Every node is the same activity, with the same schema and the same validation.
JSONLive
Diffable and reviewable. The definition sits in version control next to the rest of your code.
PythonTo confirm
Decorators that compile to the same definition, for teams who want to test locally before deploying.
02Primitives
Ready-made steps for the work in between: reading documents, calling systems, asking a person, paying out. Each one is typed, retried and recorded. New steps are added on request.
Eleven categories of typed, retried, audited activities. Compose them, wrap them or author your own; new activities and whole categories are added on request.
AI-native execution loops with explicit budgets, sub-workflows as tools and approval gates.
Pause for a person. Branch, retry and gate, with the engine enforcing the rules.
Structured data out of invoices, receipts, IDs, business cards and any document.
Classify, extract, summarise, translate and decide, with any LLM provider.
Typed requests, signed webhooks, retries and backoff you don’t have to write.
Slack, Teams, email and Telegram. Every send is kept in Communications.
Convert, split, merge, zip and hand off files, with lineage attached.
Transform, validate against a schema, reshape and join between steps.
Query and write to Postgres, MSSQL and MySQL with scoped credentials.
Object storage and blob operations across AWS, Azure and GCP.
28 connectors, including Stripe, HubSpot, Salesforce, Google Workspace and Microsoft 365.
03Durability
A run can wait days for a decision. While it waits it holds no worker and no place in the queue. If a server stops or we ship a release, it carries on where it stopped.
Per-turn dispatch means pause, resume and crash recovery share one primitive: the run’s state lives in the engine’s store, and a worker only ever holds one turn at a time. A two-day wait for an approver is the same code path as a 40-millisecond retry.
Read the durability referenceA worker claims one turn, commits and lets go. Nothing is held open across a wait.
A stopped worker and a two-week pause are the same state change to the engine.
Paused runs use no worker, no thread and no concurrency place.
Ship mid-run. Definitions are versioned, so in-flight runs finish on the version they started on.
04Control plane
Six views, each one click from the workflow that produced what you are looking at. No separate monitoring vendor to wire up.
05Status
Every capability above carries its label. If it isn’t live, it says so.
Checked against the product in September 2026
06Begin
Engineers start from the API. Operations start from the canvas. Both reach the same runs.
Every workflow is callable over a REST API described by one OpenAPI spec, or as a tool through the MCP server.
# start a run (illustrative) POST /api/v1/workflows/refund_claims/runs { "claim": "CLM-2291", "amount": 240.00 } 202 { "run": "run_01JX9", "status": "RUNNING" }
Place your steps and your approval gates, then run. We set up the workspace with you during the pilot.
30-minute call
Bring one process that moves money. We’ll draw it with you, live.