Ana içeriğe geç

Agents — client.agent

Agents define the LLM, STT, TTS, voice, and behavior of your voice AI. Create a draft, then publish() to make it callable.

create(**params) → AgentResponse

POST /v1/agents — create a new agent in draft state.

Only agent_name is required; everything else has a sensible default.

ParamTypeRequiredDefaultDescription
agent_namestryesDisplay name (1–255 chars).
descriptionstrnoNoneInternal description.
agent_typestrno"orchestration_agent"orchestration_agent (STT→LLM→TTS) or realtime_agent (speech-to-speech).
agent_modestrno"single_prompt"single_prompt or conversation_flow.
llm_providerstrno"openai"openai, anthropic, groq, local_llm, ollama.
llm_modelstrno"gpt-4o"Model name.
system_promptstrno"You are a helpful AI assistant."Main instructions.
greeting_messagestrnoNoneFirst utterance; empty = agent waits for the user.
temperaturefloatno0.70–2.
max_completion_tokensintno10241–8192.
voice_providerstrno"elevenlabs"elevenlabs, openai, deepgram, cartesia, kokoro.
voice_idstrno"21m00Tcm4TlvDq8ikWAM"Provider voice id.
voice_speedfloatno1.00.5–2.0.
stt_providerstrno"deepgram"deepgram, google, azure.
stt_modelstrno"nova-2"STT model.
stt_multilingualboolnoFalseAuto language detection.
realtime_provider / realtime_model / realtime_voicestrnoNoneFor realtime_agent types.
languagestrno"en-US"BCP-47 tag (tr-TR, de-DE, …).
interruption_sensitivityfloatno0.80–1.
end_call_after_silence_msintno60000Auto-end after silence.
max_call_duration_msintno600000Hard cap on call length.
enable_sentiment_analysisboolnoNoneNone = org default.
enable_summary_generationboolnoNoneNone = org default.
knowledge_base_idsList[str]noNoneRAG knowledge bases to attach.
webhook_urlstrnoNoneWebhook for call events.
mcp_configdictnoNoneMCP server config (external tools).
native_tools_configdictnoNoneBuilt-in tools (end_call, transfer_to_human, agent_transfer, …).
Additional fine-tuning params: llm_base_url, llm_api_key, tts_model, volume, emotion, tts_base_url, tts_sample_rate, tts_use_websocket, stt_base_url, stt_api_key, voice_stability, responsiveness, endpointing_ms, enable_backchannel, response_delay_ms, reminder_trigger_ms, reminder_max_count, background_sound, analytics_prompt, analytics_model_provider, analytics_model, post_call_analysis_config, version_description.

Returns AgentResponse: agent_id, agent_name, description, is_published, published_version, agent_type, agent_mode, created_at, updated_at, versions (list of AgentVersion config snapshots), linked_workflows.

agent = client.agent.create(
agent_name="Reservations Bot",
agent_type="orchestration_agent",
llm_provider="openai", llm_model="gpt-4o",
voice_provider="elevenlabs", voice_id="21m00Tcm4TlvDq8ikWAM",
system_prompt="You take restaurant reservations. Be concise and friendly.",
language="en-US",
)

retrieve(agent_id) → AgentResponse

GET /v1/agents/{agent_id} — full agent including version history.

list(skip=0, limit=20) → list[AgentResponse]

GET /v1/agents — all agents in your organization.

update(agent_id, **params) → AgentResponse

PATCH /v1/agents/{agent_id} — change any field from create (all optional). Saves a new draft version; call publish() to go live.

publish(agent_id) → AgentResponse

POST /v1/agents/{agent_id}/publish — publish the current draft as a live version. Only published agents can take phone/web calls.

delete(agent_id) → None

DELETE /v1/agents/{agent_id} — permanently delete the agent and all versions.

get_versions(agent_id) → list[AgentVersion]

GET /v1/agents/{agent_id}/versions — full version history.

export(agent_id) → dict

GET /v1/agents/{agent_id}/export — portable JSON you can re-import.

import_agent(file_path) → AgentResponse

POST /v1/agents/import — create an agent from a previously exported JSON file.

Workflow linking

  • link_workflow(agent_id, workflow_id, trigger_condition_description=None, priority=0, execution_mode_override=None) → AgentWorkflowLinkResponse
  • unlink_workflow(agent_id, workflow_id) → dict
  • list_workflows(agent_id) → list[AgentWorkflowListItem]