upgrade_plan
Move up to a bigger plan
Act · mcp:actApproval cardIrreversibleOpens at: Setting up the sending infrastructureCalls a providerMoves the workspace up to a bigger plan. It opens an approval card that states the plan, its price, its credits and its fleet; only the user's click moves them, charged today.
Move the workspace up to a bigger plan, when what the user wants does not fit the one they pay for. It spends real money, charged today, and the billing month restarts. It does NOT move them: it opens an approval card stating the plan, its price, its credits and its fleet, and only the user's click on it moves them. Only ever up; coming back down is chosen in VibeSell's billing settings.Example
Section titled “Example”The user says
I need more volume — move me to Scale.
{ "name": "upgrade_plan", "arguments": { "planCode": "SCALE" }}Arguments
Section titled “Arguments”planCode"STARTER" | "GROWTH" | "SCALE"requiredThe plan to move up to — strictly above the one they pay for today, which get_workspace_context reads back. Anything at or below it is refused.
Input schema
{ "type": "object", "properties": { "planCode": { "type": "string", "enum": ["STARTER", "GROWTH", "SCALE"], "description": "The plan to move up to — strictly above the one they pay for today, which get_workspace_context reads back. Anything at or below it is refused." } }, "required": ["planCode"]}Result
Section titled “Result”Result kindapproval
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.
approvalobjectidstringactionstringsummarystringimpactstringirreversiblebooleanexpiresAtstring
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.
Output schema
{ "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}Good to know
Section titled “Good to know”- Only ever up: a plan at or below the current one is refused.
- The billing month restarts on the day of the change.
- Moving down, or calling off a scheduled change, is done in VibeSell's billing settings.
Related tools
Section titled “Related tools”get_plans_and_billingRead plans and billing
open_billing_portalOpen the billing page