1. core-concepts
VoiceDock
  • introduction
  • configuration
    • analysis-templates
    • custom-tools
    • sip-trunks
    • tool-templates
  • core-concepts
    • assistants
    • calls
    • phone-numbers
    • webhooks
  • features
    • ai-generation
    • autonomous-silence-handling
    • call-analysis
    • call-transfers
    • campaigns-setup
    • campaigns
    • privacy-compliance
    • voicemail-detection
    • web-calls
  • get-started
    • authentication
    • quickstart
  • guides
    • data-processing-agreement
  • integrations
    • byok-setup
    • mcp-server
    • provider-pricing
    • xai-grok-integration
  • platform
    • billing
    • dashboard-security
    • eu-data-sovereignty
    • privacy-policy
    • voice-selection-psychology
    • whitelabel
  • reference
    • error-codes
    • rate-limits
    • troubleshooting
  • sdks
    • node
  • webhooks
    • assistant-request
    • end-of-call-report
    • overview
    • security
    • status-update
    • tool-calls
Book a meeting
Linkedin
Github
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
📄 Documentation
🔌 API Reference🤖 MCP📦 SDK🟢 Status
  1. core-concepts

assistants

Assistants are AI-powered voice entities that handle phone conversations. Each assistant has its own personality, knowledge, and capabilities defined through configuration.
The /api/v1/agents endpoint is deprecated but still works as an alias for /api/v1/assistants. Similarly, agent_id works as an alias for assistant_id in API requests.

Assistant Components#

An assistant consists of three main AI components:

Speech-to-Text (STT)#

Converts the caller's speech to text. Currently powered by Deepgram.
{
  "stt_config": {
    "provider": "deepgram",
    "model": "nova-3-general",
    "language": "en",
    "keyterms": ["yes", "no", "okay"]
  }
}
FieldDescription
providerSTT provider (deepgram)
modelModel name (e.g., nova-3-general)
languageLanguage code (e.g., nl, en)
keytermsOptional array of words to boost recognition accuracy

Language Model (LLM)#

The brain of your assistant. Processes the conversation and generates responses.
{
  "llm_config": {
    "provider": "openai",
    "model": "gpt-4o-mini",
    "temperature": 0.7,
    "messages": [
      {
        "role": "system",
        "content": "You are a friendly customer service agent..."
      }
    ],
    "tools": []
  }
}
FieldDescription
providerLLM provider (openai, mistral, xai, xai_realtime)
modelModel name (e.g., gpt-4o-mini, claude-3-sonnet)
temperatureResponse randomness (0-2, default 0.7)
messagesSystem prompts defining assistant behavior
toolsCustom tools the assistant can use (see Custom Tools)
xAI Text Models: The xai provider gives you access to Grok text models (e.g. grok-4-1-fast-non-reasoning) and uses the same API key as xai_realtime. Unlike xai_realtime, it operates as a standard text LLM and requires separate STT and TTS configuration.

Text-to-Speech (TTS)#

Converts the assistant's text responses to speech.
{
  "tts_config": {
    "provider": "elevenlabs",
    "model": "eleven_flash_v2_5",
    "voice_id": "21m00Tcm4TlvDq8ikWAM",
    "language": "nl",
    "stability": 0.5,
    "similarity_boost": 0.75,
    "use_speaker_boost": true
  }
}
Available Providers:
ProviderDescriptionAccess
elevenlabsHigh-quality voice cloning and natural speechAll users
inworldEU-based TTS with natural Dutch voices (Katrien, Erik)All users
ElevenLabs Models:
ModelDescription
eleven_flash_v2_5Fastest, low-latency (default)
eleven_v3Expressive dialogue with audio tag support
eleven_multilingual_v2Best quality, multilingual
eleven_turbo_v2_5Balanced speed and quality
eleven_monolingual_v1English only
Eleven v3 Audio Tags: When using eleven_v3, the LLM can insert audio tags in square brackets to control the emotional delivery of speech. For example, [sad], [laughing], [whispering], [cheerfully], or [cautiously]. Structure your system prompt to instruct the LLM to insert these tags before or within sentences. Example: [cheerfully] Welcome back! How can I help you today?
Common Fields:
FieldDescription
providerTTS provider
voice_idVoice identifier (snake_case)
languageLanguage code (e.g., nl, en)
modelModel name (provider-specific)
ElevenLabs-specific:
FieldDescription
stabilityVoice consistency (0-1, default 0.5)
similarity_boostVoice similarity to original (0-1, default 0.75)
use_speaker_boostEnhance speaker clarity (boolean)
speedSpeech speed multiplier
styleSpeaking style intensity (0-1)

Assistant Properties#

PropertyTypeDescription
idUUIDUnique identifier (auto-generated)
namestringDisplay name for the assistant
business_namestringBusiness the assistant represents
notification_emailemailEmail for call notifications
first_messagestringInitial greeting when call starts
is_activebooleanWhether assistant can handle calls
voicemail_detectionbooleanAutomatically detect voicemail
voicemail_messagestringMessage to leave on voicemail
max_duration_secondsnumberMaximum call duration (null = unlimited)
autonomous_silence_handlingbooleanAuto-detect silence and prompt caller
webhook_urlURLEndpoint for webhook events
webhook_secretstringSecret for signature verification
webhook_eventsarrayEvents to send to webhook
analysis_planobjectPost-call analysis configuration

Creating an Assistant#

Only the name is required. All other fields have sensible defaults.
Minimal assistant:
Full assistant:
See Create a New Assistant for complete API documentation.

Updating an Assistant#

Use PATCH to update specific fields. Only provided fields are updated.
See Update an Assistant for details.

Deleting an Assistant#

When you delete an assistant, any phone numbers assigned to it will have their assistant_id set to null.
See Delete an Assistant for details.

Related#

List All Assistants
Get an Assistant
Phone Numbers - Assign assistants to phone numbers
Webhooks - Configure event notifications
Modified at 2026-05-04 13:09:50
Previous
tool-templates
Next
calls
Built with