Nested Data Structures
Variables can be objects or arrays with nested structure. Object example:Enum Values
Restrict a variable to a fixed set of options:Variable Usage Tracking
The system can track where variables are used:- Which nodes reference each variable
- Which fields contain references
- Count per field and last usage
JSONPath Path Selector (Tool Extraction)
For tool nodes, the path selector lets you pick extraction paths from the response instead of typing JSONPath by hand. Typical workflow:- Configure tool (endpoint, headers, params).
- Test tool (API: “Test Tool”; Web: define expected response).
- Add extracted variable → open path selector.
- Browse tree (expand/collapse, hover for types/values).
- Click a field → JSONPath is filled (e.g.
$.data.user.email). - Preview shows the extracted value; save when correct.
Technical Architecture
Store Structure
Variables store holds:extractedVariables, systemVariables, customVariables, referencedVariables, nodeAvailabilityCache, cacheVersion, isRecalculating, validationErrors.
Key Utilities
- Variable context:
getVariableAvailabilityForNode(),analyzeFlowExecutionOrder(), path analysis - JSONPath mapper:
userToBackendPath()($.path→result.path),backendToUserPath() - Variable detection: Scan text for
{{...}}, extract names, validate syntax - Context rules: Pattern-based recommendations and context-aware suggestions