Email campaigns

A campaign is created in DRAFT status, edited freely, checked with preflight, and only sends or schedules on explicit confirmation.

Lifecycle

DRAFT → preflight → SCHEDULED or sending → SENT. A sending campaign can be PAUSED. Failed sends can be retried. Campaigns can be archived.

Audience selection

A campaign targets either a dynamic segmentId or a static listId, not both. Segments and lists are managed separately — see /contacts-segments.

Sender

Each campaign has a providerId chosen from the organization's connected email providers. When omitted on creation, the workspace default provider is used.

Preflight

Before scheduling or sending, preflight returns the recipient count, suppression exclusions, and warnings. Agents must call this and surface the count to the user before confirming a send or schedule.

Supported providers

Bring-your-own SMTP or API email provider: Google, Microsoft, GoDaddy, Amazon SES SMTP, Resend, Mailgun, Postmark, SendGrid, and custom SMTP configurations.

Content

Campaigns render from rich, block-based templates with an HTML and plain-text preview. Manual creation and AI-assisted creation (via the Vibe Marketing workflow) both produce the same underlying campaign record.

Related MCP tools

list_campaigns, get_campaign, preflight_campaign, create_campaign, update_campaign, schedule_campaign, send_campaign, pause_campaign. Full parameters at /mcp-tools.