Feature · Flows

From single prompt to full workflow.

Chain prompts together with conditional branching, retries on schema failure, and typed inputs and outputs. Call the whole flow with a single API request — and watch every step in production.

1 call
End-to-end
Whole flow behind one endpoint
100%
Typed I/O
JSON Schema in & out
0 ops
To run in prod
Versioned, observable, hosted
What you get

A real workflow engine for prompt-shaped problems.

Visual builder
Drag, wire, ship.

Drop prompts onto a canvas, wire outputs into inputs, add branches, loops, and human approval steps. Live-test as you build.

  • Conditional branching
  • Loops & fan-out / fan-in
  • Human approval gates
Typed I/O
Schemas at the edge.

Every flow has a JSON Schema for its inputs and outputs. Validate at the door — no ad-hoc parsing in your app code.

  • Auto-generated TypeScript types
  • Schema-failure retries
  • Versioned contracts
Observability
See every run, every step.

Every step's prompt, model, latency, tokens, and cost is logged. Drill into any run to debug, replay, or fork.

  • Per-step traces
  • One-click step replay
  • Cost & latency rollups
Safe to deploy
Guardrails out of the box.

PII redaction, denylists, and per-flow budgets are first-class. Approvals can gate production promotions.

  • PII redaction & masking
  • Per-flow spend limits
  • Approval-gated releases
Building a flow

A flow goes from sketch to production in a single afternoon.

01
Sketch

Drop prompts onto the canvas, define inputs.

02
Wire

Connect outputs to inputs, add branches and retries.

03
Test

Live-run with sample data; replay any step in isolation.

04
Ship

Promote a version, hit it from one HTTPS endpoint.

Flows turned a tangle of cron jobs and brittle scripts into one endpoint our app calls. We deleted half a service.
M
Marco DeLuca
Staff Engineer, B2B SaaS
— Questions

The things people ask.

Can a flow call other flows?+

Yes. Compose flows like functions — outputs flow in, results flow out, with the same typed contract.

What happens when a model returns invalid JSON?+

We auto-retry against the schema with backoff and let you set a fallback model. Persistent failures route to a dead-letter queue you can inspect.

Is there a runtime SDK?+

Call any flow over HTTPS or use our typed Node / Python / TypeScript clients. We generate types from your schemas.

Can humans approve mid-flow?+

Yes — drop in an approval step. Reviewers get a link, approve or reject, and the flow resumes.

Ship your first flow today.