User Interface Components
Variables Panel
Location: Right sidebar in the flow builder Shows:- System variables (15+)
- Custom variables
- Summary count of extracted variables by node
Variable Input Components
Used when editing text fields in the flow builder. Shows: Variables that are valid in the current context (system, custom, and for flow agents: extracted/static from predecessor nodes). Features: Context-aware list, search/filter, categories, type hints, click to insert{{variable_name}}.
Variable Selection Modal
Features:- Filtered by context (only variables available at the current node)
- Suggestions by node type
- Tabs by category (system, custom, extracted, static)
- Search and preview
- Validation of references
Variable Builder (Extraction)
Used in conversation and tool nodes to define extracted variables. Features: Add/edit/delete extracted variables, extraction prompts (AI), JSONPath (toolpath), data types, required flag, enums, nested objects/arrays.Static Variables Builder
Used in nodes to define static variables. Features: Add/edit/delete static variables, all data types, template support, JSON editor for objects/arrays, validation, duplicate checks.Validation System
Name Validation
- Format: snake_case
- Uniqueness: No duplicate names in the same scope
- Reserved: No system variable names
- Length: 1–50 characters
Reference Validation
- Existence: Referenced variable exists
- Availability: Variable is available at the current node
- Syntax: Valid
{{variable_name}}form - Circular references: Detected and reported
Type Validation
- Data type: Value matches declared type
- Enum: Value is one of the allowed options when enum is used
- Required: Required variables must have values
Extraction Validation
- AI: Extraction prompt present
- Toolpath: Valid JSONPath
- DTMF: No conflicting DTMF transitions
Performance
- Node availability cache: Cached per node; invalidated on flow or variable changes
- Lookups: Map-based (e.g. name → variable, node → available variables)
- Batching: Recalculation and validation are batched
- Flow–variables bridge: Keeps flow and variable stores in sync without circular dependencies