order_sending_setup
Order the sending setup
Action · mcp:actCarte d'approbationIrréversibleAppelle un fournisseurPré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.
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.
{ "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" }}Arguments
Section intitulée « Arguments »domainsstring[]obligatoire3–120 caractères1–20 élémentsOnly domains reported available by quote_infrastructure, called with the same preWarmed value — .com only for now.
preWarmedbooleanfacultatiftrue 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–10Ignored for warmed stock: the provider sets that count.
mailboxOwnersobjet[]facultatif1–10 élémentsReal 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.
firstNamestringobligatoire1–60 caractèreslastNamestringobligatoire1–60 caractères
summarystringobligatoire3–300 caractèresWhat 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"]}Résultat
Section intitulée « Résultat »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.
approvalobjetidstringactionstringsummarystringimpactstringirreversiblebooleanexpiresAtstring
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.
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}Bon à savoir
Section intitulée « Bon à savoir »- 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.