Skip to main content
Dynamic variables resolve at runtime — inject today’s date, timestamps, or custom values into agent prompts without hardcoding.
The user sends a prompt with {{today}} or custom placeholders; resolvers inject live values before the model runs.

How It Works

Quick Start

1

Use built-in variables in a prompt

2

Register a custom provider

Built-in Variables

Variables resolve in Agent.start(), Agent.run(), and workflow execution.

Common Patterns

Workflow YAML

Direct substitution

Dynamic variables are lazy-loaded — no performance impact when unused.

Best Practices

Prompts with {{today}} stay accurate across sessions without manual updates.
Call register_variable_provider() before creating agents that reference custom variables.
Pass static values via substitute_variables(text, {"topic": "AI"}) alongside built-in dynamic ones.
Workflow task descriptions and goals support the same {{today}}, {{year}}, and custom providers.

Templates

System and prompt templates

Workflows

YAML workflows with variable substitution