update_campaign
Modify subject line, sender, or segment targeting of an existing campaign draft to prepare it for sending.
Instructions
Update settings or segment targeting of an existing campaign draft.
Use to modify subject line, sender, or segment targeting before sending. Only works on campaigns in 'save' (draft) status; returns error for sent/scheduled campaigns. Only provided fields are updated; omitted fields remain unchanged. Use set_campaign_content to change the HTML body instead.
Authenticated via API key. Subject to Mailchimp API rate limits (max 10 concurrent requests). Respects read-only and dry-run modes.
Args: campaign_id: The campaign ID to update (e.g. 'abc123def4'). Obtain from list_campaigns or create_campaign. subject_line: New subject line for the email. title: New internal title for organizing in Mailchimp. preview_text: New preview/preheader text. from_name: New sender name. reply_to: New reply-to email address. Must be a verified domain. list_id: Audience/list ID. Required when changing segment_id. Obtain from list_audiences. segment_id: Saved segment ID to target. Requires list_id to also be set. Obtain from list_segments.
Returns: JSON with fields: id, status, settings (full settings object), recipients (list_id, segment_opts).
Example: update_campaign(campaign_id="abc123", subject_line="Updated Subject") -> {"id": "abc123", "status": "save", "settings": {"subject_line": "Updated Subject", ...}}
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | ||
| subject_line | No | ||
| title | No | ||
| preview_text | No | ||
| from_name | No | ||
| reply_to | No | ||
| list_id | No | ||
| segment_id | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |