A flow designer built for integration engineers.
Drag, drop and connect, and still get production-grade code.
Drag-and-drop canvas
Build flows from a searchable palette of triggers, connectors, transformers and control-flow blocks. Auto-layout keeps even large flows readable, and a minimap helps you navigate them.
Enterprise integration patterns, ready to use
Choice/Switch, Scatter-Gather, First Successful, Round Robin, Until Successful, For Each, Parallel For Each, Batch Job/Step/Aggregator, Splitter, Aggregators, Cache and Circuit Breaker.
Robust error handling
Try scopes, On Error Continue, On Error Propagate, Raise Error and dedicated error-handler flows, a model Mule developers already know.
Productivity features
Command palette, keyboard shortcuts, quick-add nodes, undo/redo, templates, flow tags and search, light and dark themes, and one-click canvas screenshots for documentation.
Validate as you build
A problems panel highlights configuration issues before you export, and "Test Connection" confirms your connections.
Version everything
Every change can be versioned, compared side by side, rolled back, tagged and published.
Extend with code when you need to
Script blocks for Go, JavaScript, Python and Groovy, or call your own Go modules directly from a flow.
// Runs inside the flow; payload in, payload out func Apply(msg *flow.Message) error { order := msg.Payload().(map[string]any) total := order["total"].(float64) if total > 1000 { order["discount"] = pricing.Tier(total) } msg.SetPayload(order) return nil }
Illustrative example.
Design visually. Deploy natively.
Every flow you build compiles to clean, readable Go, complete with configuration, logging, health checks and a Dockerfile.