Update Agent Configuration
update_agent_configEdit an agent's live runtime configuration — greeting/first message, inbound or SMS prompt, the after-call summary and lead-score instructions, voice, language model, max call duration, and call-transfer settings — routed through the governed update broker so every change keeps the consent + audit trail (a versioned config snapshot and change history). Read get_agent_config first; inbound_prompt replaces the whole prompt. Each applied change is saved as a version (list_config_versions); rollback_config can restore a version's greeting, voice, prompt, model and summary/scoring, but not transfer settings or call length. Mutating changes need an idempotency_key. When the business owner or an admin is signed in through this connector, their own changes apply immediately. High-impact live changes made with an API key or on someone else's behalf queue for the owner's review instead (the owner is notified with a review link). configure_agent_business_rules edits a single named operational-rules section.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"agent_id": "<agent_id>"
},
"name": "update_agent_config"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Agent display name. | |
| actor | No | Do not set. Kept for older clients; the signed-in connection identifies you. | |
| model | No | Language model selection: { provider, model, temperature }. | |
| voice | No | Voice selection: { provider, voiceId }. Use voice_catalog_id instead when you can. | |
| reason | No | Why this change is being made. Kept in the change history. | |
| dry_run | No | Validate and summarize the change without writing. | |
| agent_id | Yes | KaiCalls agent ID to update. | |
| authority | No | Do not set. It cannot approve a change: the owner approves through review_url or by being signed in. | |
| sms_prompt | No | SMS reply prompt. | |
| source_ref | No | External source reference, such as a support ticket or conversation ID. | |
| business_id | No | Business ID. Required when the agent has multiple accessible assignments. | |
| max_duration | No | Maximum call duration in seconds. | |
| first_message | No | Spoken greeting / first message callers hear. | |
| inbound_prompt | No | The whole inbound prompt; it replaces the current one. Start from inbound_prompt in get_agent_config, never from a saved version. | |
| idempotency_key | No | Required for writes. Reuse the same key when retrying the same change. | |
| outbound_prompt | No | Outbound (campaign) system prompt. | |
| transfer_enabled | No | Enable/disable live call transfer. | |
| voice_catalog_id | No | Preferred way to pick a voice: an id from list_voices. | |
| queue_for_approval | No | When authority is missing, create a pending dashboard approval instead of returning needs_approval. | |
| transfer_phone_number | No | Number to transfer qualified calls to. | |
| lead_score_instructions | No | How each caller is scored from 0 to 100, in plain language. Changes only the scoring. End it with "Respond with ONLY a number from 0 to 100." | |
| call_summary_instructions | No | How the summary written after each call should read, in plain language (for example "Write exactly two sentences for the attorney..."). Changes only the summary; the prompt and scoring stay as they are. get_operational_settings shows the current text. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | ||
| error | No | Present when success is false | |
| result | No | ||
| status | No | ||
| message | No | ||
| success | Yes | Whether the tool completed successfully | |
| summary | No | ||
| agent_id | No | ||
| approval | No | ||
| request_id | No | ||
| risk_level | No | ||
| business_id | No |