Flows
Flows is a visual workflow builder for creating multi-step AI pipelines. Drag integrations onto a canvas, wire them together, and run — no code required.How it works
- Open Flows from the sidebar
- Click + New or describe a flow in the text box
- Drag integrations onto the canvas and wire them together
- Configure each integration in the properties panel
- Click Run to execute the flow
Integration types
Every step in a flow is an integration. There are 10 kinds:Edge types
Edges connect integrations. Four kinds control data flow direction:Building flows
Canvas controls
Text-to-flow
Type a natural-language description in the text box at the top and press Enter. The parser recognizes keywords and creates a flow automatically:Properties panel
Click any integration on the canvas to open its configuration panel:- Label — display name on the canvas
- Description — sub-label (model name, tool ID, etc.)
- Kind — integration type (trigger, agent, tool, etc.)
- Config — kind-specific settings:
- Agent: prompt text, assigned agent (dropdown of your real agents)
- Code: inline JavaScript with
inputandcontextvariables - Condition: expression to evaluate
- Tool: MCP tool name and parameters
Folders
Flows can be organized into folders:- Open flow properties (click canvas background)
- Set the Folder field (e.g.
Production,Drafts) - Flows are grouped by folder in the sidebar with collapsible headers
Templates
Switch to the Templates tab in the sidebar to browse pre-built flow patterns.Categories
Click Use Template to instantiate a template as a new flow with auto-layout.
Search & filter
- Type in the search box to filter by name, description, or tags
- Click a category chip to filter by category
- Click All to reset
Execution
Running a flow
- Select a flow from the sidebar
- Click the Run button (▶) in the toolbar
- Watch integrations execute in order — status indicators show progress:
- 🔴 Running — red breathing pulse
- 🟢 Success — sage green border
- ❌ Error — red border
- ⏸ Paused — gold oscillating border
Debug mode
Step through a flow one integration at a time:- Click the Debug button (🐛) in the toolbar
- Set breakpoints by right-clicking integrations
- Use Step to advance one integration at a time
- Inspect intermediate data values shown on edges
- View the debug inspector panel for full input/output of each step
Error handling
- Error edges route failures to error handler integrations
- Error integrations catch and process failures (log, alert, retry)
- The flow report in chat shows step-by-step results with timing
Scheduling
Flows can run on a schedule using cron expressions:- Open a flow’s properties panel
- Enable the Schedule toggle
- Enter a cron expression
Code integrations
Code integrations run sandboxed JavaScript:- Code runs in a sandboxed
Function()constructor — no access to DOM, fetch, or filesystem - Return value becomes the integration’s output, passed to downstream integrations
- Timeout enforced to prevent infinite loops
Chat reporter
When a flow runs, a flow report appears in the chat conversation showing:- Flow name and step count
- Progress bar
- Each step’s status, duration, and output
- Final summary with success/error counts and total duration
Conductor Protocol
The Conductor is an automatic optimization layer that analyzes flow graphs before execution. When the graph contains parallelizable structures, the Conductor compiles anExecutionStrategy with optimized units:
The Conductor activates automatically when a flow has 4+ nodes, any parallel branches, or a mix of agent and non-agent nodes. No manual configuration is needed.
→ Deep dive: Conductor Protocol reference
Tesseract flows
A tesseract flow partitions the graph into independent cells — sub-graphs that share no data edges between them. Each cell executes its agents in topological order, and all cells run in parallel. An event horizon node acts as a synchronization barrier, collecting outputs from every cell viamergeAtHorizon before the flow continues.
Tesseract flows are detected automatically when the graph contains 2+ disconnected agent clusters separated by non-agent boundaries.
Memory integration
Before any node executes, the flow executor pre-recalls relevant long-term memories from the Engram memory system. Agent nodes receive these memories in a[Relevant Memory] section in their prompts.
In tesseract flows, each cell gets its own cell-scoped memory — resolved from the cell’s specific agent prompts — so parallel cells never race on shared memory state.
→ Deep dive: Memory guide
Persistence
- Flows are stored locally in
localStorageunder keyopenpawz-flows - All data stays on your machine — no cloud sync
- Export/import via JSON serialization

