update_agent_config
ActiveTool of KaiCalls
Edit an agent's live runtime configuration — greeting/first message, inbound or SMS prompt, 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). Every write here is reversible: inspect what changed with get_change_history or list_config_versions, then undo it with rollback_config. Mutating changes need an idempotency_key; high-impact live changes need human authority (an authority envelope) or queue_for_approval for dashboard sign-off. For just a single named operational-rules section, prefer configure_agent_business_rules.
Parameters schema
{
"type": "object",
"required": [
"agent_id"
],
"properties": {
"name": {
"type": "string",
"description": "Agent display name."
},
"actor": {
"type": "object",
"description": "Who is asking: { type: agent|human|system|integration, id, display_name }."
},
"model": {
"type": "object",
"description": "Language model selection: { provider, model, temperature }."
},
"voice": {
"type": "object",
"description": "Voice selection: { provider, voiceId }."
},
"dry_run": {
"type": "boolean",
"description": "Validate and summarize the change without writing."
},
"agent_id": {
"type": "string",
"description": "KaiCalls agent ID to update."
},
"authority": {
"type": "object",
"description": "Human-grade authority for live changes: { mode: human_confirmed|dashboard_session|system_policy, confirmed_by, confirmed_at, confirmation_ref }."
},
"sms_prompt": {
"type": "string",
"description": "SMS reply prompt."
},
"source_ref": {
"type": "string",
"description": "External source reference, such as a support ticket or conversation ID."
},
"business_id": {
"type": "string",
"description": "Business ID. Required when the agent has multiple accessible assignments."
},
"max_duration": {
"type": "integer",
"description": "Maximum call duration in seconds."
},
"first_message": {
"type": "string",
"description": "Spoken greeting / first message callers hear."
},
"inbound_prompt": {
"type": "string",
"description": "Full inbound system prompt that drives the agent."
},
"idempotency_key": {
"type": "string",
"description": "Required for writes. Reuse the same key when retrying the same change."
},
"outbound_prompt": {
"type": "string",
"description": "Outbound (campaign) system prompt."
},
"transfer_enabled": {
"type": "boolean",
"description": "Enable/disable live call transfer."
},
"queue_for_approval": {
"type": "boolean",
"description": "When authority is missing, create a pending dashboard approval instead of returning needs_approval."
},
"transfer_phone_number": {
"type": "string",
"description": "Number to transfer qualified calls to."
}
}
}No endpoints wrapped at confidence ≥ 0.70.
Parent server
KaiCalls
https://github.com/cgallic/kai_calls
1/7 registries