{{variable}} placeholders that resolve at runtime, supporting both flat variables and dot-notation for nested data structures.
Quick Start
How It Works
| Resolution Order | Description |
|---|---|
| 1. Provider Registry | Dynamic providers (for non-dotted names only) |
| 2. Dict Traversal | Navigate nested dicts using dot notation |
| 3. Graceful Fallback | Keep original {{...}} if not found |
Configuration Options
| Pattern | Type | Description |
|---|---|---|
{{name}} | str | Flat variable name - checks providers then static variables |
{{obj.prop}} | str | Dot notation - traverses nested dicts only |
{{missing}} | str | Missing variables remain as literal text (graceful fallback) |
- Only dict objects are traversed (not lists, objects, or attributes)
- Provider registry is consulted only for non-dotted names
- Missing segments result in graceful fallback (no errors)
Common Patterns
Pattern 1: User Configuration
Pattern 2: API Endpoint Templates
Pattern 3: Multi-Level Data Access
Best Practices
Use Descriptive Variable Names
Use Descriptive Variable Names
Choose clear, descriptive names that make templates self-documenting.
Structure Data Hierarchically
Structure Data Hierarchically
Organize related data into logical groupings for cleaner templates.
Handle Missing Data Gracefully
Handle Missing Data Gracefully
Design templates that degrade gracefully when optional data is missing.
Avoid Deep Nesting
Avoid Deep Nesting
Keep dot-notation paths reasonably short for maintainability.
Related
Agent Configuration
Using variables in agent setup
Workflow Variables
Variable passing between workflow steps

