Assistants are the AI agents that handle your phone calls. Each assistant has its own system prompt, LLM configuration, voice settings, and transcription options. You can create assistants from a template to get sensible defaults quickly, then update individual fields as needed. Once an assistant is configured, you assign phone numbers to it so it can receive inbound calls or place outbound calls through a campaign.Documentation Index
Fetch the complete documentation index at: https://docs.talkturo.ai/llms.txt
Use this file to discover all available pages before exploring further.
Create an assistant
POST /api/assistants
Creates a new assistant with default configuration. Use a templateId to pre-populate common settings, or start with custom and configure everything yourself via PATCH.
Request body
The slug identifier for your account or workspace. You can find this in your dashboard URL (for example,
my-team in https://app.talkturo.com/home/my-team).A human-readable name for the assistant (for example,
"Sales Agent" or "Support Bot").Pre-populates the assistant with a starter configuration. Accepted values:
outbound-setter, inbound-support, follow-up, custom. Defaults to custom if omitted.Example request
Response
true when the assistant was created successfully.Unique identifier for the assistant. Use this in subsequent
GET and PATCH requests.The account this assistant belongs to.
The name you provided.
The template type used to create the assistant.
The LLM model identifier (for example,
gpt-4o-mini).The LLM provider (for example,
openai, anthropic, google).LLM sampling temperature. Higher values produce more varied output.
Maximum tokens per LLM response.
The first thing the assistant says when a call connects.
The system instructions that define the assistant’s behavior and persona.
The TTS provider (for example,
cartesia, elevenlabs).The voice model identifier for the selected TTS provider.
The specific voice ID within the provider.
Human-readable name for the selected voice.
The STT provider (for example,
deepgram, assemblyai).The transcription model (for example,
nova-2).BCP-47 language code for transcription (for example,
en, es, fr).Whether call recording is active for this assistant.
Whether this assistant can receive inbound calls.
Whether this assistant can place outbound calls.
ISO 8601 timestamp of when the assistant was created.
ISO 8601 timestamp of the most recent update.
Get an assistant
GET /api/assistants/{assistantId}
Retrieves the full configuration of a single assistant.
Path parameters
The unique ID of the assistant to retrieve.
Example request
Response
Update an assistant
PATCH /api/assistants/{assistantId}
Updates one or more configuration fields on an existing assistant. All fields except accountSlug are optional — include only the fields you want to change.
Path parameters
The unique ID of the assistant to update.
Request body
Your account slug. Required to verify ownership.
Updated assistant name.
The opening line the assistant speaks when a call connects.
Updated system instructions. You can use CRM template variables like
{{contact.first_name}}.LLM provider. Supported values include
openai, anthropic, google, deepseek, qwen.LLM model identifier for the selected provider (for example,
gpt-4o, gpt-4o-mini).Sampling temperature for the LLM (0.0–2.0).
Maximum tokens per LLM completion.
TTS provider. Supported values:
cartesia, elevenlabs.Voice model identifier for the selected TTS provider.
Specific voice ID within the TTS provider.
Human-readable label for the voice.
STT provider. Supported values include
deepgram, assemblyai.Transcription model (for example,
nova-2).BCP-47 language code for transcription (for example,
en, es, fr).Enable or disable stereo call recording.
Allow this assistant to handle inbound calls.
Allow this assistant to place outbound calls.
Example request
Response
Assign phone numbers to an assistant
PATCH /api/assistants/{assistantId}/telephony/phone-numbers
Assigns or replaces the phone numbers linked to an assistant. Passing an empty array removes all assigned numbers. You can get phone number IDs from the phone numbers endpoints.
Path parameters
The unique ID of the assistant.
Request body
Your account slug.
An array of phone number ID strings to assign to this assistant. This replaces any existing assignments. Pass an empty array (
[]) to remove all phone numbers from the assistant.Example request
Response
After assigning a phone number, inbound calls to that number will automatically be routed to this assistant. Make sure
inbound_enabled is set to true on the assistant if you want it to receive calls.