Flow Board
What is a Flow?
A flow is a visual diagram that defines how your agent responds to user input. It consists of nodes (actions) connected by edges (flow paths) that create conversation logic.
Creating a New Flow
To create a new flow:
- Navigate to your agent's detail page
- Click "New Flow" in the Flows section
- Give your flow a name and description
- Start building by adding nodes to the canvas
Understanding the Flow Board Canvas
Zoom and Pan
Use your mouse wheel to zoom in and out. Click and drag the canvas background to pan around. Use the zoom controls in the header for precise zoom levels.
Canvas Grid
The canvas has a subtle grid pattern that helps with alignment. The grid scales with zoom level for better visibility.
Node Positioning
Drag nodes freely around the canvas. Their positions are saved automatically. Use the grid to align nodes neatly.
Node Types
Each node type serves a specific purpose in your flow:
Start Node
The entry point of your flow. Automatically created when a flow is created. This is where execution begins.
Message Node
Displays a static message from the agent to the user. Can include variables like ${lastInput} or ${lastResponse}.
Prompt Node
Waits for user input. Stores the user's response in a flow variable (default: ${lastInput}). This is where conversations pause for user interaction.
Model Node
Calls an LLM (Large Language Model) with a system prompt. Processes user input and generates AI responses. Can be configured with temperature, model selection, and tools. Output is stored in a variable (default: ${lastResponse}).
Database Node
Performs a vector database search using embeddings. Searches a specified knowledge base with the provided search string. Returns relevant chunks that can be used in subsequent nodes.
Intent Database Node
Special vector search that searches intent phrases across all flows in the agent. Used for intent detection and routing to appropriate flows.
Goto Flow Node
Navigates to another flow, allowing you to break complex conversations into reusable flow modules. Useful for creating modular conversation structures.
Condition Branch Node
Implements conditional logic to route to different branches based on input. Supports multiple matching methods:
- Regex Matching - Pattern-based text matching
- Cosine Similarity - Semantic similarity using embeddings
- LLM-based - Uses an LLM to classify input and select branch
Branch Node
Individual branch option for a Condition Branch Node. Each branch can have phrases associated with it for matching. Can optionally navigate to another flow.
Agent Memory Node
Manages user-specific memory stored in the agent's database. Supports three operations:
- GET - Retrieves a value from memory by key
- PUT - Stores a value in memory by key
- APPEND - Adds a child object to a key (for lists/arrays)
Avatar Node
Triggers actions for the avatar (toyHead). Allows you to control avatar behavior and animations during conversations.
Connecting Nodes
Nodes are connected with edges (lines) that define the flow of conversation:
- Click on a node's output port (bottom) and drag to another node's input port (top) to create a connection
- Edges show the path of execution from one node to the next
- Edges use bezier curves for clean visual representation
- You can have multiple outgoing edges from condition nodes (one per branch)
- Delete edges by selecting them and pressing Delete, or through the inspector panel
Flow Variables
Variables allow you to store and reuse data throughout your flow execution:
Built-in Variables
${lastInput} - The most recent user input${lastResponse} - The most recent AI model responseCreating Custom Variables
You can define custom variables in the Flow Variables dialog (accessible from the flow header):
- Click the "Variables" button in the flow header
- Add variable names (without the
${}prefix) - Variables are available in all nodes once created
Using Variables
Use variables in node content by typing ${variableName}. For example:
Variables are automatically replaced with their values during flow execution.
Inspector Panel
The inspector panel (visible in the sidebar) allows you to configure selected nodes:
- Click on any node to select it
- The inspector shows configuration options specific to that node type
- Changes are saved automatically
- Use the inspector to edit node properties, content, and settings
Running Flows
Test your flow by clicking the Play button in the flow header:
- Click the Play button (▶) in the flow header
- A chat interface opens in the sidebar
- Interact with your flow to test its behavior
- Watch as the flow executes node by node
- The conversation thread is saved for later review
Tips for Building Flows
- Start simple - Begin with basic message and prompt nodes
- Use descriptive names for your nodes to keep flows readable
- Test frequently - Run your flow often during development
- Break complex logic into separate flows using Goto Flow nodes
- Use variables to pass data between nodes
- Keep your canvas organized - use the grid to align nodes