You're viewing a demo portfolio

Join the waitlist
PRSM

rollback_config

Active

Tool of KaiCalls

declared in 1.0.0

Roll an agent's deployed voice configuration back to a prior assistant_config_versions snapshot — restoring greeting, voice, prompt, and scalar model params (never secrets/credentials) onto the live agent. This OVERWRITES the live deployed config, so it is APPROVAL-GATED: without human-grade authority (an authority envelope with mode human_confirmed, or a dashboard approval) the tool executes nothing and returns a pending_approval record the business owner approves or denies from the dashboard — relay the returned confirmation text to them. Agent-initiated rollbacks never run unattended. Wraps the same version-restore logic as POST /api/v1/agents/rollback and the admin_rollback_change voice tool, via the agent.config.rollback update intent. Discover a target with list_config_versions or get_change_history. Every executed rollback records a new config version; to repeat a rollback that already executed, pass a fresh idempotency_key.

Parameters schema

{
  "type": "object",
  "required": [
    "agent_id"
  ],
  "properties": {
    "actor": {
      "type": "object",
      "description": "Who is asking: { type: agent|human|system|integration, id, display_name }."
    },
    "reason": {
      "type": "string",
      "description": "Optional human-readable reason recorded in the audit trail."
    },
    "dry_run": {
      "type": "boolean",
      "description": "Validate tenant, scope, and policy without touching the live config."
    },
    "agent_id": {
      "type": "string",
      "description": "Agent ID to roll back."
    },
    "authority": {
      "type": "object",
      "description": "How the rollback was authorized: { mode, confirmed_by, confirmed_at, confirmation_ref }. human_confirmed requires all three confirmation fields; anything weaker returns pending_approval."
    },
    "source_ref": {
      "type": "string",
      "description": "External source reference, such as a ticket or automation run ID."
    },
    "version_id": {
      "type": "string",
      "description": "Target assistant_config_versions row id to restore. One of version_number/version_id is required."
    },
    "business_id": {
      "type": "string",
      "description": "Business ID (optional only when the token can access exactly one business)."
    },
    "version_number": {
      "type": "integer",
      "description": "Target assistant_config_versions.version_number to restore. One of version_number/version_id is required."
    },
    "idempotency_key": {
      "type": "string",
      "description": "Stable key for the rollback request; repeating it returns the original outcome. Defaults to a key derived from agent + version — pass a fresh key to repeat a rollback that already executed."
    },
    "queue_for_approval": {
      "type": "boolean",
      "description": "When authority is insufficient, create a durable dashboard approval (default true). Set false to get needs_approval and retry yourself with the same idempotency_key once a human confirms."
    }
  }
}

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 →
rollback_config — KaiCalls — PRSM MCP