Skip to main content

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

VariableInsert thisWhat 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)

{{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.

Where this works

All nine 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}} always reflect the agent's own configuration regardless of caller data.

Next step

See Agent Prompting for general guidance on writing effective agent instructions.