MCP server
cancel_subscription
Cancels the subscription at the end of the current billing period (it stays usable until then) and records why.
Cancel subscription · Deletes or overwrites data · Acts outside your account
Cancels the subscription at the end of the current billing period (it stays usable until then) and records why. Both a reason and the customer's own words are required: feedback must be at least 3 characters, or at least 10 when reason is 'other'. Before cancelling, consider pause_subscription or downgrade_plan if the user is open to them. Undo with reactivate_subscription before the period ends. Confirm with the user before calling. Returns cancelAt (the date it ends).
| Connection | Account-owner URL or OAuth (not a team member URL) |
|---|
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
reason | string | Yes | One of: bugs, expensive, no_value (not enough leads/value), bad_icp (wrong leads), switching (to a competitor), no_need (don't need it now), other. |
feedback | string | No | Why they are cancelling, in the customer's own words. Required in practice: at least 3 characters, 10 when reason is 'other'. Max 2000 characters. |
Tool definition
What your assistant receives from tools/list:
{
"name": "cancel_subscription",
"title": "Cancel subscription",
"annotations": {
"title": "Cancel subscription",
"readOnlyHint": false,
"destructiveHint": true,
"idempotentHint": true,
"openWorldHint": true
},
"inputSchema": {
"type": "object",
"properties": {
"reason": {
"type": "string",
"description": "One of: bugs, expensive, no_value (not enough leads/value), bad_icp (wrong leads), switching (to a competitor), no_need (don't need it now), other."
},
"feedback": {
"type": "string",
"description": "Why they are cancelling, in the customer's own words. Required in practice: at least 3 characters, 10 when reason is 'other'. Max 2000 characters."
}
},
"required": [
"reason"
]
}
}