Aller au contenu

order_sending_setup

Order the sending setup

Action · mcp:actCarte d'approbationIrréversibleAppelle un fournisseur

Prépare l'achat exact des domaines et boîtes que l'utilisateur a gardés. Il ouvre une carte d'approbation : seul le clic de l'utilisateur, sur la carte ou dans VibeSell, passe la commande.

Description lue par le modèleEnvoyée telle quelle dans tools/list, en anglais.
Prepare the purchase of the sending domains and mailboxes the user kept — exactly those names and those people, nothing broader. It does NOT buy: it opens an approval card, and only the user's click on it, here or in VibeSell, places the order. Needs an active plan. Never say the order is placed before the result says done.

L'utilisateur dit

Garde ces noms et monte-les.

tools/call · Arguments envoyés par l'assistant
{
"name": "order_sending_setup",
"arguments": {
"domains": ["getdentalflow.com", "trydentalflow.com", "dentalflowhq.com"],
"mailboxesPerDomain": 3,
"mailboxOwners": [
{
"firstName": "Ana",
"lastName": "Duval"
}
],
"summary": "Register 3 domains and set up 9 mailboxes signed by Ana Duval"
}
}
domainsstring[]obligatoire3–120 caractères1–20 éléments

Only domains reported available by quote_infrastructure, called with the same preWarmed value — .com only for now.

preWarmedbooleanfacultatif

true only for warmed domains the founder kept — any other warmed name is refused. The domains then come from the provider's shelf and carry NO named address: mailboxOwners is ignored, and you must never promise them an address named after their people.

mailboxesPerDomainintegerobligatoire1–10

Ignored for warmed stock: the provider sets that count.

mailboxOwnersobjet[]facultatif1–10 éléments

Real people the mailboxes will be from — ASK THE FOUNDER, never invent them. Required unless preWarmed, where it is ignored. Cold email sent from a role address (contact@, hello@) or a fake identity destroys deliverability. Their names become the addresses, varied per person; naming too few people for mailboxesPerDomain gets the order refused.

  • firstName stringobligatoire1–60 caractères
  • lastName stringobligatoire1–60 caractères
summarystringobligatoire3–300 caractères

What is bought, in one sentence.

Schéma d'entrée
{
"type": "object",
"properties": {
"domains": {
"minItems": 1,
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 3,
"maxLength": 120
},
"description": "Only domains reported available by quote_infrastructure, called with the same preWarmed value — .com only for now."
},
"preWarmed": {
"description": "true only for warmed domains the founder kept — any other warmed name is refused. The domains then come from the provider's shelf and carry NO named address: mailboxOwners is ignored, and you must never promise them an address named after their people.",
"type": "boolean"
},
"mailboxesPerDomain": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"description": "Ignored for warmed stock: the provider sets that count."
},
"mailboxOwners": {
"description": "Real people the mailboxes will be from — ASK THE FOUNDER, never invent them. Required unless preWarmed, where it is ignored. Cold email sent from a role address (contact@, hello@) or a fake identity destroys deliverability. Their names become the addresses, varied per person; naming too few people for mailboxesPerDomain gets the order refused.",
"minItems": 1,
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"firstName": {
"type": "string",
"minLength": 1,
"maxLength": 60
},
"lastName": {
"type": "string",
"minLength": 1,
"maxLength": 60
}
},
"required": ["firstName", "lastName"]
}
},
"summary": {
"type": "string",
"minLength": 3,
"maxLength": 300,
"description": "What is bought, in one sentence."
}
},
"required": ["domains", "mailboxesPerDomain", "summary"]
}

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.

approvalobjet
  • 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.

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
}
  • Exige un forfait actif. Domaines et boîtes y sont inclus.
  • Un domaine enregistré ne se rend pas : il reste enregistré, qu'on envoie depuis lui ou non.
  • Une fois approuvé, les boîtes se montent et leur chauffe démarre d'elle-même ; l'utilisateur reçoit un email quand elles sont prêtes.