Variable Types
RevRing supports three types of variables:- System Variables: Automatically provided for every call with contextual information
- Default Variables: Static variables you configure on the agent that apply to all calls
- Dynamic Variables: Call-specific variables set per outbound call or via pre-call webhook for inbound calls
System Variables
System variables are automatically available in every call and provide contextual information about the call itself.
System variables are always available for you to use in your agent’s prompt and first message.
Example Usage
Default Variables
Default variables are static values you configure on your agent that apply to every call. These are useful for consistent information like business name, hours, or policies.Setting Default Variables
Configure default variables via the Update Agent API:{{business_name}}, {{business_hours}}, and {{support_email}}.
Example Prompt with Default Variables
Dynamic Variables
Dynamic variables are set on a per-call basis and override default variables. The method for setting them differs between outbound and inbound calls.For Outbound Calls
Set dynamic variables when sending an outbound call via the Send Call API:For Inbound Calls
Set dynamic variables by returning them from your pre-call webhook. See the Webhooks guide for implementation details. Your webhook receives caller information and returns variables:Complete Example
Here’s a comprehensive example showing all variable types in action:Agent Configuration
Default Variables (via API):Setting Dynamic Variables
For outbound calls:Where Variables Are Substituted
{{variable}} placeholders are replaced in all of the following fields:
- Agent prompt
- First message
- Voicemail message
- Warm transfer fields: hold message, summary instructions (the briefing spoken to the person you transfer to), and intro message
{{external_id}} stays visible), so missing data is easy to spot rather than silently disappearing. Make sure every variable referenced in these fields is supplied on each call.
First Message
The first message is the line your agent speaks when the call connects. It has two modes, controlled by thefirstMessageMode field on the agent.
Static (default)
The agent speaks thefirstMessage text exactly as written. It supports {{variables}}, just like the prompt:
firstMessage empty to have the agent wait for the caller to speak first.
Dynamic
SetfirstMessageMode to dynamic and the agent generates its opening line from the prompt instead of speaking a fixed string. This is useful when a single agent handles both inbound and outbound calls and needs a different greeting for each, since the {{direction}} system variable is available in the prompt:
firstMessage text is ignored. To return to a fixed greeting, set firstMessageMode back to static (or null).
Working with Timezones
RevRing automatically handles timezone conversion for you. The{{current_time}} system variable is formatted in your agent’s configured timezone, and the {{timezone}} variable contains the IANA timezone identifier.
Setting Agent Timezone
Configure your agent’s timezone via the API when creating or updating an agent:Using Timezone in Prompts
Both{{current_time}} and {{timezone}} are automatically available as system variables:
Timezone Format
Use IANA timezone identifiers (e.g.,America/New_York, Europe/London, Asia/Tokyo) as they handle daylight saving time automatically.
Common timezone identifiers:
- US Eastern:
America/New_York - US Central:
America/Chicago - US Mountain:
America/Denver - US Pacific:
America/Los_Angeles - UK:
Europe/London - Central Europe:
Europe/Paris - India:
Asia/Kolkata - Australia (Sydney):
Australia/Sydney
Complete Example
The
{{current_time}} variable is formatted in a human-readable format like “Wednesday, November 26, 2025 at 8:30:00 PM EST” to make it easy for the AI to understand and communicate naturally.Boosting Recognition of Names and Custom Terms
Speech recognition can struggle with uncommon personal names, brand names, and industry-specific terms. You can boost recognition accuracy for terms that matter on a call in two ways:Automatic name boosting
Any call variable whose key containsname (for example first_name, last_name, company_name, attorney_name) is automatically used to improve recognition when the caller says that name. No setup is needed beyond passing the variables you already use.
The agent sttKeyterms setting
Set boosted terms once on the agent and they apply to every call:
- In the dashboard: the “Boosted Terms” field in the agent’s settings.
- In the API: the
sttKeytermsarray on create or update agent requests.
The stt_keyterms variable
For full control, set the reserved variable stt_keyterms to a comma-separated list of terms to boost:
- Keep terms short: single words or short phrases up to about 4 words work best.
- Boost only terms that are likely to be spoken and are hard to recognize (unusual names, product names, case types). Avoid boosting common words.
- Up to 50 terms are applied per call. The agent
sttKeytermssetting, thestt_keytermsvariable, and automatic name variables are combined and de-duplicated. - Like any variable,
stt_keytermsis also visible to the agent as context, which helps it spell and repeat the terms correctly.
Best Practices
System variables like
{{direction}} and {{current_time}} are particularly useful for context-aware prompts that behave differently for inbound vs outbound calls.