create_campaign
Create a new draft email campaign for a specified audience list, with optional segment targeting. Set subject line, title, preview text, from name, and reply-to.
Instructions
Create a new regular email campaign in draft status, optionally targeting a specific segment.
Typical workflow: create_campaign -> set_campaign_content (add HTML body) -> send_test_email (preview) -> send_campaign or schedule_campaign (deliver). The campaign is created in 'save' (draft) status and cannot be sent until content is set. Use replicate_campaign instead to clone an existing campaign.
Authenticated via API key. Subject to Mailchimp API rate limits (max 10 concurrent requests). Respects read-only and dry-run modes.
Args: list_id: The audience/list ID to send to (e.g. 'abc123def4'). Obtain from list_audiences. subject_line: Subject line recipients see in their inbox. Keep under 150 chars. title: Internal title for organizing in Mailchimp dashboard. Defaults to subject_line if omitted. preview_text: Preheader text shown after the subject line in inbox. Keep under 200 chars. from_name: Sender name on the email. Falls back to audience default if omitted. reply_to: Reply-to email address. Must be a verified domain. Falls back to audience default. segment_id: Saved segment ID to restrict recipients. Only members matching this segment receive the email. Obtain from list_segments. Omit to send to the full audience.
Returns: JSON with fields: id (string, the new campaign ID for use with set_campaign_content, send_campaign, etc.), status ('save'), title, subject_line, web_id (int, for Mailchimp web UI link). Returns error if list_id is invalid.
Example: create_campaign(list_id="abc123", subject_line="Spring Sale", preview_text="20% off everything") -> {"id": "def456", "status": "save", "title": "Spring Sale", ...}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| list_id | Yes | ||
| subject_line | Yes | ||
| title | No | ||
| preview_text | No | ||
| from_name | No | ||
| reply_to | No | ||
| segment_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |