propose_domains
Propose sending domains
Action · mcp:actPose une questionOuvert à l'étape : Target confirmed, choosing a plan30 appels / 10 minAppelle un fournisseurPour des noms à l'utilisateur : vérifie des domaines .com candidats, les dimensionne, et montre toute l'installation — les noms et leurs adresses — pour qu'il la garde. Garder des noms n'achète rien.
For names of the user's own: check candidate domains (.com), size them, and show the user the whole setup — the names and the addresses on them — for them to keep. Pass candidate names built on their brand and mailboxOwners, the real people who sign the emails (first and last name; never invent one, never contact@). It returns the setup as a question: put it to the user, then call this again with their answer. Keeping names buys nothing.L'utilisateur dit
C'est Ana Duval qui signera les emails. Trouve des noms autour de « dentalflow ».
{ "name": "propose_domains", "arguments": { "domains": [ "getdentalflow.com", "trydentalflow.com", "dentalflowhq.com", "usedentalflow.com" ], "mailboxOwners": [ { "firstName": "Ana", "lastName": "Duval" } ], "mailboxesPerDomain": 3 }}Arguments
Section intitulée « Arguments »domainsstring[]obligatoire3–120 caractères1–20 élémentsCandidate domain names, without protocol. Only .com can be bought for now. Give it more than the plan needs: it keeps the ones that are free and proposes exactly as many as the capacity plan calls for. Build them on the brand or website the founder gave you; when they gave neither, ask for it together with who signs before calling this. Never make one up, and a signer's name is not their brand unless they say so.
mailboxesPerDomainintegerfacultatif1–10mailboxOwnersobjet[]obligatoire1–10 élémentsReal people the emails will be signed by — ASK THE FOUNDER FIRST, never invent them. The proposal shows the addresses built from these names, so without them there is nothing to show. One object per person, first and last name apart — never one string, never a list of strings: [{"firstName": "<first name>", "lastName": "<last name>"}].
firstNamestringobligatoire1–60 caractèreslastNamestringobligatoire1–60 caractères
originPatternstringfacultatif2–60 caractèresOnly when you wrote these names yourself: the pattern you built them on, e.g. get{brand}. Leave it out for names the provider gave you.
answersobjet[]facultatif≤ 12 élémentsThe user's answers to the cards this tool showed, each with the id of its card. Pass back the list the last call returned, plus the new answer.
cardstringobligatoire — The card id this answer was given to.answerstringobligatoire — The choice id, or the user's own words.
Schéma d'entrée
{ "type": "object", "properties": { "domains": { "minItems": 1, "maxItems": 20, "type": "array", "items": { "type": "string", "minLength": 3, "maxLength": 120 }, "description": "Candidate domain names, without protocol. Only .com can be bought for now. Give it more than the plan needs: it keeps the ones that are free and proposes exactly as many as the capacity plan calls for. Build them on the brand or website the founder gave you; when they gave neither, ask for it together with who signs before calling this. Never make one up, and a signer's name is not their brand unless they say so." }, "mailboxesPerDomain": { "type": "integer", "minimum": 1, "maximum": 10 }, "mailboxOwners": { "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"] }, "description": "Real people the emails will be signed by — ASK THE FOUNDER FIRST, never invent them. The proposal shows the addresses built from these names, so without them there is nothing to show. One object per person, first and last name apart — never one string, never a list of strings: [{\"firstName\": \"<first name>\", \"lastName\": \"<last name>\"}]." }, "originPattern": { "description": "Only when you wrote these names yourself: the pattern you built them on, e.g. get{brand}. Leave it out for names the provider gave you.", "type": "string", "minLength": 2, "maxLength": 60 }, "answers": { "description": "The user's answers to the cards this tool showed, each with the id of its card. Pass back the list the last call returned, plus the new answer.", "maxItems": 12, "type": "array", "items": { "type": "object", "properties": { "card": { "type": "string", "description": "The card id this answer was given to." }, "answer": { "type": "string", "description": "The choice id, or the user's own words." } }, "required": ["card", "answer"] } } }, "required": ["domains", "mailboxOwners"]}Résultat
Section intitulée « Résultat »Sorte de résultatchoicesending_choiceemail_step
Schéma de sortie
{ "type": "object", "properties": { "kind": { "type": "string", "enum": ["choice", "sending_choice", "email_step"], "description": "choice: a question to put to the user. sending_choice and email_step: what their answer recorded." } }, "required": ["kind"], "additionalProperties": {}}Bon à savoir
Section intitulée « Bon à savoir »- mailboxOwners sont les vraies personnes qui signent — demandées à l'utilisateur, jamais inventées, jamais une adresse de rôle comme contact@.
- Donner plus de candidats que nécessaire : il garde les libres et en propose exactement autant que le dimensionnement en demande.
- Il rend l'installation sous forme de question ; l'assistant le rappelle avec la réponse de l'utilisateur.