Skip to content

list_pending_approvals

List pending approvals

Read · mcpIdempotent

Lists the approval cards waiting for the user's decision — a lead import, a domain order, a plan change, a campaign launch, stop or resume — with what each would do and when it expires.

Description the model readsSent as is in tools/list.
List the approval cards waiting for the user's decision — a lead import, a domain order, a plan change, a campaign launch, stop or resume — with what each would do and when it expires. Only the user decides them, by a click, never on your word.

The user says

Is anything waiting for my approval?

tools/call · Arguments the assistant sends
{
"name": "list_pending_approvals",
"arguments": {}
}

This tool takes no arguments. {}

Input schema
{
"type": "object",
"properties": {}
}

Result kindapprovals

kind"approvals"
approvalsobject[]
  • id string
  • action string — What would run on a yes, in words.
  • category string — COST_INCREASING, DESTRUCTIVE or IRREVERSIBLE.
  • summary string
  • impact string
  • irreversible boolean
  • expiresAt string
appUrlstring

Where the user approves or rejects them.

Output schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "approvals"
},
"approvals": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"action": {
"type": "string",
"description": "What would run on a yes, in words."
},
"category": {
"type": "string",
"description": "COST_INCREASING, DESTRUCTIVE or IRREVERSIBLE."
},
"summary": {
"type": "string"
},
"impact": {
"type": "string"
},
"irreversible": {
"type": "boolean"
},
"expiresAt": {
"type": "string"
}
},
"required": [
"id",
"action",
"category",
"summary",
"impact",
"irreversible",
"expiresAt"
],
"additionalProperties": false
}
},
"appUrl": {
"type": "string",
"description": "Where the user approves or rejects them."
}
},
"required": ["kind", "approvals", "appUrl"],
"additionalProperties": false
}
  • The assistant cannot decide a card: the user clicks Approve or Reject on the card in Claude, or in the VibeSell app.
  • Each card carries its expiry (expiresAt). An expired card runs nothing; the assistant prepares a new one.