Describe how events flow.
Run exactly that.
FlowDSL is one readable file for nodes, edges and delivery guarantees. Validate it, see it as a graph, run it on any runtime.
Sibling to OpenAPI and AsyncAPI.- routineurgent
Classifies intent and urgency with an LLM; output is a typed packet.
- kind
- llm
- operationId
- classify_intent
- runtime
- Python · gRPC
- inputs → outputs
- packet → packet
- 01
Nodes are business logic
Pure, testable units of work. No transport, no broker code inside.
- 02
Edges carry the guarantee
Pick a delivery mode per edge — in-process, Redis, Mongo, Postgres or Kafka.
- 03
The runtime keeps the promise
Retries, checkpoints and replay come from the edge policy, not glue code.
Edge delivery
Five guarantees. One line of YAML.
Choose how much an edge must survive. Same nodes, same code — only the policy changes. Try crashing the consumer.
consumer up · packets delivered
- from: ChargePayment
to: FulfillOrder
delivery:
mode: durableUse it for: Money, orders and anything that must never be lost.
In production
Change a running app. No redeploy. No downtime.
A published flow version takes effect on the next request — the process keeps serving while you change what it does.
Publish a new version with a different LLM. The next request uses it.
nodes: Answer: operationId: redelay/llm-chat kind: llm settings: providerID: ollama model: qwen3-14b temperature: 0.2Illustrative numbers. The mechanics are Redelay’s: deployments & A/B variants, trace, debug taps.
Node kinds
Ten kinds of node. Every graph is built from these.
The kind decides a node’s role and how Studio draws it. Pick one to see its card and YAML.
Calls a model and returns a typed result — prompts live in config, not code.
LLMClassifier:
kind: llm
operationId: classify_intentWorks with your specs
Completes the API spec family.
Keep your OpenAPI and AsyncAPI documents. FlowDSL references their schemas and adds the part they don’t describe: the flow.
View the JSON Schema$ref: "openapi#/components/schemas/Order"$ref: "asyncapi#/components/messages/OrderPlaced"flowdsl: "1.0.0"Get started
Write it. Validate it.Run it anywhere.
- DeclareNodes, edges and delivery in one .flowdsl.yaml.
- VisualizeThe canvas is a projection of the file — never the other way round.
- ExecuteGo runtime today; Python and TypeScript SDKs in development.
go run github.com/flowdsl/flowdsl-go/cmd/flowdsl-validate@v0.1.0 my-flow.flowdsl.json- NodeHandler interface, packets and settings
- Document parser + structural validator
- Runtime interfaces: Engine, Checkpoint, DeliveryAdapter
go get github.com/flowdsl/flowdsl-goRuntime
Runs on Redelay.See it working.
FlowDSL's Go runtime is Redelay. Publish a flow version and it takes effect on the next request — no restart. Deployments carry stable and canary variants; debug taps watch node I/O without touching it.
- Demo adminFlows running in a real Redelay admin
- Flow deployments & A/B variantsStable + canary with routing weights
- Trace & debug tapsPassive, read-only observers of node I/OTracing ↗Debug taps ↗
Have a project? We'll quote it — free.
The team behind FlowDSL and Redelay builds new AI products — or adds the flow layer to systems you already run.
Ecosystem
Open core.The rest is on its way.
- Open sourceSpec, Go SDK, examples, assistant and reference runtime.Available
- StudioVisual editor with two-way YAML sync.Coming soon
- Node marketplaceShare and install community nodes.Coming soon
- CloudRun FlowDSL flows as a managed service.Coming soon
Answers from the FlowDSL documentation, with links — runs on open models.