
Mailchimp Campaigns ListCampaigns
CertifiedList Mailchimp campaigns
Mailchimp Campaigns ListCampaigns
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.
type: io.kestra.plugin.mailchimp.campaigns.ListCampaignsExamples
Fetch the campaigns sent since the start of the year, newest first.
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
accessToken string
OAuth access token
Set exactly one of apiKey or accessToken. server is required with an access token.
apiKey string
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
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.
io.kestra.core.models.assets.AssetsDeclaration
IGNOREFAILWARNAsset 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.
Whether to auto-register assets referenced dynamically at runtime that are not statically declared in inputs or outputs.
The assets consumed as inputs.
io.kestra.core.models.assets.AssetIdentifier
1The assets produced as outputs.
io.kestra.plugin.ee.assets.Dataset
1150{}1150io.kestra.plugin.ee.assets.File
1150{}1150io.kestra.plugin.ee.assets.Table
1150{}1150io.kestra.plugin.ee.assets.VM
1150{}1150io.kestra.core.models.assets.External
1150{}1150io.kestra.core.models.assets.Custom
11501Custom asset type
{}1150baseUrl string
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.
beforeSendTime string
Sent before
Only campaigns sent before this ISO-8601 date and time (before_send_time).
campaignType string
REGULARPLAINTEXTABSPLITRSSVARIATECampaign 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.
fetchType string
STOREFETCHFETCH_ONENONEFetch 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.
listId string
Audience ID
Only campaigns sent to this audience (list_id).
maxItems integerstring
Max items
Stop after this many records. Must be at least 1. Default: unlimited, so set it to bound a huge result.
maxRetries integerstring
3Max 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.
server string
Data center
Mailchimp data center such as us19. Required with accessToken, optional with apiKey (overrides the key suffix).
sinceSendTime string
Sent since
Only campaigns sent after this ISO-8601 date and time (since_send_time).
sortDir string
ASCDESCSort direction
ASC or DESC; Mailchimp only applies it together with sortField.
sortField string
CREATE_TIMESEND_TIMESort field
Field to sort by: CREATE_TIME or SEND_TIME. Sent lower case to Mailchimp.
status string
SAVEPAUSEDSCHEDULESENDINGSENTStatus
Only campaigns with this status: SAVE, PAUSED, SCHEDULE, SENDING or SENT. Sent lower case to Mailchimp.
timeout string
PT2MRequest 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.
Outputs
row object
First record
Populated when fetchType is FETCH_ONE.
rows array
Records
Populated when fetchType is FETCH.
size integer
Record count
Number of records read from Mailchimp.
total integer
Total count
Total number of matching records reported by Mailchimp (total_items), when available.
uri string
uriStored records URI
Populated when fetchType is STORE: an ION file in internal storage.