- Documentation
Mailchimp integration
Manage Mailchimp audiences, members, tags, and campaigns across your client Mailchimp accounts.
What it does
The Mailchimp integration lets your agency run a client's email marketing without leaving TaskJuice. Connect a client's Mailchimp account once and you can add or update audience members, tag contacts, look up subscriber records, list audience members with offset and count pagination, create campaigns of any type (regular, plaintext, A/B, RSS, multivariate), and queue campaigns for delivery. Two polling triggers turn audience and campaign activity into workflow runs: one watches an audience for member changes, the other watches the campaigns endpoint for new sends.
Connect a Mailchimp account
- Open your workspace in TaskJuice and navigate to Connections.
- Choose Mailchimp and click Connect.
- Enter your Mailchimp data-center prefix. You can find it in the URL of the Mailchimp dashboard. For example,
us12.admin.mailchimp.commeans the data-center isus12. After connecting you can also callGET https://login.mailchimp.com/oauth2/metadatato confirm the value Mailchimp assigned to the account. - Sign in with the Mailchimp account whose audiences you want to manage on behalf of your client.
- Authorize the connection. Mailchimp does not currently expose granular OAuth scopes for third-party apps, so a connected account inherits the permissions of the user who signed in.
- TaskJuice returns you to the workspace with the connection ready to use in any workflow.
To revoke access at any time, sign in to Mailchimp, open Account & billing, choose Settings, choose Integrations, and remove the TaskJuice entry.
Triggers
mailchimp/list-member-changedpolls a chosen audience and fires once per cycle whoseitemsarray carries every member whoselast_changedtimestamp is greater than the previous watermark. Drop a Loop node downstream to process each member individually, or aggregate a digest.mailchimp/campaign-sentpolls Mailchimp's campaigns endpoint (filtered bystatus=sentandsince_send_time) and fires once per cycle whoseitemsarray carries every campaign that completed sending since the previous watermark.
Actions
mailchimp/add-list-memberadds a new subscriber to an audience, with optional merge fields and tags.mailchimp/upsert-list-memberadds a new subscriber or updates an existing one in a single call, keyed on the MD5 hash of the lowercased email.mailchimp/get-list-memberfetches a single audience member by subscriber hash, including merge fields and tags.mailchimp/list-list-memberslists members of an audience with offset and count pagination, optional status filter, and an optionalsince_last_changedwatermark for incremental sync.mailchimp/add-tag-to-memberadds or removes tags on an audience member in a single call. Pass each tag with statusactiveto add orinactiveto remove.mailchimp/create-campaigncreates a new campaign of any documented type targeting an audience, with subject line, preview text, from name, and reply-to.mailchimp/send-campaignqueues a previously created campaign for delivery.
Known limitations
- Mailchimp's first-party webhooks ship as unsigned
application/x-www-form-urlencodedPOSTs, which do not match the signed-payload contract used by the rest of the integration platform. The Mailchimp integration therefore uses two polling triggers instead. With the default 300 second interval for audience changes and 600 second interval for campaign sends, a single connection stays well under Mailchimp's request budget. - Mailchimp routes every account to a specific data center (the
us12,us20style prefix in the dashboard URL). The data-center value is captured on the connection when you set it up and gets interpolated into every request. If you migrate an account to a different data center, reconnect Mailchimp to pick up the new prefix. - Mailchimp does not expose granular OAuth scopes for third-party apps. A connected account inherits the permissions of the user who signed in, and an admin user is required to manage audiences and campaigns.
- Mailchimp enforces a hard ceiling of 10 concurrent requests per account across all integrations. Very short poll intervals can starve other workflows that share the same connection.