estimate_campaign_plan
Estimate a campaign
Lecture · mcpIdempotentTransforme un nombre de contacts, un horizon et un calendrier d'envoi en scénario de campagne : emails au total, nouvelles personnes par jour d'envoi, pic d'emails par jour, boîtes et domaines nécessaires, et le plus petit forfait qui le porte.
Compute a campaign scenario from a number of distinct contacts, a horizon that includes the follow-ups, and a sending calendar: total emails, new people contacted per sending day, peak emails per day, the mailboxes and domains it needs, and the smallest plan that carries it. Every contact gets three emails (days 0, 3 and 7); campaigns send Monday to Friday, so use weekdays. Nothing is saved, imported or bought. Never derive contacts from a meetings target with an assumed reply or conversion rate.L'utilisateur dit
Je veux toucher 1 500 dentistes sur le mois qui vient.
{ "name": "estimate_campaign_plan", "arguments": { "contacts": 1500, "horizonDays": 30, "calendar": "weekdays" }}Arguments
Section intitulée « Arguments »contactsintegerobligatoire1–1000000Distinct people to contact.
horizonDaysintegerobligatoire8–366Calendar days from the first email to the last follow-up.
calendar"every_day" | "weekdays"obligatoireUse weekdays.
Schéma d'entrée
{ "type": "object", "properties": { "contacts": { "type": "integer", "minimum": 1, "maximum": 1000000, "description": "Distinct people to contact." }, "horizonDays": { "type": "integer", "minimum": 8, "maximum": 366, "description": "Calendar days from the first email to the last follow-up." }, "calendar": { "type": "string", "enum": ["every_day", "weekdays"], "description": "Use weekdays." } }, "required": ["contacts", "horizonDays", "calendar"]}Résultat
Section intitulée « Résultat »Sorte de résultatcampaign_estimate
kind"campaign_estimate"status"estimated" | "invalid"contactsintegerhorizonDaysintegercalendarstringtotalEmailsinteger | nullnewContactsPerDayinteger | nullpeakEmailsPerDayinteger | nullemailsIn30Daysinteger | nullmailboxesinteger | nulldomainsinteger | nullplanobjet | nullThe smallest plan that carries this scenario. Null when none does.
codestringlabelstringmonthlyPriceCentsinteger
currentPlanobjet | nullThe plan the workspace pays for. Null without one.
codestringlabelstring
coveredByCurrentPlanbooleanTrue when the plan they pay for already carries this scenario.
currencystringassumptionsstring | nullmessagestring | nullSchéma de sortie
{ "type": "object", "properties": { "kind": { "type": "string", "const": "campaign_estimate" }, "status": { "type": "string", "enum": ["estimated", "invalid"] }, "contacts": { "type": "integer" }, "horizonDays": { "type": "integer" }, "calendar": { "type": "string" }, "totalEmails": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "newContactsPerDay": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "peakEmailsPerDay": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "emailsIn30Days": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "mailboxes": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "domains": { "anyOf": [ { "type": "integer" }, { "type": "null" } ] }, "plan": { "anyOf": [ { "type": "object", "properties": { "code": { "type": "string" }, "label": { "type": "string" }, "monthlyPriceCents": { "type": "integer" } }, "required": ["code", "label", "monthlyPriceCents"], "additionalProperties": false }, { "type": "null" } ], "description": "The smallest plan that carries this scenario. Null when none does." }, "currentPlan": { "anyOf": [ { "type": "object", "properties": { "code": { "type": "string" }, "label": { "type": "string" } }, "required": ["code", "label"], "additionalProperties": false }, { "type": "null" } ], "description": "The plan the workspace pays for. Null without one." }, "coveredByCurrentPlan": { "type": "boolean", "description": "True when the plan they pay for already carries this scenario." }, "currency": { "type": "string" }, "assumptions": { "anyOf": [ { "type": "string" }, { "type": "null" } ] }, "message": { "anyOf": [ { "type": "string" }, { "type": "null" } ] } }, "required": [ "kind", "status", "contacts", "horizonDays", "calendar", "totalEmails", "newContactsPerDay", "peakEmailsPerDay", "emailsIn30Days", "mailboxes", "domains", "plan", "currentPlan", "coveredByCurrentPlan", "currency", "assumptions", "message" ], "additionalProperties": false}Bon à savoir
Section intitulée « Bon à savoir »- Chaque contact reçoit trois emails (jours 0, 3 et 7), et les campagnes envoient du lundi au vendredi.
- Une simulation : rien n'est enregistré, importé ni acheté.
- Les contacts ne se déduisent jamais d'un objectif de rendez-vous avec un taux de réponse supposé.
Outils liés
Section intitulée « Outils liés »size_sending_capacitySize the sending capacity
get_plans_and_billingRead plans and billing