Mailchimp Campaigns ListCampaigns

Mailchimp Campaigns ListCampaigns

Certified

List Mailchimp campaigns

Reads campaigns with GET /campaigns, 1000 per request, until maxItems or the end.

Each row exposes id, type, status, sendTime, emailsSent, plus listId (from recipients), subjectLine and title (from settings); every other Mailchimp field keeps its original key.

yaml
type: io.kestra.plugin.mailchimp.campaigns.ListCampaigns

Fetch the campaigns sent since the start of the year, newest first.

yaml
id: mailchimp_list_campaigns
namespace: company.team

tasks:
  - id: campaigns
    type: io.kestra.plugin.mailchimp.campaigns.ListCampaigns
    apiKey: "{{ secret('MAILCHIMP_API_KEY') }}"
    status: SENT
    sinceSendTime: "2026-01-01T00:00:00Z"
    sortField: SEND_TIME
    sortDir: DESC
    fetchType: FETCH
Properties

OAuth access token

Set exactly one of apiKey or accessToken. server is required with an access token.

Mailchimp API key

Set exactly one of apiKey or accessToken. The data center is taken from the key suffix (for example -us19) unless server is set.

Assets this task consumes as inputs or produces as outputs, for lineage tracking and the asset graph (Enterprise Edition). A flow declaring this property on a task is rejected in the open-source edition.

Definitions
assetFailureBehaviorstring
Possible Values
IGNOREFAILWARN

Asset failure behavior

Behavior applied to the task state when a declared asset fails to render, emit, or be persisted (e.g. a lock conflict): FAIL escalates it to FAILED, WARN (default) warns it if it would otherwise succeed, IGNORE leaves the state untouched.

enableAutobooleanstring

Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.

inputsarray

The assets consumed as inputs.

id*string
Min length1
typestring
outputs

The assets produced as outputs.

id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*object
descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150
id*string
Min length1
Max length150
type*string
Min length1

Custom asset type

descriptionstring
displayNamestring
metadataobject
Default{}
namespacestring
Min length1
Max length150

Base URL override

Replaces https://<server>.api.mailchimp.com/3.0. The credential is sent to this URL, so it must be an https *.api.mailchimp.com host.

Sent before

Only campaigns sent before this ISO-8601 date and time (before_send_time).

Possible Values
REGULARPLAINTEXTABSPLITRSSVARIATE

Campaign type

Only campaigns of this type: REGULAR, PLAINTEXT, ABSPLIT, RSS or VARIATE (sent lower case as type). Named campaignType because type is the task type in a flow.

Possible Values
STOREFETCHFETCH_ONENONE

Fetch strategy

FETCH_ONE: first record only. FETCH: all records in memory. STORE: write rows as ION to internal storage and return the URI. NONE: only count them. Default FETCH, except STORE for ListMembers and ListEmailActivity, which can return very many rows.

Audience ID

Only campaigns sent to this audience (list_id).

Max items

Stop after this many records. Must be at least 1. Default: unlimited, so set it to bound a huge result.

Default3

Max retries

Retries done by this plugin on HTTP 429 (all methods) and on 5xx or I/O errors (GET and PUT only), with exponential backoff. Default 3, between 0 and 10. Kestra's HTTP client also replays a GET or PUT once after a 429 or 503 on its own, so 0 only turns off the plugin's retries.

Data center

Mailchimp data center such as us19. Required with accessToken, optional with apiKey (overrides the key suffix).

Sent since

Only campaigns sent after this ISO-8601 date and time (since_send_time).

Possible Values
ASCDESC

Sort direction

ASC or DESC; Mailchimp only applies it together with sortField.

Possible Values
CREATE_TIMESEND_TIME

Sort field

Field to sort by: CREATE_TIME or SEND_TIME. Sent lower case to Mailchimp.

Possible Values
SAVEPAUSEDSCHEDULESENDINGSENT

Status

Only campaigns with this status: SAVE, PAUSED, SCHEDULE, SENDING or SENT. Sent lower case to Mailchimp.

DefaultPT2M

Request timeout

Idle read timeout of each call: how long to wait without receiving data. Default PT2M, must be positive. Mailchimp itself cuts requests off after 120 seconds.

First record

Populated when fetchType is FETCH_ONE.

SubTypeobject

Records

Populated when fetchType is FETCH.

Record count

Number of records read from Mailchimp.

Total count

Total number of matching records reported by Mailchimp (total_items), when available.

Formaturi

Stored records URI

Populated when fetchType is STORE: an ION file in internal storage.