Revox lets you build, test, and deploy AI voice agents that make real phone calls. This guide walks you through every step — from signing up to launching your first campaign at scale.
1. Sign Up
Head to app.getrevox.com and create your account. You have two options:
Email & password — enter your email, choose a password, and verify your address via the confirmation link we send.
Google OAuth — click "Continue with Google" to sign in instantly with your Google account. No extra password needed.
Once signed in, you land on the dashboard. From here you can create assistants, launch campaigns, and review your call history.
2. Create an Assistant
An assistant is the voice agent that powers your calls. It defines what the agent says, how it sounds, and what it does during a conversation. Navigate to Assistants → New Assistant to get started.
The assistant form is organized into tabs. Here is what each one controls:
Voice & Prompt
This is the core of your assistant — the personality and the voice.
Assistant Name — a label for your own reference (e.g. "Support Agent", "Lead Qualifier").
Voice — pick a voice from the voice library. You can preview how each voice sounds, choose the provider (Cartesia, ElevenLabs, etc.), and adjust the speaking speed.
Background Sound — optionally add ambient office noise to make the call feel more natural.
System Prompt — this is the main instruction for the AI. Describe the agent's personality, goals, and how it should handle the conversation. You can use {{VARIABLE_NAME}} placeholders that get filled with real values when you place calls (e.g. {{NAME}}, {{COMPANY}}).
Opening Message — controls what the agent says first when the call connects. Three modes:
Generated — you describe what the greeting should convey, and the AI crafts a natural-sounding opening on the fly.
Static — the agent speaks your text exactly as written. Great for compliance or very specific scripts.
None — the agent stays silent and waits for the other person to speak first. Useful for inbound scenarios.
First Sentence Delay — a small pause (0–3000 ms) before the agent starts speaking. Handy to let the callee finish saying "hello" before the agent jumps in.
End of Call Message — an optional goodbye message the agent says before hanging up. Supports variables too.
Assistant — Voice & Prompt
You are a friendly sales assistant for {{COMPANY}}. Your goal is to speak with {{NAME}} and schedule a product demo. Be professional, concise, and personable. Reference their role as {{ROLE}} when relevant.
iUse {{variableName}} to insert dynamic values per call
GeneratedStaticNone
Greet {{NAME}} warmly and introduce yourself as an AI assistant from {{COMPANY}}.
FAQ
Add question-and-answer pairs that your assistant can draw on during the conversation. This is useful for common objections, pricing questions, or product details that the agent should handle consistently.
Retry
Configure what happens when a call doesn't reach a human. You can set:
Max retry attempts — how many times to call back (default: 3).
Calling windows — time ranges during which the agent is allowed to call (e.g. 10:00–18:00), with a delay between retries.
Timezone — optionally lock the timezone, or let Revox derive it from the phone number's country code.
Assistant — Retry Configuration
−3+
Auto-detect from phone number▾
From
10:00
To
18:00
Delay
2
Hours
✕
From
09:00
To
12:00
Delay
30
Min
✕
Data Extraction
Define structured data fields that Revox should extract from the conversation once the call is complete. For each field, you set a name, a type (text, boolean, number, etc.), and a description. After the call ends, Revox analyzes the transcript and fills in the values automatically. This is perfect for qualifying leads, capturing appointment times, or flagging sentiment.
Assistant — Data Extraction
Name
Type
Description
Req
interested
Boolean
Whether the prospect expressed interest
✓
✕
meeting_date
DateTime
Agreed meeting date and time
✕
sentiment
Enum
Overall tone of the conversation
✓
✕
notes
String
Key takeaways from the call
✕
Tools
Tools are actions the agent can take during a live call:
Warm Call Transfer — the agent can transfer the call to a human agent at a specified phone number. It introduces the caller before handing off, so the human has context.
IVR Navigation — enables the agent to navigate phone menus autonomously by sending DTMF tones and waiting through hold music. Useful when calling businesses.
Leave Voicemail — when voicemail is detected, the agent speaks a custom message before hanging up. If disabled, it hangs up immediately. The voicemail message supports variables.
Calendly Integration — connect your Calendly account to let the agent book meetings directly during the call.
Call Settings
Set the maximum call duration in minutes. When the limit is reached, the call is automatically ended. The default is 5 minutes.
Advanced
Configure a webhook URL to receive a POST request whenever a call ends. The payload includes the full call details — transcript, structured output, duration, result, and more. This is useful for piping call data into your CRM, database, or automation workflows.
Once everything is configured, click Create Assistant. You can always come back and edit any setting later.
3. Test Your Assistant
After creating an assistant, you can test it instantly from its detail page. The Test Assistant panel lets you trigger a real phone call to yourself (or any number) so you can hear the agent in action.
Phone Number (To) — enter the number you want the agent to call. It validates E.164 format automatically.
From Phone Number — if you've imported your own phone numbers, you can choose which one the call comes from. Otherwise, Revox uses a default system number.
Prompt Variables — if your prompt uses {{VARIABLES}}, fields appear so you can fill in test values (e.g. a name, a company). The form remembers your recent inputs for faster iteration.
Click Call Me and a live status dialog opens. You see the call status in real time (ringing → ongoing → completed) along with the conversation transcript as it unfolds. If your assistant has data extraction configured, the extracted values appear at the end of the call.
4. Create a Campaign
Campaigns let you call a list of contacts in bulk using one of your assistants. Navigate to Campaigns → New Campaign. The process is a simple three-step wizard:
Step 1 — Select Assistant & Settings
Campaign Name — give it a descriptive label (e.g. "Q1 Customer Outreach").
Select Assistant — choose which assistant will power all calls in this campaign.
Outbound Phone Number — optionally pick one of your imported numbers as the caller ID.
Limit Concurrent Calls — restrict how many calls run simultaneously. Leave it off for maximum throughput.
Schedule Campaign — set a specific date and time to start the calls instead of launching immediately.
Retry Configuration — fine-tune retry behavior for this campaign (max attempts, calling windows, timezone). Defaults to your assistant's settings.
Step 2 — Add Data
Upload the list of phone numbers and variable values for each call. You can:
Paste from Excel — copy rows from a spreadsheet and paste directly into the data grid.
Import a CSV or Excel file — upload a .csv or .xlsx file. Columns are matched to your assistant's variables automatically.
Type manually — add rows one by one in the built-in spreadsheet.
The required columns are phone_number plus any variables used in your prompt (e.g. NAME, COMPANY). The form validates phone numbers in real time and highlights errors.
Campaign — Step 2: Add Data
Paste from ExcelImport CSVImport Excel
#
phone_number
NAME
COMPANY
ROLE
1
+1 (555) 012-3456
Sarah Chen
Acme Corp
VP of Sales
✓
2
+44 7700 900123
James Miller
Globex Inc
CTO
✓
3
12345
Marie Dupont
TechStart
Founder
✕
4
+33 6 12 34 56 78
Luca Rossi
FinanceHub
Head of Ops
✓
5
+1 (555) ...
—
—
—
4 contacts · 1 invalidVariables from prompt: NAME, COMPANY, ROLE
Step 3 — Review & Launch
Review a summary of your campaign (assistant, total calls, concurrency, schedule) and preview the data. Before launching, you can optionally click Format for TTS to let AI optimize your text data for better text-to-speech pronunciation (e.g. expanding abbreviations, formatting numbers). Then hit Launch Campaign — calls start immediately (or at the scheduled time).
Campaign — Q1 Customer Outreach
Q1 Customer Outreach
Running
Lead Qualifier · Started 2h ago
Progress142 / 218
34
Pending
8
Calling
34
Retry Later
132
Completed
10
Failed
5. Call History & Details
The Call History page is your command center for reviewing past calls. It shows a table of all calls with key information at a glance:
Phone number, status (queued, ringing, ongoing, completed).
Result — whether a human picked up, it went to voicemail, or hit an IVR menu.
Completion score (1–3), duration, which assistant and campaign were used.
Timestamps for when the call started and ended.
You can search by phone number, filter by status, result, completion score, assistant, campaign, or outbound phone number. The table supports pagination and you can customize which columns are visible.
Call History
Search by phone number...
Filters 2Columns
Phone
Assistant
Status
Result
Duration
Called At
+1 (555) 012-3456
Lead Qualifier
Completed
Human
3:24
2 min ago
+44 7700 900123
Support Agent
Completed
Voicemail
0:42
15 min ago
+33 6 12 34 56 78
Lead Qualifier
Calling
—
—
just now
+1 (555) 987-6543
Lead Qualifier
Completed
IVR
1:05
1h ago
Page 1 of 12
←→
Call Details
Click any row to open the call details panel. Here you'll find:
Attempt details — status, result, who ended the call, duration, and timestamps. For calls with multiple attempts, you can switch between them using a dropdown.
Recording — a full audio player with waveform visualization, play/pause, seek, and a shareable public link.
Structured output — the data fields extracted from the call, displayed as a clean card with boolean flags, string values, and numbers.
Transcript — the full conversation in a chat-bubble format showing who said what, including tool calls (transfers, DTMF tones, etc.). You can copy the entire transcript with one click.
Call Details — +1 (555) 012-3456
+1 (555) 012-3456
Lead Qualifier · Q1 Customer Outreach
CompletedHuman
Duration
3m 24s
Ended By
Assistant
Attempts
1 / 3
Recording
▶
1:42 / 3:24
Structured Output
interestedtrue
meeting_date2026-03-20 14:00
sentimentpositive
notesWants enterprise pricing for 50+ seats
Transcript
Hi Sarah, this is Alex from Acme Corp. How are you today?
Hi Alex! I'm doing well, thanks. What's this about?
I'm reaching out about our new enterprise plan. Would a quick demo be useful?
Actually, yes. We need a solution for about 50 seats. Can we do Thursday afternoon?
· · ·
6. Import Your Own Phone Number
By default, Revox uses a shared system number for outbound calls. If you want calls to come from your own number (for branding, local presence, or compliance), go to Phone Numbers in the dashboard. Revox supports three providers:
Import Phone Number
TwilioTelnyxSIP (BYO)
AC1234567890abcdef...
••••••••••••••••
List Numbers
Credentials are only used to fetch your numbers and are not stored.
Twilio
Click Add Phone Number and select the Twilio tab.
Enter your Twilio Account SID and Auth Token. These credentials are used only to list and import your numbers — they are not stored.
Revox fetches your available Twilio numbers. Select the one(s) you want to import and confirm.
Telnyx
Select the Telnyx tab and paste your Telnyx API Key.
Your Telnyx numbers are listed automatically. Pick the ones to import.
SIP (Bring Your Own Trunk)
Select the SIP tab.
Enter the phone number (in E.164 format), the SIP endpoint (outbound address), and optionally a SIP username and password.
Click Configure SIP Trunk. Revox will route outbound calls for that number through your SIP trunk.
Once imported, your numbers appear in the Phone Numbers table. You can assign a label to each one, select an inbound assistant (so incoming calls to that number are handled by a specific agent), and use them as the caller ID in campaigns and test calls.
7. API & SDKs
Everything you can do in the dashboard is also available programmatically through the Revox API. The full reference is at docs.getrevox.com/api.
Key Endpoints
Assistants — create, list, update, and delete assistants (POST /assistants, GET /assistants, etc.).
Calls — place a single call, retrieve call details, or list past calls (POST /call, GET /call/{id}).
Campaigns — create and manage bulk calling campaigns (POST /campaigns, GET /campaigns/{id}/rows).
Voices — browse available voices and generate audio previews (GET /voices, POST /voices/preview).
Terminal
# Place a call with prompt variables
curl -X POST https://api.getrevox.com/v1/call \
-H "Authorization: Bearer rk_live_..." \
-H "Content-Type: application/json" \
-d '{
"assistant_id": "ast_9x8k2m",
"phone_number": "+15550123456",
"variables": {
"NAME": "Sarah Chen",
"COMPANY": "Acme Corp",
"ROLE": "VP of Sales"
}
}'
We publish official SDKs to make integration faster:
Language
Package
Install
TypeScript
@revoxai/sdk
npm install @revoxai/sdk
Python
revox
pip install revox
Ruby
revox
gem "revox"
Check the API documentation for authentication details, request/response examples, and guides for common workflows like placing calls with prompt variables, handling webhooks, and exporting campaign results.