Create Campaign
mailchimp.create_campaign
ActionEmailconnection required
Calls the Mailchimp API with the connection's credentials.
Create a draft campaign against an audience. The draft carries no body until Set Campaign Content runs, and is not sent until Send Campaign or Schedule Campaign runs.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Mailchimp
- Secret shape
- the Mailchimp API key (…-<dc>)
- Config it needs
- dc
- Resolved by
- config.connection_id, else node.connection_id
Configuration
6 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
list_id The audience (list) id, as shown in Mailchimp under Audience settings and returned as 'id' by Mailchimp: List Audiences. | string | Yes | — | — | — |
campaign_type The kind of campaign to create. | string | No | regular | one of "regular", "plaintext", "absplit", "rss", "variate" | — |
settings Campaign settings, as a JSON object — {"subject_line": "…", "title": "…", "from_name": "…", "reply_to": "…"}. Mailchimp refuses to send a campaign that has no subject line, from name or reply-to. | object | No | — | — | — |
segment_opts Send to part of the audience, as a JSON object — {"saved_segment_id": 123} or a match/conditions rule. | object | No | — | — | {"saved_segment_id":123} |
tracking Tracking options, as a JSON object — {"opens": true, "html_clicks": true}. | object | No | — | — | {"html_clicks":true,"opens":true} |
extra Further keys to merge into the campaign sent to Mailchimp, such as rss_opts or variate_settings, as a JSON object. | object | No | — | — | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"campaign_type": "regular",
"segment_opts": {
"saved_segment_id": 123
},
"tracking": {
"html_clicks": true,
"opens": true
}
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id The campaign id, used by every other campaign node. | string | — |
web_id The id this campaign has in the Mailchimp web UI's URLs. | number | — |
type regular, plaintext, absplit, rss or variate. | string | — |
status save, paused, schedule, sending or sent. | string | — |
create_time When the campaign was created, ISO 8601. | string | — |
send_time When the campaign was sent, ISO 8601, once it has been. | string | — |
emails_sent How many emails this campaign has sent so far. | number | — |
archive_url The public archive URL for the sent campaign. | string | — |
recipients The audience and segment the campaign goes to. | object | — |
settings Subject line, title, from name, reply-to and template. | object | — |
tracking Which opens, clicks and analytics the campaign tracks. | object | — |
{
"archive_url": "",
"create_time": "",
"emails_sent": 0,
"id": "",
"recipients": {},
"send_time": "",
"settings": {},
"status": "",
"tracking": {},
"type": "",
"web_id": 0
}See Create Campaign run in a workflow.
In a technical demo we add the Mailchimp connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.