You're viewing a demo portfolio

Join the waitlist
PRSM

request_kaicalls_update

Active

Tool of KaiCalls

declared in 1.0.0

Ask the KaiCalls on-behalf update broker to perform a scoped, governed mutation. Supported intents: phone.emergency_address.set, transcripts.sink.configure, agent.patch, numbers.purchase, agent.config.rollback. Prefer update_agent_config for prompt/voice/model edits, configure_agent_business_rules for a single named operational prompt section, upsert_lead for lead create/update, send_sms for outbound texts, configure_staff_alerts for alert recipients/rules, and configure_textable_links for send-link setup. Mutating requests need an idempotency_key; high-risk changes need human authority. The broker returns needs_user_input, needs_approval, pending_approval, executed, denied, or unsupported — never an unaudited side effect.

Parameters schema

{
  "type": "object",
  "required": [
    "intent"
  ],
  "properties": {
    "actor": {
      "type": "object",
      "description": "Who is asking: { type: agent|human|system|integration, id, display_name }."
    },
    "intent": {
      "type": "string",
      "description": "Update intent: phone.emergency_address.set, transcripts.sink.configure, agent.patch, numbers.purchase, or agent.config.rollback"
    },
    "reason": {
      "type": "string",
      "description": "Required when changing raw vapi_config; recorded in the durable audit."
    },
    "target": {
      "type": "object",
      "description": "Target identifiers, e.g. { phone_number } for E911 or { agent_id } for agent.patch."
    },
    "dry_run": {
      "type": "boolean",
      "description": "Validate tenant, scope, schema, authority, and policy without executing."
    },
    "payload": {
      "type": "object",
      "description": "Intent payload. E911: address + disclosure_acknowledged=true. transcripts: webhook_url + events. agent.patch: name, inbound_prompt, outbound_prompt, sms_prompt, first_message, voice, model, max_duration, metadata, vapi_config, transfer_enabled, transfer_phone_number."
    },
    "authority": {
      "type": "object",
      "description": "How the change was authorized: { mode: none|agent_asserted|human_confirmed|dashboard_session|system_policy, confirmed_by, confirmed_at, confirmation_ref }. human_confirmed requires all three confirmation fields."
    },
    "requester": {
      "type": "object",
      "description": "Optional legacy requester metadata for audit trails (prefer actor)."
    },
    "source_ref": {
      "type": "string",
      "description": "External source reference, such as a Discord message or automation run ID."
    },
    "business_id": {
      "type": "string",
      "description": "Business ID. Required when the API key can access multiple businesses."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Required for any mutating request. Repeating a key returns the original outcome instead of re-running provider side effects."
    },
    "queue_for_approval": {
      "type": "boolean",
      "description": "When authority is missing, create a pending dashboard approval instead of returning needs_approval."
    }
  }
}

What this tool wraps· 0 endpoints

min confidence0.700.50

No endpoints wrapped at confidence ≥ 0.50.

Parent server

KaiCalls

https://github.com/cgallic/kai_calls

1/7 registries
View full server →
request_kaicalls_update — KaiCalls — PRSM MCP