Skip to main content
Creates a new AI assistant. The assistant is created with inactive status and is ready to configure and activate.

Endpoint

POST /user/assistant

Engine modes

The assistant supports three engine modes, each with different requirements:

Request

Core required fields

string
required
Name of the assistant. Maximum 255 characters.
integer
required
Voice ID to use. Use the Get Voices endpoint with the mode parameter to retrieve voices compatible with your engine mode.
integer
required
Primary language ID. Use the Get Languages endpoint to retrieve available languages.
string
required
Assistant type: inbound or outbound.
string
required
Engine mode: pipeline, multimodal, or dualplex.
string
required
Timezone identifier (e.g., America/New_York, Europe/Bucharest).
string
required
Greeting message spoken at the start of a call. Maximum 200 characters.
string
required
System prompt defining the assistant’s behavior and personality.

Mode-specific fields

integer
LLM model ID. Required for pipeline mode. Use the Get Models endpoint to retrieve available models.
integer
Multimodal model ID. Required for multimodal and dualplex modes. Use the Get Models endpoint to retrieve available multimodal models.
integer
Fallback LLM model ID for tool calls in multimodal/dualplex modes. Optional.
number
Turn detection sensitivity for multimodal/dualplex modes. Range: 0–1. Defaults to auto.

Secondary languages

integer[]
Additional language IDs the assistant can speak. The assistant auto-detects and switches languages during the call.

Knowledge base

integer
ID of the knowledge base to attach to this assistant.
string
How the assistant uses the knowledge base:
  • function_call — AI calls a function to search. Required for multimodal and dualplex modes.
  • prompt — Knowledge is injected into the system prompt. Pipeline mode only.

Phone number

integer
ID of the phone number to assign. Must belong to your account.
For inbound assistants, the phone number cannot be a Caller ID type and cannot already be assigned to another inbound assistant.

Custom mid-call tools

integer[]
IDs of custom mid-call tools to attach. Each tool must belong to your account.

Built-in tools

array
Built-in tools to enable on the assistant. Each tool object has a type and type-specific fields.

Voice and TTS settings

number
default:"0.70"
Voice stability. Range: 0–1. Higher values produce a more consistent voice.
number
default:"0.50"
Voice similarity to the original. Range: 0–1.
number
default:"1.00"
Speech speed multiplier. Range: 0.7–1.2.
number
default:"0.10"
LLM temperature. Range: 0–1. Lower values produce more deterministic responses.
boolean
default:"true"
Whether to enable emotional TTS synthesis.
integer
Custom TTS provider ID. Auto-selected based on language if not provided.
integer
Custom STT provider ID. Pipeline mode only. Auto-selected based on language if not provided.

Call behavior

boolean
default:"true"
Whether the caller can interrupt the assistant.
Cannot be disabled for multimodal and dualplex modes.
boolean
default:"false"
Whether to use filler audio while processing (e.g., “Hmm”, “Let me check”).
Only available in pipeline mode.
object
Custom filler phrases per category. Each category is an array of short strings.
boolean
default:"false"
Whether to record calls.
boolean
default:"true"
Whether to enable noise cancellation.
boolean
default:"false"
If true, the assistant waits for the customer to speak first.

Timing

integer
default:"600"
Maximum call duration in seconds. Range: 20–1200.
integer
default:"40"
Maximum silence duration before re-engagement, in seconds. Range: 1–360.
integer
Maximum silence at call start before ending, in seconds. Range: 1–120.
integer
default:"30"
Maximum ringing time before giving up, in seconds. Range: 1–60.

Re-engagement

integer
default:"30"
Seconds between re-engagement attempts. Range: 7–600.
string
Custom re-engagement message prompt. Maximum 1000 characters.

Voicemail

boolean
default:"true"
Whether to end the call when voicemail is detected.
string
Message to leave on voicemail before hanging up. Maximum 1000 characters.

Endpoint detection

string
default:"vad"
Voice activity detection type: vad or ai.
number
default:"0.5"
Endpoint sensitivity level. Range: 0–5.
number
default:"0.5"
Interrupt sensitivity level. Range: 0–5.
integer
Minimum words spoken before an interruption is processed. Range: 0–10.

Ambient sound

string
Background ambient sound: off, office, city, forest, crowded_room, cafe, or nature.
number
default:"0.5"
Ambient sound volume. Range: 0–1.

Webhook configuration

boolean
default:"false"
Whether to enable post-call webhook notifications.
string
Webhook URL for post-call notifications. Required if is_webhook_active is true.
boolean
default:"true"
Whether to send webhooks only for completed calls.
boolean
default:"true"
Whether to include the recording URL in webhook payloads.

Post-call evaluation

boolean
default:"true"
Whether to enable AI post-call evaluation.
array
Schema for extracting structured data from calls.

Variables

object
Custom key-value pairs accessible in prompts via {{variable_name}}.

Conversation ended settings

integer
default:"30"
Minutes of chat inactivity before the conversation is considered ended. Range: 1–1440.
boolean
default:"false"
Whether to allow re-triggering after the conversation ends due to inactivity.
string
Webhook URL called when a chat conversation ends due to inactivity.

Response

string
Confirmation message.
object

Example

201 Success
422 Validation error
New assistants are created with inactive status. Activate them through the DialogBot portal or by attaching a phone number and enabling them.