AI Evy
07/31/2026, 5:01 PMAI Evy
07/31/2026, 5:01 PM{{current_time}} - Current time in America/Los_Angeles
- {{current_time_[timezone]}} - Current time in a specified timezone, for example: {{current_time_Australia/Sydney}}
- {{current_hour}} - Current hour as a fraction in America/Los_Angeles
- {{current_hour_[timezone]}} - Current hour as a fraction in specified timezone
- {{current_calendar}} - 14-day calendar in America/Los_Angeles
- {{current_calendar_[timezone]}} - 14-day calendar in specified timezone
To dynamically set the timezone, you can use nested variables. For example:
{{current_time_{{my_timezone}}}}
If you set my_timezone to America/Los_Angeles, this evaluates to {{current_time_America/Los_Angeles}} first, then resolves to the actual time.
You can pass the my_timezone variable when creating a call using the retell_llm_dynamic_variables field in the Create Phone Call API. [(1) ]() [(2) ]()
In your agent prompt, include the current time reference so the agent understands temporal context. For example: "Now is {{current_time_{{timezone}}}}. Add X hours to make it our timezone". [(3) ]()AI Evy
07/31/2026, 5:01 PMAI Evy
07/31/2026, 5:01 PMVyyy
07/31/2026, 5:03 PMVyyy
07/31/2026, 5:03 PMAI Evy
07/31/2026, 5:03 PMAI Evy
07/31/2026, 5:04 PM{{my_timezone}}. [(1) ]()
To set a default timezone for your agent:
1. Configure agent-level default dynamic variables in your agent settings
2. Set my_timezone to your desired timezone (like America/New_York for EST)
Then use nested variables in your prompts:
{{current_time_{{my_timezone}}}}
This evaluates to {{current_time_America/New_York}} and then resolves to the actual time.
Important: Use IANA timezone identifiers (like America/New_York) rather than abbreviations like "EST", as the system variables expect full timezone names like America/Los_Angeles or Australia/Sydney.
For production calls, you can override the agent-level default by passing my_timezone in the retell_llm_dynamic_variables field when creating a call. [(1) ]() [(2) ]() Agent-level defaults only apply when specific variables aren't included in the call request. [(1) ]()AI Evy
07/31/2026, 5:04 PMAI Evy
07/31/2026, 5:04 PMVyyy
07/31/2026, 5:05 PMAI Evy
07/31/2026, 5:05 PMAI Evy
07/31/2026, 5:05 PM{{current_time_America/New_York}}
Option 2: Use nested variables for dynamic timezone
If you want to set my_timezone as a variable that can be changed per call, set it up like this:
1. Set my_timezone to America/New_York (just the timezone name, not the full expression)
2. In your prompt, reference it as:
{{current_time_{{my_timezone}}}}
This evaluates in two steps: first {{my_timezone}} becomes America/New_York, then {{current_time_America/New_York}} resolves to the actual time.
Your error: You're trying to assign {{current_time_{{America/New_York}}}} to {{my_timezone}}, which creates invalid nested syntax. The variable my_timezone should contain only the timezone identifier string (like America/New_York) , not the full time expression.AI Evy
07/31/2026, 5:05 PMAI Evy
07/31/2026, 5:05 PMVyyy
07/31/2026, 5:06 PMAI Evy
07/31/2026, 5:06 PMAI Evy
07/31/2026, 5:06 PMThe current time is {{current_time_America/Chicago}}. Use this as your reference for all time-related conversations.
For dynamic timezone support that you can override per call, use this approach:
Step 1: Set agent-level default
In your agent's default dynamic variables, set:
- Variable name: my_timezone
- Value: America/Chicago
Step 2: Reference it in your global prompt:
The current time is {{current_time_{{my_timezone}}}}. Use this as your reference for all time-related conversations.
This nested variable syntax first resolves {{my_timezone}} to America/Chicago, then evaluates {{current_time_America/Chicago}} to the actual time.
Step 3: Override dynamically per call
When creating calls via API, pass different timezones in `retell_llm_dynamic_variables`:
json
{
"my_timezone": "America/New_York"
}
The agent-level default (America/Chicago) only applies when you don't provide my_timezone in the call request.AI Evy
07/31/2026, 5:06 PMAI Evy
07/31/2026, 5:06 PMVyyy
07/31/2026, 5:32 PMVyyy
07/31/2026, 5:32 PMAI Evy
07/31/2026, 5:32 PMAI Evy
07/31/2026, 5:32 PMagent_override.agent.timezone is not a dynamic variable field. The timezone field is part of the agent configuration itself, not how you pass dynamic timezone values per call.
Issue 2: Wrong structure for agent_override
If you want to use agent_override, the structure should be nested objects, not dot notation.
Correct approach for dynamic timezone:
json
{
"from_number": "+14328887928",
"to_number": "+14074888682",
"override_agent_id": "agent_fd7f7da2e78727ae2f59d2caaa",
"retell_llm_dynamic_variables": {
"my_timezone": "America/Chicago"
}
}
[(2) ]() [(1) ]()
This passes my_timezone as a dynamic variable that your prompt can reference using {{current_time_{{my_timezone}}}}. [(2) ]()
Alternative: Set agent timezone directly in agent_override
If you want to override the agent's timezone setting itself (not as a dynamic variable) , use:
json
{
"from_number": "+14328887928",
"to_number": "+14074888682",
"override_agent_id": "agent_fd7f7da2e78727ae2f59d2caaa",
"agent_override": {
"agent": {
"timezone": "America/Chicago"
}
}
}
[(1) ]()
The first approach (using retell_llm_dynamic_variables) is recommended for your use case since you want to dynamically pass timezone per call. [(2) ]() [(1) ]()
**AI Evy
07/31/2026, 5:32 PMAI Evy
07/31/2026, 5:32 PM