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
Caller's email{{user_email}}The caller's email address
Agent's name{{agent_name}}The agent's own configured name
Agent's phone number{{agent_number}}The agent's own outbound phone number

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}} is always present when this feature applies, so there's no fallback to worry about.

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

Where this works

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

Next step

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