Advanced AI Assistant Settings
Complete reference for every configuration option available on your AIVO AI assistant. Covers voice providers, behavior tuning, prompt variables, tool definitions, voice cloning, and knowledge base management.
TTS Providers
Text-to-Speech (TTS) controls how your AI assistant's voice sounds to callers. AIVO supports multiple providers, each with different strengths.
AIVO Native TTS (Default)
Built-in, low-latency TTS optimized for telephony. Best for most use cases. No additional cost. Supports multiple languages and voices.
Best for: General business calls, cost efficiency
Amazon Polly (AWS)
Neural and standard voices with extensive language coverage. Good balance of quality and speed. Requires AWS credentials.
Best for: Multi-language support, SSML control
Azure Cognitive Services
Microsoft's neural voices. High quality with emotional styles and fine-grained prosody control via SSML.
Best for: Expressive speech, enterprise compliance
ElevenLabs
Ultra-realistic voice synthesis with voice cloning capabilities. Premium quality but higher latency and cost.
Best for: Premium brand experience, voice cloning
Inworld
Specialized for interactive characters with emotional intelligence. Adds personality and dynamic expression to the voice.
Best for: Character-driven experiences, gaming
Dashboard Configuration
Navigate to Settings > AI Advanced and select your preferred TTS provider from the dropdown. Configure provider-specific credentials if needed.
STT Providers
Speech-to-Text (STT) determines how accurately your assistant understands what callers say. Choose based on accuracy needs, language support, and latency requirements.
AIVO Native STT (Default)
Powered by OpenAI Whisper, optimized for telephony audio. Handles background noise, accents, and low-quality audio well. No additional setup.
Deepgram
Real-time streaming transcription with very low latency. Excellent for fast-paced conversations. Supports custom vocabulary and keyword boosting.
Azure Speech Services
Enterprise-grade STT with custom speech models. Supports on-premise deployment for compliance-sensitive environments.
Expressive Mode
When enabled, expressive mode allows the AI to vary its tone, pace, and emphasis based on context. The assistant will sound more natural and engaging rather than reading in a flat, robotic tone.
How to Enable
In the dashboard, go to Settings > AI Advancedand toggle "Expressive Mode" on. Save your changes and the next call will use the new setting.
Silence Detection
The silence_timeout_mssetting controls how long (in milliseconds) the assistant waits after the caller stops speaking before it considers the caller's turn complete and begins responding.
Short (500ms)
Faster responses, may cut off slow speakers
Default (1000ms)
Balanced for most conversations
Long (2000ms)
Lets callers think and continue speaking
Interruption Sensitivity
Controls how easily a caller can interrupt the AI while it is speaking. This affects the conversational flow and determines whether the assistant will stop mid-sentence when it detects the caller talking.
Low
The assistant is hard to interrupt. It will finish its sentences before yielding. Good for delivering important information like appointment details or legal disclaimers.
Medium (Default)
Balanced sensitivity. The assistant will pause if the caller speaks clearly but ignores brief background noise. Recommended for most business use cases.
High
Very easy to interrupt. The assistant stops immediately when it detects any caller speech. Creates a natural conversational feel but may be too sensitive in noisy environments.
Max Call Duration
Sets the maximum length (in seconds) for any single call. When reached, the assistant will politely wrap up the conversation and end the call. This prevents runaway calls and helps control costs.
Set the max call duration in seconds from Settings > AI Advanced > Call Limits. Defaults to 1800 (30 minutes); Enterprise can request up to 7200 (2 hours).
Dynamic Variables
Template variables let you inject dynamic data into your assistant's system prompt at call time. Use double curly braces to define placeholders that get replaced with real values when a call starts.
Available Variables
| Variable | Description |
|---|---|
| {{business_name}} | Your business name |
| {{caller_name}} | Caller's name (if known from contacts) |
| {{caller_number}} | Caller's phone number |
| {{current_date}} | Today's date |
| {{current_time}} | Current time in business timezone |
| {{business_hours}} | Formatted business hours |
| {{custom.*}} | Any custom variable passed via API |
Example Prompt
You are the AI receptionist for {{business_name}}.
The current date is {{current_date}} and time is {{current_time}}.
Our business hours are {{business_hours}}.
If the caller asks for an appointment, check availability
and book one for them.Passing Custom Variables via API
Custom variables are passed when triggering an outbound call through the AIVO public API. Set them under variables in the request body:
curl -X POST "https://aivo.bz/api/v1/calls/outbound" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+15551234567",
"variables": {
"custom.promo_code": "SUMMER25",
"custom.vip_tier": "gold"
}
}'Custom Tools
Custom tools let your AI assistant call external functions during a conversation. When the AI determines it needs to perform an action (like booking an appointment or looking up order status), it triggers a tool call that hits your webhook endpoint.
How It Works
- Define a tool with a name, description, and parameter schema
- The AI decides when to call the tool based on conversation context
- AIVO sends a webhook to your endpoint with the tool name and parameters
- Your server processes the request and returns a result
- The AI uses the result to continue the conversation
Dashboard Setup
Go to Toolsin the sidebar. Click "Add Tool" and fill in the tool name, description (used by the AI to decide when to call it), parameters (JSON Schema), and your webhook URL.
Tool Definition Schema
Tools follow standard JSON Schema for parameters. Define them in the dashboard or POST them to the AIVO public API:
{
"type": "function",
"function": {
"name": "check_appointment_availability",
"description": "Check if a time slot is available for booking",
"parameters": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date in YYYY-MM-DD format"
},
"time": {
"type": "string",
"description": "Time in HH:MM format"
}
},
"required": ["date", "time"]
}
}
}Webhook Payload
When the tool is triggered, your webhook receives:
{
"tool_call_id": "call_abc123",
"function": {
"name": "check_appointment_availability",
"arguments": {
"date": "2026-04-15",
"time": "14:00"
}
},
"conversation_id": "conv_xyz789",
"assistant_id": "asst_def456"
}Your endpoint should return a JSON response with a result field:
{
"result": "The 2:00 PM slot on April 15 is available. Would you like to book it?"
}Voice Cloning
Create a custom voice for your AI assistant. There are two approaches: designing a voice from a text prompt or cloning an existing voice from an audio sample.
Option A: Design from Prompt
Describe the voice you want in natural language. The system generates a voice matching your description. Good when you do not have a reference audio recording.
Example prompt: "A warm, professional female voice with a slight Southern American accent. Calm and reassuring tone, medium pace."
Option B: Clone from Audio
Upload a clear audio recording (at least 30 seconds, ideally 1 to 3 minutes) and the system will clone that voice. The recording should be clean speech without background music or noise.
Supported formats: WAV, MP3, M4A, FLAC. Max file size: 25MB.
Dashboard
Navigate to Settings > AI Advancedand find the Voice section. Click "Custom Voice" to access the voice designer or upload an audio file for cloning.
Knowledge Base
The knowledge base feeds your AI assistant with business-specific information. When callers ask questions, the assistant searches your knowledge base to provide accurate, up-to-date answers.
How Sync Works
- You create or import articles into your knowledge base
- Articles are chunked and converted to vector embeddings
- Embeddings are synced to the AI assistant's retrieval index
- During calls, relevant chunks are retrieved based on the conversation
- The AI uses these chunks as context to answer questions accurately
Best Practices
Dashboard
Go to Knowledge Basein the sidebar. Create articles manually, import from a CSV/JSON file, or connect a Notion database to auto-sync. After creating or updating articles, click "Sync to AI" to push changes to the assistant.
API: Create Article
curl -X POST "https://aivo.bz/api/v1/knowledge" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Business Hours and Location",
"content": "We are open Monday through Friday, 9 AM to 5 PM CST. Located at 123 Main Street, Suite 200.",
"category": "general"
}'API: Trigger Sync
curl -X POST "https://aivo.bz/api/v1/knowledge/sync" \
-H "Authorization: Bearer YOUR_API_KEY"Need help configuring your assistant? Contact support or check the API documentation.