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.

FieldTypeRequiredDefaultConstraintsExample
list_id
The audience (list) id, as shown in Mailchimp under Audience settings and returned as 'id' by Mailchimp: List Audiences.
stringYes———
campaign_type
The kind of campaign to create.
stringNoregularone 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.
objectNo———
segment_opts
Send to part of the audience, as a JSON object — {"saved_segment_id": 123} or a match/conditions rule.
objectNo——{"saved_segment_id":123}
tracking
Tracking options, as a JSON object — {"opens": true, "html_clicks": true}.
objectNo——{"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.
objectNo———

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

FieldTypeExample
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.