Skip to main content
Glama

MailBeast.ai

Create a campaign (draft)

create_campaign
Destructive

Create a campaign as a DRAFT — it does not send. Optionally set the schedule, settings, the email sequence (steps can carry up to 5 A/B variants), campaign tags and lead emails (up to 1000; add full lead details with add_leads). By default the campaign sends from ALL connected mailboxes of the workspace; to send only from specific ones pass accounts with settings.useAllAccounts = false. Nothing is sent until start_campaign; send_test_email sends a preview of a step first.

Input Schema

NameRequiredDescriptionDefault
nameYes
leadsNoLead email addresses. Malformed ones are counted as invalid, not rejected.
tagIdsNoCampaign tag ids to put on it (read them from `tags[]` of list_campaigns / get_campaign; tags are created in the dashboard).
accountsNoMailbox ids the campaign sends from when settings.useAllAccounts is false; while it is true they do not limit sending.
scheduleNoSending schedule.
sequenceNoEmail steps in send order.
settingsNoThe campaign Settings page: tracking, stop rules, lead skipping by verification, text mode, unsubscribe, sending pattern, A/B optimization, keep active when leads run out, which mailboxes send.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed6 schema fields changed
    • changedInput schema / properties / schedule / properties / sendingMinutesEnd / description
      Previous value: -"Send-window end, minutes from midnight (1020 = 17:00)."New value: +"Send-window end, minutes from midnight (1020 = 17:00, 1440 = midnight). Multiple of 30."
    • changedInput schema / properties / schedule / properties / sendingMinutesEnd / maximum
      Previous value: -1439New value: +1440
    • changedInput schema / properties / schedule / properties / sendingMinutesEnd / minimum
      Previous value: -0New value: +30
    • changedInput schema / properties / schedule / properties / sendingMinutesStart / description
      Previous value: -"Send-window start, minutes from midnight (540 = 09:00)."New value: +"Send-window start, minutes from midnight (540 = 09:00). Multiple of 30."
    • changedInput schema / properties / schedule / properties / sendingMinutesStart / maximum
      Previous value: -1439New value: +1410
    • changedInput schema / properties / sequence / items / properties / delayDays / description
      Previous value: -"Days to wait before this step (0 for the first email)."New value: +"Days to wait before this step (0 for the first email). From step 2 on, delayDays + delayHours must be at least 1 hour."
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already flag this as a non-readonly, non-idempotent, destructive mutation, but the description goes further by scoping that risk: nothing is sent until start_campaign, so creating is safe from a sending standpoint. It also discloses defaults beyond the annotations, notably that the campaign sends from ALL connected mailboxes unless `accounts` plus settings.useAllAccounts = false are used. It does not cover side effects like whether a duplicate name is rejected or what permissions are needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The most important fact (draft, does not send) is front-loaded in the first clause, followed by optional payload areas, then the sending-source default, then the lifecycle pointer. Four sentences with no filler, though the second sentence packs a lot of list-like material.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 7-parameter, deeply nested creation tool the description covers lifecycle (draft to start_campaign), mailbox selection defaults, lead ingestion and A/B step limits. The main gap is that there is no output schema and the description never says what comes back (presumably a campaign id) or what state the created campaign has, which an agent needs for the follow-up start_campaign call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 86% schema description coverage, the schema already documents nearly every parameter, including the accounts/useAllAccounts interaction and the variants logic. The description restates the 1000-lead cap, the 5-variant A/B limit and the mailbox default rather than adding new semantics. Baseline 3 is appropriate because the schema is doing the explanatory work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource+state: 'Create a campaign as a DRAFT — it does not send.' That single clause separates it from update_campaign, start_campaign and create_subsequence without the agent needing to open a schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It routes the agent to explicit alternatives: use add_leads for full lead details, start_campaign to actually launch, send_test_email to preview a step. It also states the condition for `accounts` (settings.useAllAccounts = false). It stops short of an explicit 'use update_campaign instead when the campaign already exists' exclusion, which is the one realistic confusion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources