Using Variables in Prompts
When you write your agent's Greeting Message or Agent Prompt, you can drop in a variable that gets replaced with real call details on every call — so instead of writing one generic greeting, the agent can say the caller's actual name, or its own number, out loud.
Available variables
| Variable | Insert this | What it becomes |
|---|---|---|
| Caller's name | {{user_name}} | The caller's name |
| Caller's phone number | {{user_number}} | The caller's phone number, e.g. +919876543210 |
| Caller's email | {{user_email}} | The caller's email address |
| Caller's country code | {{user_phone_country_code}} | Just the country code, e.g. +91 |
| Caller's number without the country code | {{user_phone_without_country_code}} | Just the number, e.g. 9876543210 |
| Caller's number with the country code | {{user_phone_with_country_code}} | Same full value as {{user_number}}, e.g. +919876543210 |
| Agent's name | {{agent_name}} | The agent's own configured name |
| Agent's phone number | {{agent_number}} | The agent's own outbound phone number |
| Agent's timezone | {{agent_timezone}} | The agent's configured IANA timezone (e.g. Asia/Kolkata) |
| Current day | {{agent_current_day}} | Today's day of the week in the agent's timezone, e.g. Monday |
| Current date | {{agent_current_date}} | Today's date in the agent's timezone, e.g. January 5, 2026 |
| Current time | {{agent_current_time}} | The current time in the agent's timezone, e.g. 3:45 PM (Asia/Kolkata) |
{{user_phone_country_code}} and {{user_phone_without_country_code}} split the same number
{{user_number}} already gives you into two pieces — useful if your instructions need to talk
about the country code or the local number as a distinct thing, rather than reading out the whole
number at once. {{user_phone_with_country_code}} is provided as a named sibling of the other two
split variables for consistency, but it always holds the exact same value as {{user_number}} —
use whichever name reads more clearly in context.
How to insert one
Click the Variables button above the Greeting Message or Agent Prompt field and pick a value from the list — it's inserted at your cursor, no need to type or remember the exact syntax.
Example
Hello {{user_name}}, thanks for calling! I have your number as {{user_number}} — is that still the best way to reach you?
On a real call this becomes:
Hello Priya, thanks for calling! I have your number as +91 98765 43210 — is that still the best way to reach you?
What happens if a value is missing
Not every call provides every value. Here's what each variable does when it's not available:
-
{{user_name}}falls back to "there" — e.g. "Hello there, thanks for calling!" -
{{user_number}}and{{user_phone_with_country_code}}are always present when this feature applies, so there's no fallback to worry about. -
{{user_phone_country_code}}and{{user_phone_without_country_code}}fall back to an empty string on the rare call where the phone number can't be split cleanly (e.g. an unusual or malformed number) — write these the same conditional way as{{user_email}}above, rather than a sentence that flatly states the value. -
{{user_email}}falls back to an empty string — the text around it stays, so write sentences that still make sense without it. Avoid a sentence that flatly states the value, since a blank can occasionally read awkwardly out loud; prefer a conditional phrasing instead.Instead of: "Your email on file is {{user_email}}." Write: "If you'd like, I can confirm the email we have on file for you."
-
{{agent_name}}falls back to "Assistant" if the agent has no configured name. -
{{agent_number}}falls back to an empty string if the agent has no outbound number assigned — write it the same conditional way as{{user_email}}above. -
{{agent_timezone}}falls back to Asia/Kolkata (IST) if the agent has no timezone configured. Set the agent's timezone under Agent Settings > Calling Hours. -
{{agent_current_day}},{{agent_current_date}}, and{{agent_current_time}}are always present — they're computed from the current moment in the agent's timezone, so there's no fallback to worry about.
Where this works
All twelve variables are filled in on real phone calls — the API (POST /v1/calls), the
dashboard's "call now" and "schedule a call" actions, campaigns, and inbound calls. {{user_name}}/
{{user_number}}/{{user_email}}/{{user_phone_country_code}}/
{{user_phone_without_country_code}}/{{user_phone_with_country_code}} depend on caller details
being available for that specific call (e.g. a campaign contact list without an email column means
{{user_email}} falls back to blank), while {{agent_name}}/{{agent_number}}/
{{agent_timezone}}/{{agent_current_day}}/{{agent_current_date}}/{{agent_current_time}}
always reflect the agent's own configuration and clock regardless of caller data.
Editing the whole prompt
The variables above are for the Greeting Message and Agent Prompt fields. If you open the System Prompt field lower down the same tab, you get the agent's complete instruction set — with extra tokens for whole instruction blocks (appointments, transfer, during-call tools, and the standing voice-call rules). See The System Prompt.
Next step
See Agent Prompting for general guidance on writing effective agent instructions.