Aller au contenu

propose_domains

Propose sending domains

Action · mcp:actPose une questionOuvert à l'étape : Target confirmed, choosing a plan30 appels / 10 minAppelle un fournisseur

Pour 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.

Description lue par le modèleEnvoyée telle quelle dans tools/list, en anglais.
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 ».

tools/call · Arguments envoyés par l'assistant
{
"name": "propose_domains",
"arguments": {
"domains": [
"getdentalflow.com",
"trydentalflow.com",
"dentalflowhq.com",
"usedentalflow.com"
],
"mailboxOwners": [
{
"firstName": "Ana",
"lastName": "Duval"
}
],
"mailboxesPerDomain": 3
}
}
domainsstring[]obligatoire3–120 caractères1–20 éléments

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.

mailboxesPerDomainintegerfacultatif1–10
mailboxOwnersobjet[]obligatoire1–10 éléments

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>"}].

  • firstName stringobligatoire1–60 caractères
  • lastName stringobligatoire1–60 caractères
originPatternstringfacultatif2–60 caractères

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.

answersobjet[]facultatif≤ 12 éléments

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.

  • card stringobligatoire — The card id this answer was given to.
  • answer stringobligatoire — 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"]
}

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": {}
}
  • 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.