propose_email
Show an email of the sequence
Action · mcp:actPose une questionOuvert à l'étape : Target confirmed, choosing a planMontre à l'utilisateur un email de sa séquence de 3 et le lui fait valider. À chaque changement demandé, l'assistant réécrit ce même email et rappelle l'outil avec la même position, puis passe au suivant.
Show the user ONE email of their 3-email sequence and let them settle it: start at position 1, write each next one as a follow-up of the one they settled, and on every change they ask for, rewrite that same email and call this again with the same position. It returns a question: put it to the user and call this again with their answer, never yours. The first email carries no link, no image and no pixel, or it is refused. Nothing is saved or sent here.L'utilisateur dit
Écris mon premier email — court, sans blabla.
{ "name": "propose_email", "arguments": { "position": 1, "subject": "Missed calls at {{companyName}}", "body": "Hi {{firstName}},\n\nHow many calls does your front desk miss on a busy Monday?\n\nWe answer them for 120 clinics in France, day and night.\n\nWorth a quick chat?\n\nAna" }}Arguments
Section intitulée « Arguments »positionintegerobligatoire1–3Which email of the sequence this is. The first one is 1.
subjectstringobligatoire1–200 caractèresbodystringobligatoire1–4000 caractèresThe email itself. The only personalisation variables that exist are {{firstName}}, {{lastName}}, {{companyName}}, spelled exactly like that; the server refuses the first email of a sequence when it carries any other one.
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": { "position": { "type": "integer", "minimum": 1, "maximum": 3, "description": "Which email of the sequence this is. The first one is 1." }, "subject": { "type": "string", "minLength": 1, "maxLength": 200 }, "body": { "type": "string", "minLength": 1, "maxLength": 4000, "description": "The email itself. The only personalisation variables that exist are {{firstName}}, {{lastName}}, {{companyName}}, spelled exactly like that; the server refuses the first email of a sequence when it carries any other one." }, "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": ["position", "subject", "body"]}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 »- Commencer en position 1 ; écrire chaque email suivant comme une relance de celui que l'utilisateur a validé.
- Le premier email est refusé s'il porte un lien, une image ou un pixel.
- Rien n'est enregistré ni envoyé ici : save_sequence enregistre ce qui a été validé.