update_agent
Update an AI voice agent's configuration—prompt, voice, model, language, variables, pre-call API, and more. Only specified fields change; edits save to a draft, ready to test or publish.
Instructions
Update an agent — name, prompt/instructions, first message, voice, model, language, variables, the pre-call API, and other settings. Only provided fields are updated. Config changes are saved to the branch's draft (publish_draft to make them live, or test first with test_agent using include_draft); metadata (name, phone numbers, inbound toggle) applies immediately. To add/remove the agent's API-call tools use add_agent_tool / remove_agent_tool; for end_call/transfer use configure_call_actions. To manage post-call disposition metrics use add_disposition_metrics / remove_disposition_metrics (upsert/remove by identifier; existing metrics are preserved) — get_agent lists the current ones.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | New agent name | |
| prompt | No | The agent's system prompt / instructions (full text). single_prompt agents only. | |
| agent_id | Yes | The agent ID to update | |
| language | No | Language configuration | |
| branch_id | No | Branch whose draft to edit (from list_branches). Omit to use the live branch; if the agent has multiple branches you'll be asked to pick one. | |
| slm_model | No | Inference LLM model for the agent | |
| description | No | Agent description | |
| synthesizer | No | Voice synthesizer configuration | |
| pre_call_api | No | Configure (or disable) the pre-call API — an HTTP request the platform makes automatically BEFORE the call connects to enrich the agent with data. Runs once and is not chosen by the LLM (unlike add_agent_tool, which the agent invokes during the call). | |
| first_message | No | First message when call starts (max 500 chars) | |
| global_prompt | No | Global system prompt for the agent (max 4000 chars). This is separate from the main prompt (the `prompt` field). | |
| background_sound | No | Background sound option | |
| denoising_config | No | Audio denoising configuration | |
| redaction_config | No | Redaction configuration | |
| transcriber_type | No | Speech-to-text (STT) transcriber. 'pulse' is the current default and recommended option (widest language support). 'pulse-legacy' is the older model, deprecated and only available to allowlisted organizations — prefer 'pulse'. Note: 'gpt-realtime'/'gpt-realtime-mini' transcribers are set automatically when using a speech-to-speech LLM model and should not be set here. | |
| default_variables | No | Default variables for the agent prompt. Example: { prospect_name: 'Default', company: 'Acme' } | |
| knowledge_base_id | No | Knowledge base ID to attach to the agent | |
| smart_turn_config | No | Smart turn detection configuration | |
| speech_formatting | No | Enable speech formatting | |
| allow_inbound_call | No | Whether to allow inbound calls | |
| enable_style_guide | No | Enable conversational style guide | |
| allow_interruptions | No | Whether to allow user interruptions | |
| pronunciation_dicts | No | Custom pronunciation dictionary | |
| voicemail_detection | No | Voicemail detection configuration | |
| telephony_product_ids | No | Telephony product IDs (see get_phone_numbers) to assign to this agent. Takes effect IMMEDIATELY — number assignment is agent metadata, not versioned config, so no draft/publish is involved. Replaces the agent's current numbers; assigning a number already attached to another agent moves it. Pass [] to unassign all. | |
| session_timeout_config | No | Session timeout configuration | |
| voice_detection_config | No | Voice activity detection configuration | |
| add_disposition_metrics | No | Post-call disposition metrics to add or update (upsert by identifier). Only these are changed; existing metrics and the summary prompt are preserved. Saved to the branch draft. | |
| call_disposition_config | No | Call disposition configuration prompt | |
| llm_idle_timeout_config | No | LLM idle timeout configuration per call type | |
| interruption_backoff_timer | No | Delay in seconds before agent resumes after interruption (0-10) | |
| remove_disposition_metrics | No | Identifiers of post-call disposition metrics to remove from the branch draft. | |
| wait_for_user_to_speak_first | No | Wait for user to speak before agent starts | |
| mute_user_until_first_bot_response | No | Mute user audio until the bot sends its first response |