Skip to content

confirm_sizing

Confirm the sizing

Act · mcp:actIdempotent

Records the user's yes, quoted in their own words, to the sending capacity on record, once they saw its figures.

Description the model readsSent as is in tools/list.
Record the user's yes to the sending capacity on record, once they saw its figures and said in their own words that it suits them — never on your own judgment.

The user says

That setup works for me.

tools/call · Arguments the assistant sends
{
"name": "confirm_sizing",
"arguments": {
"theirWords": "That setup works for me."
}
}
theirWordsstringrequired2–300 chars

What the user wrote to say yes, quoted as they wrote it.

Input schema
{
"type": "object",
"properties": {
"theirWords": {
"type": "string",
"minLength": 2,
"maxLength": 300,
"description": "What the user wrote to say yes, quoted as they wrote it."
}
},
"required": ["theirWords"]
}

Result kindsizing

kind"sizing"
sizingobject
  • emailsPerDay integer
  • emailsPerMailboxPerDay integer
  • mailboxes integer
  • domains integer
  • reservePercent integer
  • confirmed boolean — True once the user said yes to THIS sizing.
  • campaign object | null — The campaign scenario this sizing was computed from.
recommendedPlanobject | null

The plan VibeSell recommends for this sizing. Null when none is.

  • code string
  • label string
  • monthlyPriceCents integer
currentPlanobject | null

The plan the workspace pays for. Null without one.

  • code string
  • label string
  • monthlyPriceCents integer
coveredByCurrentPlanboolean

True when the plan they pay for carries this sizing.

fleetInPlaceboolean

True when the domains and mailboxes already set up carry this sizing.

currencystring
subscriptionActiveboolean
stepobject

The journey step, as the VibeSell app numbers it, after this change.

  • index integer
  • total integer
  • label string
appUrlstring
Output schema
{
"type": "object",
"properties": {
"kind": {
"type": "string",
"const": "sizing"
},
"sizing": {
"type": "object",
"properties": {
"emailsPerDay": {
"type": "integer"
},
"emailsPerMailboxPerDay": {
"type": "integer"
},
"mailboxes": {
"type": "integer"
},
"domains": {
"type": "integer"
},
"reservePercent": {
"type": "integer"
},
"confirmed": {
"type": "boolean",
"description": "True once the user said yes to THIS sizing."
},
"campaign": {
"anyOf": [
{
"type": "object",
"properties": {
"contacts": {
"type": "integer"
},
"horizonDays": {
"type": "integer"
},
"calendar": {
"type": "string"
}
},
"required": ["contacts", "horizonDays", "calendar"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The campaign scenario this sizing was computed from."
}
},
"required": [
"emailsPerDay",
"emailsPerMailboxPerDay",
"mailboxes",
"domains",
"reservePercent",
"confirmed",
"campaign"
],
"additionalProperties": false
},
"recommendedPlan": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"monthlyPriceCents": {
"type": "integer"
}
},
"required": ["code", "label", "monthlyPriceCents"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The plan VibeSell recommends for this sizing. Null when none is."
},
"currentPlan": {
"anyOf": [
{
"type": "object",
"properties": {
"code": {
"type": "string"
},
"label": {
"type": "string"
},
"monthlyPriceCents": {
"type": "integer"
}
},
"required": ["code", "label", "monthlyPriceCents"],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The plan the workspace pays for. Null without one."
},
"coveredByCurrentPlan": {
"type": "boolean",
"description": "True when the plan they pay for carries this sizing."
},
"fleetInPlace": {
"type": "boolean",
"description": "True when the domains and mailboxes already set up carry this sizing."
},
"currency": {
"type": "string"
},
"subscriptionActive": {
"type": "boolean"
},
"step": {
"type": "object",
"properties": {
"index": {
"type": "integer"
},
"total": {
"type": "integer"
},
"label": {
"type": "string"
}
},
"required": ["index", "total", "label"],
"additionalProperties": false,
"description": "The journey step, as the VibeSell app numbers it, after this change."
},
"appUrl": {
"type": "string"
}
},
"required": [
"kind",
"sizing",
"recommendedPlan",
"currentPlan",
"coveredByCurrentPlan",
"fleetInPlace",
"currency",
"subscriptionActive",
"step",
"appUrl"
],
"additionalProperties": false
}
  • Never on the assistant's own judgment.
  • Once the sizing is confirmed, the plan and the sending source come next.