Aller au contenu

estimate_campaign_plan

Estimate a campaign

Lecture · mcpIdempotent

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

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

tools/call · Arguments envoyés par l'assistant
{
"name": "estimate_campaign_plan",
"arguments": {
"contacts": 1500,
"horizonDays": 30,
"calendar": "weekdays"
}
}
contactsintegerobligatoire1–1000000

Distinct people to contact.

horizonDaysintegerobligatoire8–366

Calendar days from the first email to the last follow-up.

calendar"every_day" | "weekdays"obligatoire

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

Sorte de résultatcampaign_estimate

kind"campaign_estimate"
status"estimated" | "invalid"
contactsinteger
horizonDaysinteger
calendarstring
totalEmailsinteger | null
newContactsPerDayinteger | null
peakEmailsPerDayinteger | null
emailsIn30Daysinteger | null
mailboxesinteger | null
domainsinteger | null
planobjet | null

The smallest plan that carries this scenario. Null when none does.

  • code string
  • label string
  • monthlyPriceCents integer
currentPlanobjet | null

The plan the workspace pays for. Null without one.

  • code string
  • label string
coveredByCurrentPlanboolean

True when the plan they pay for already carries this scenario.

currencystring
assumptionsstring | null
messagestring | null
Sché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
}
  • 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é.