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.Best Practices
System variables like
{{direction}} and {{current_time}} are particularly useful for context-aware prompts that behave differently for inbound vs outbound calls.