Skip to content

resume_campaign

Resume the campaign

Act · mcp:actApproval cardIrreversibleOpens at: Setting up the sending infrastructureCalls a provider

Sends a paused campaign out again, from where it stopped. It opens an approval card; only the user's click resumes it.

Description the model readsSent as is in tools/list.
Send a PAUSED campaign out again, from where it stopped. Tell the user what you know of why it paused first (bounces, unhealthy mailboxes). It does NOT resume: it opens an approval card, and only the user's click on it resumes. Only a campaign get_campaign shows as paused; a stopped one never comes back.

The user says

Why did my campaign pause? Resume it if it's safe.

tools/call · Arguments the assistant sends
{
"name": "resume_campaign",
"arguments": {
"campaignId": "6f1d3c2a-8b4e-4f7a-9c21-3e5d7b9a0f12"
}
}
campaignIdstringrequired1–60 chars

The campaign id the 'Live campaign' line of get_workspace_context names as PAUSED. Read it back from there — never guess it.

Input schema
{
"type": "object",
"properties": {
"campaignId": {
"type": "string",
"minLength": 1,
"maxLength": 60,
"description": "The campaign id the 'Live campaign' line of get_workspace_context names as PAUSED. Read it back from there — never guess it."
}
},
"required": ["campaignId"]
}

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.

approvalobject
  • id string
  • action string
  • summary string
  • impact string
  • irreversible boolean
  • expiresAt string
outcomestring | null

What happened once decided, in a sentence.

decideHereboolean

True when the card shows Approve and Reject; otherwise the user decides in VibeSell.

appUrlstring

Where 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
}
  • Only a campaign get_campaign shows as paused; a stopped one never comes back.
  • The assistant first tells the user what it knows of why it paused (bounces, unhealthy mailboxes).