decide_approval
Decide an approval card
Action · mcp:actCarte seulementAppelle un fournisseurApprouve ou rejette une carte d'approbation. Appelé par la carte VibeSell dans Claude quand l'utilisateur clique sur Approve ou Reject — caché au modèle, et donné à aucun autre hôte.
Approve or reject an approval card. Called by the VibeSell card when the user clicks; never by the model.L'utilisateur dit
(L'utilisateur clique sur Approve dans la carte.)
{ "name": "decide_approval", "arguments": { "approvalId": "0ea4e28d-df68-4ab6-bf2f-ad51e6f7e51d", "decision": "approve" }}Arguments
Section intitulée « Arguments »approvalIdstringobligatoiredecision"approve" | "reject"obligatoireSchéma d'entrée
{ "type": "object", "properties": { "approvalId": { "type": "string", "format": "uuid", "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$" }, "decision": { "type": "string", "enum": ["approve", "reject"] } }, "required": ["approvalId", "decision"]}Résultat
Section intitulée « Résultat »Sorte de résultatapproval
kind"approval"status"pending" | "done" | "not_done" | "rejected"pending: waits for the user's click. done: approved and carried out. not_done: approved but refused when run. rejected: the user said no.
approvalobjetidstringactionstringsummarystringimpactstringirreversiblebooleanexpiresAtstring
outcomestring | nullWhat happened once decided, in a sentence.
decideHerebooleanTrue when the card shows Approve and Reject; otherwise the user decides in VibeSell.
appUrlstringWhere the user approves or rejects it in VibeSell.
Schéma de sortie
{ "type": "object", "properties": { "kind": { "type": "string", "const": "approval" }, "status": { "type": "string", "enum": ["pending", "done", "not_done", "rejected"], "description": "pending: waits for the user's click. done: approved and carried out. not_done: approved but refused when run. rejected: the user said no." }, "approval": { "type": "object", "properties": { "id": { "type": "string" }, "action": { "type": "string" }, "summary": { "type": "string" }, "impact": { "type": "string" }, "irreversible": { "type": "boolean" }, "expiresAt": { "type": "string" } }, "required": ["id", "action", "summary", "impact", "irreversible", "expiresAt"], "additionalProperties": false }, "outcome": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "What happened once decided, in a sentence." }, "decideHere": { "type": "boolean", "description": "True when the card shows Approve and Reject; otherwise the user decides in VibeSell." }, "appUrl": { "type": "string", "description": "Where the user approves or rejects it in VibeSell." } }, "required": ["kind", "status", "approval", "outcome", "decideHere", "appUrl"], "additionalProperties": false}Bon à savoir
Section intitulée « Bon à savoir »- Déclaré avec _meta.ui.visibility: ["app"] : l'app Claude le cache au modèle.
- Codex, Claude Code et les autres hôtes ne le reçoivent jamais : l'utilisateur tranche alors dans l'app VibeSell.
- La décision passe par le même contrôle que l'app : un seul gagnant, avec les droits de dépense du compte au moment du clic.
Outils liés
Section intitulée « Outils liés »list_pending_approvalsList pending approvals
order_sending_setupOrder the sending setup
launch_campaignLaunch the campaign