Skip to main content

Mailchimp Component

Interact with email campaign lists and e-commerce resources.

Component key: mailchimp

Changelog ↓

Description

Mailchimp is a marketing automation platform and email marketing service. The Mailchimp component allows you to interact with your mailchimp email campaigns and your e-commerce site.

You can configure a Mailchimp webhook to send information to a Prismatic webhook URL under certain conditions ("Profile Updates", "Subscribes", "Campaign Sending", etc.).

For more information on configuring webhooks refer to the Mailchimp Docs

Connections

Mailchimp API Key

To authenticate with Mailchimp using an API Key, generate a key from the Mailchimp account settings.

For detailed information about API key authentication, refer to Mailchimp's API quickstart guide.

Prerequisites

Setup Steps

To generate an API key:

  1. Navigate to the API Keys page in the Mailchimp account settings.
  2. Scroll to the Your API keys section.
  3. Click Create A Key to generate a new API key.
  4. Enter a descriptive name for the key (e.g., "Integration API Key").
  5. Copy the generated API key value.
API Key Format

Mailchimp API keys include a data center suffix (e.g., abc123def456-us21). The suffix after the hyphen indicates the data center where the account is hosted. This suffix is required for the API to route requests correctly.

Configure the Connection

  • Enter the full API Key (including the data center suffix) into the connection configuration.
InputNotesExample
API Key

The Mailchimp API Key. Generate one in your Mailchimp account at Account > Extras > API Keys. The key includes a data center suffix.

a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6-us21
Debug Request

When true, the component will log the request and response to the console.

false

Mailchimp OAuth 2.0 Connection

To connect to Mailchimp using OAuth 2.0, an OAuth application must be registered in the Mailchimp account.

For detailed information about Mailchimp OAuth, refer to the Mailchimp OAuth 2.0 documentation.

Prerequisites

Setup Steps

  1. Navigate to the Mailchimp OAuth Apps page in the Mailchimp account settings.
  2. Click Register an App to create a new OAuth application.
  3. Fill in the required fields:
    • App Name: A descriptive name for the application
    • App Description: A brief description of what the application does
    • Redirect URL: https://oauth2.prismatic.io/callback
  4. Click Create to register the application.
  5. Once created, copy the Client ID and Client Secret values displayed on the app details page.

Configure the Connection

  • Enter the Client ID and Client Secret from the registered OAuth application.
  • The Authorize URL and Token URL are pre-configured with the correct Mailchimp endpoints.

The connection is now ready to authenticate with Mailchimp.

InputNotesExample
Authorize URL

The OAuth 2.0 Authorization URL for Mailchimp.

https://login.mailchimp.com/oauth2/authorize
Client ID

The Client ID from your Mailchimp OAuth app. Find this in your Mailchimp account at Account > Extras > API Keys > OAuth 2.0.

123456789012
Client Secret

The Client Secret from your Mailchimp OAuth app. Keep this value secure and never share it.

a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5
Debug Request

When true, the component will log the request and response to the console.

false
Scopes

Mailchimp does not support granular scopes. Leave empty.

Token URL

The OAuth 2.0 Token URL for Mailchimp.

https://login.mailchimp.com/oauth2/token

Triggers

List Events Webhook

Receive list event notifications from Mailchimp. Automatically creates and manages a webhook subscription for selected event types when the instance is deployed, and removes the subscription when the instance is deleted. | key: listEventsWebhook

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Events

Select the events that will trigger the webhook (e.g., subscribe, unsubscribe, profile update).

Sources

Select the sources that should trigger the webhook. <strong>User:</strong> changes made by subscribers, <strong>Admin:</strong> changes made by account admins, <strong>API:</strong> changes made via the API.

List Events Webhook

The List Events Webhook trigger automatically creates and manages a webhook subscription in Mailchimp to receive notifications when subscribers are added, removed, or updated in a list (audience). The webhook is created automatically when the integration instance is deployed and deleted when the instance is removed.

Configuration

Configure the trigger by providing:

  • Connection - Mailchimp API key connection
  • List Id - The unique identifier for the audience list (available via dropdown or manual entry)
  • Events - The specific events to monitor:
    • Subscribe - Subscriber added to the list
    • Unsubscribe - Subscriber removed from the list
    • Profile Update - Subscriber profile information updated
    • Cleaned (Bounced) - Email address bounced and cleaned from the list
    • Email Change - Subscriber's email address changed
    • Campaign Sent - Campaign sent to the list
  • Sources - The sources that should trigger notifications:
    • User - Changes made by subscribers through forms or preference centers
    • Admin - Changes made by administrators through the Mailchimp interface
    • API - Changes made programmatically through the Mailchimp API

For more information about Mailchimp webhooks, see Mailchimp's list webhooks documentation and the sync audience data guide.

Automatic Webhook Lifecycle Management

This trigger uses webhook lifecycle handlers to automatically manage webhooks in Mailchimp:

Instance Deployment

When an integration instance is deployed with this trigger:

  1. The trigger creates a webhook subscription in Mailchimp for the specified list
  2. The webhook is configured with the selected events and sources
  3. The webhook URL is automatically set to the integration instance's trigger endpoint
  4. If a webhook already exists for this URL, creation is skipped to avoid duplicates

Instance Deletion

When an integration instance is deleted:

  1. The trigger locates the webhook subscription by matching the URL
  2. The webhook is deleted from Mailchimp
  3. If no matching webhook exists, deletion is skipped

This automatic lifecycle management ensures:

  • Webhooks are only active when instances are deployed
  • No orphaned webhooks remain after instance deletion
  • Webhook configuration stays synchronized with instance configuration
  • Multiple instances can safely use different lists without conflicts

Webhook Events

The trigger receives webhook requests for the configured events:

  • subscribe - Fired when a subscriber is added to the list through any configured source
  • unsubscribe - Fired when a subscriber is removed from the list or unsubscribes
  • profile - Fired when subscriber profile information (name, address, merge fields) is updated
  • cleaned - Fired when an email address bounces and is cleaned from the list
  • upemail - Fired when a subscriber changes their email address
  • campaign - Fired when a campaign is sent to the list

Webhook Sources

Filter events by their origin source:

  • user - Changes initiated directly by subscribers (subscription forms, preference centers, email links)
  • admin - Changes made by account administrators through the Mailchimp web interface
  • api - Changes made programmatically through the Mailchimp Marketing API

Configure sources to control which types of changes trigger the integration. For example, select only user and api sources to exclude manual admin changes from triggering the workflow.

Returned Data

The trigger returns the complete webhook payload from Mailchimp. The payload structure varies by event type:

Subscribe Event
{
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
}

The subscribe event includes:

  • id - Unique member identifier
  • list_id - List where subscription occurred
  • email - Subscriber's email address
  • email_type - Preferred email format (html or text)
  • ip_opt - IP address where opt-in occurred
  • ip_signup - IP address where initial signup occurred
  • merges - Merge field values for the subscriber
Unsubscribe Event
{
"type": "unsubscribe",
"fired_at": "2024-12-05T15:45:00Z",
"data": {
"action": "unsub",
"reason": "manual",
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"campaign_id": "cb398d21d2",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe"
}
}
}

The unsubscribe event includes:

  • action - Type of unsubscribe action
  • reason - Reason for unsubscribe (manual, abuse, etc.)
  • campaign_id - Campaign that triggered unsubscribe (if applicable)
Profile Update Event
{
"type": "profile",
"fired_at": "2024-12-05T16:20:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Smith",
"ADDRESS": "123 Main St",
"PHONE": "+1-555-123-4567",
"BIRTHDAY": "01/15"
}
}
}

The profile event contains the updated merge field values.

Email Changed Event
{
"type": "upemail",
"fired_at": "2024-12-05T17:00:00Z",
"data": {
"list_id": "a6b5da1054",
"new_id": "9b36gg2e09",
"new_email": "john.smith@example.com",
"old_email": "john.doe@example.com"
}
}

The email change event includes both old and new email addresses plus the new member ID.

Cleaned Event
{
"type": "cleaned",
"fired_at": "2024-12-05T18:30:00Z",
"data": {
"list_id": "a6b5da1054",
"campaign_id": "cb398d21d2",
"reason": "hard",
"email": "bounced@example.com"
}
}

The cleaned event includes:

  • reason - Type of bounce (hard, soft, etc.)
  • campaign_id - Campaign where bounce occurred (if applicable)
Campaign Event
{
"type": "campaign",
"fired_at": "2024-12-05T19:00:00Z",
"data": {
"id": "cb398d21d2",
"list_id": "a6b5da1054",
"subject": "Your Monthly Newsletter",
"status": "sent"
}
}

The campaign event includes campaign details and sending status.

{
"payload": {
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"User-Agent": "MailChimp",
"Host": "hooks.example.com"
},
"queryParameters": {},
"rawBody": {
"data": {
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
},
"contentType": "application/x-www-form-urlencoded"
},
"body": {
"data": {
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
},
"contentType": "application/x-www-form-urlencoded"
},
"pathFragment": "",
"webhookUrls": {
"Mailchimp Webhook Flow": "https://hooks.example.com/trigger/aBcDeFgHiJkLmNoPqRsTuVwXyZ"
},
"webhookApiKeys": {
"Mailchimp Webhook Flow": [
"example_api_key_1234567890"
]
},
"invokeUrl": "https://hooks.example.com/trigger/aBcDeFgHiJkLmNoPqRsTuVwXyZ",
"executionId": "SW5zdGFuY2VFeGVjdXRpb25SZXN1bHQ6OTg3NjU0MzIxMA==",
"customer": {
"id": "Q3VzdG9tZXI6MTIzNDU2Nzg5MA==",
"name": "Acme Corporation",
"externalId": "acme-corp-12345"
},
"instance": {
"id": "SW5zdGFuY2U6OTg3NjU0MzIxMA==",
"name": "Mailchimp Integration - Acme Corp"
},
"user": {
"id": "VXNlcjo5ODc2NTQzMjEw",
"email": "admin@example.com",
"name": "Admin User",
"externalId": "admin-12345"
},
"integration": {
"id": "SW50ZWdyYXRpb246OTg3NjU0MzIxMA==",
"name": "Mailchimp Integration",
"versionSequenceId": "SW50ZWdyYXRpb25WZXJzaW9uU2VxdWVuY2U6MTIzNDU2Nzg5MA==",
"externalVersion": "1.0.0"
},
"flow": {
"id": "SW5zdGFuY2VGbG93Q29uZmlnOjEyMzQ1Njc4OTA==",
"name": "Mailchimp Webhook Flow"
},
"startedAt": "2024-12-05T14:30:00.000Z"
}
}

Webhook

Receive webhook requests from Mailchimp for manually configured webhooks. Use this trigger when you want to configure webhooks directly in Mailchimp rather than having them auto-managed. | key: webhook

Webhook

The Webhook trigger receives webhook requests from Mailchimp for manually configured webhooks. Use this trigger when configuring webhooks directly in the Mailchimp account rather than having them auto-managed by the integration.

Configuration

This trigger requires manual webhook setup in Mailchimp:

  1. Log in to the Mailchimp account
  2. Navigate to Audience > Manage Audience > Settings
  3. Select Webhooks from the settings menu
  4. Click Create New Webhook
  5. Enter the trigger's webhook URL from the integration instance
  6. Select the desired Events to monitor (subscribe, unsubscribe, profile, cleaned, upemail, campaign)
  7. Select the desired Sources (user, admin, api)
  8. Save the webhook configuration

For more information, see Mailchimp's list webhooks documentation.

Webhook Events

The trigger receives webhook requests when any of the configured events occur:

  • subscribe - A subscriber is added to the list
  • unsubscribe - A subscriber is removed from the list
  • profile - A subscriber's profile information is updated
  • cleaned - An email address is cleaned (bounced) from the list
  • upemail - A subscriber's email address is changed
  • campaign - A campaign is sent to the list

Webhook Sources

Events can originate from three different sources:

  • user - Changes made directly by subscribers (e.g., through subscription forms or preference centers)
  • admin - Changes made by account administrators through the Mailchimp web interface
  • api - Changes made programmatically through the Mailchimp API

Configure which sources trigger webhook notifications when setting up the webhook in Mailchimp.

Returned Data

The trigger returns the complete webhook payload from Mailchimp. The payload structure varies by event type but typically includes:

Subscribe Event Example
{
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
}
Unsubscribe Event Example
{
"type": "unsubscribe",
"fired_at": "2024-12-05T15:45:00Z",
"data": {
"action": "unsub",
"reason": "manual",
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"campaign_id": "cb398d21d2",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
}
Profile Update Event Example
{
"type": "profile",
"fired_at": "2024-12-05T16:20:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Smith",
"ADDRESS": "123 Main St",
"PHONE": "+1-555-123-4567",
"BIRTHDAY": "01/15"
}
}
}
Email Changed Event Example
{
"type": "upemail",
"fired_at": "2024-12-05T17:00:00Z",
"data": {
"list_id": "a6b5da1054",
"new_id": "9b36gg2e09",
"new_email": "john.smith@example.com",
"old_email": "john.doe@example.com"
}
}
Cleaned Event Example
{
"type": "cleaned",
"fired_at": "2024-12-05T18:30:00Z",
"data": {
"list_id": "a6b5da1054",
"campaign_id": "cb398d21d2",
"reason": "hard",
"email": "bounced@example.com"
}
}
Campaign Event Example
{
"type": "campaign",
"fired_at": "2024-12-05T19:00:00Z",
"data": {
"id": "cb398d21d2",
"list_id": "a6b5da1054",
"subject": "Your Monthly Newsletter",
"status": "sent"
}
}

{
"payload": {
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"User-Agent": "MailChimp",
"Host": "hooks.example.com"
},
"queryParameters": {},
"rawBody": {
"data": {
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
},
"contentType": "application/x-www-form-urlencoded"
},
"body": {
"data": {
"type": "subscribe",
"fired_at": "2024-12-05T14:30:00Z",
"data": {
"id": "8a25ff1d98",
"list_id": "a6b5da1054",
"email": "john.doe@example.com",
"email_type": "html",
"ip_opt": "192.168.1.100",
"ip_signup": "192.168.1.100",
"merges": {
"EMAIL": "john.doe@example.com",
"FNAME": "John",
"LNAME": "Doe",
"ADDRESS": "",
"PHONE": "",
"BIRTHDAY": ""
}
}
},
"contentType": "application/x-www-form-urlencoded"
},
"pathFragment": "",
"webhookUrls": {
"Mailchimp Webhook Flow": "https://hooks.example.com/trigger/aBcDeFgHiJkLmNoPqRsTuVwXyZ"
},
"webhookApiKeys": {
"Mailchimp Webhook Flow": [
"example_api_key_1234567890"
]
},
"invokeUrl": "https://hooks.example.com/trigger/aBcDeFgHiJkLmNoPqRsTuVwXyZ",
"executionId": "SW5zdGFuY2VFeGVjdXRpb25SZXN1bHQ6OTg3NjU0MzIxMA==",
"customer": {
"id": "Q3VzdG9tZXI6MTIzNDU2Nzg5MA==",
"name": "Acme Corporation",
"externalId": "acme-corp-12345"
},
"instance": {
"id": "SW5zdGFuY2U6OTg3NjU0MzIxMA==",
"name": "Mailchimp Integration - Acme Corp"
},
"user": {
"id": "VXNlcjo5ODc2NTQzMjEw",
"email": "admin@example.com",
"name": "Admin User",
"externalId": "admin-12345"
},
"integration": {
"id": "SW50ZWdyYXRpb246OTg3NjU0MzIxMA==",
"name": "Mailchimp Integration",
"versionSequenceId": "SW50ZWdyYXRpb25WZXJzaW9uU2VxdWVuY2U6MTIzNDU2Nzg5MA==",
"externalVersion": "1.0.0"
},
"flow": {
"id": "SW5zdGFuY2VGbG93Q29uZmlnOjEyMzQ1Njc4OTA==",
"name": "Mailchimp Webhook Flow"
},
"startedAt": "2024-12-05T14:30:00.000Z"
}
}

Data Sources

Select Campaign

Select a Mailchimp campaign | key: selectCampaign | type: picklist

InputNotesExample
Connection

The Mailchimp connection to use.


Select Customer

Select a Mailchimp e-commerce customer | key: selectCustomer | type: picklist

InputNotesExample
Connection

The Mailchimp connection to use.

Store Id

The unique identifier for the e-commerce store.

my_store_01

Select List

Select a Mailchimp list/audience | key: selectList | type: picklist

InputNotesExample
Connection

The Mailchimp connection to use.


Select Product

Select a Mailchimp e-commerce product | key: selectProduct | type: picklist

InputNotesExample
Connection

The Mailchimp connection to use.

Store Id

The unique identifier for the e-commerce store.

my_store_01

Select Store

Select a Mailchimp e-commerce store | key: selectStore | type: picklist

InputNotesExample
Connection

The Mailchimp connection to use.


Actions

Add Customer

Add a new customer to a store | key: addCustomer

InputNotesExample
Address 1

The first line of the street address.

123 Main Street
Address 2

The second line of the street address (apartment, suite, etc.).

Apt 4B
City

The city name.

San Francisco
Company

The company name.

Acme Corporation
Connection

The Mailchimp connection to use.

Country

The country name.

United States
Country Code

The two-letter ISO country code (e.g., US, CA, GB).

US
Customer Id

The unique identifier for the customer.

cust_abc123xyz
Email

The email address of the subscriber.

john.doe@example.com
First Name

The first name of the contact.

John
Last Name

The last name of the contact.

Doe
Opt In Status

When true, the customer is opted-in to receive marketing communications. This value will not overwrite the opt-in status of pre-existing list members but will apply to new members added through the e-commerce API. Customers who don't opt in will be added as Transactional members.

false
Postal Code

The postal or ZIP code.

94105
Province

The province name (primarily for Canadian addresses).

British Columbia
Province Code

The province code (primarily for Canadian addresses).

BC
Store Id

The unique identifier for the e-commerce store.

my_store_01

Add List

Create a new list in your Mailchimp account | key: addList

InputNotesExample
Address 1

The first line of the street address.

123 Main Street
Address 2

The second line of the street address (apartment, suite, etc.).

Apt 4B
City

The city name.

San Francisco
Company

The company name.

Acme Corporation
Connection

The Mailchimp connection to use.

Country

The country name.

United States
Email Type Option

When true, the list supports multiple email formats and subscribers can choose between HTML or plain-text emails. When false, subscribers will receive HTML emails with a plain-text alternative backup.

false
From Email

The 'from' email address for the campaign.

john.doe@example.com
From Name

The default 'from' name displayed for campaigns sent to this list.

John Doe
Language

The default language for this list's forms (use ISO 639-1 language code).

en
Marketing Permissions

When true, the list has marketing permissions (e.g., GDPR) enabled.

false
Name

The name of the audience list.

Newsletter Subscribers
Permission reminder

The permission reminder text explaining why subscribers are receiving emails.

You're receiving this email because you signed up for our newsletter.
Phone

The phone number in E.164 format or local format.

+1-555-123-4567
Postal Code

The postal or ZIP code.

94105
State

The state or region code.

CA
Subject

The subject line of the email.

Your Monthly Newsletter

Add Member

Add a new member to a list | key: addMember

InputNotesExample
Connection

The Mailchimp connection to use.

Email

The email address of the subscriber.

john.doe@example.com
Email Type

The type of email format the member prefers: 'html' or 'text'.

html
Interests

Interest categories as key-value pairs where the key is the interest ID and the value is true/false.

{"a1b2c3d4e5": "true", "f6g7h8i9j0": "false"}
Language

The default language for this list's forms (use ISO 639-1 language code).

en
List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Merge Fields

Merge fields (audience fields) as key-value pairs where the key is the merge tag. See Mailchimp's merge fields documentation.

{"FNAME": "John", "LNAME": "Doe"}
Status

The subscriber's current status. Possible values: "subscribed", "unsubscribed", "cleaned", "pending", or "transactional".

subscribed
Tags

Tags associated with the member. Provide a list of tag names.

["VIP Customer", "Newsletter Subscriber"]
VIP

When true, marks the subscriber as a VIP member with priority status.

false

Add Webhook

Create a new webhook for a specific list/audience. | key: addWebhook

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Events

Select the events that will trigger the webhook (e.g., subscribe, unsubscribe, profile update).

Sources

Select the sources that should trigger the webhook. <strong>User:</strong> changes made by subscribers, <strong>Admin:</strong> changes made by account admins, <strong>API:</strong> changes made via the API.

Webhook URL

The URL where the webhook will send requests. You can use this input to configure a component trigger.

https://example.com/webhooks/mailchimp

{
"data": {
"id": "f4c8b5d2e3",
"url": "https://example.com/webhooks/mailchimp",
"events": {
"subscribe": true,
"unsubscribe": true,
"profile": true,
"cleaned": false,
"upemail": true,
"campaign": false
},
"sources": {
"user": true,
"admin": true,
"api": false
},
"list_id": "a1b2c3d4e5",
"_links": [
{
"rel": "self",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json"
},
{
"rel": "parent",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/CollectionResponse.json"
},
{
"rel": "update",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "PATCH",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json",
"schema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/PATCH.json"
},
{
"rel": "delete",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "DELETE"
}
]
}
}

Archive Member

Archive a list member | key: archiveMember

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
SubscriberHash

The MD5 hash of the lowercase version of the list member's email address (32-character hex string). This endpoint also accepts plain email addresses in place of the hash.

b0a7d3c2f1e4a9b6c8d5e7f0a1b2c3d4

Delete Cart

Delete a specific cart | key: deleteCart

InputNotesExample
Cart Id

The unique identifier for the cart.

cart_abc123xyz
Connection

The Mailchimp connection to use.

Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete Cart Line Items

Get information about a cart's line items. | key: deleteCartLineItem

InputNotesExample
Cart Id

The unique identifier for the cart.

cart_abc123xyz
Connection

The Mailchimp connection to use.

Line Id

The unique identifier for the cart line item.

line_abc123
Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete Customer

Delete a customer from a store | key: deleteCustomer

InputNotesExample
Connection

The Mailchimp connection to use.

Customer Id

The unique identifier for the customer.

cust_abc123xyz
Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete List

Delete a list from your Mailchimp account | key: deleteList

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172

Delete Member

Delete all personally identifiable information related to a list member, and remove them from a list. This will make it impossible to re-import the list member | key: deleteMember

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
SubscriberHash

The MD5 hash of the lowercase version of the list member's email address (32-character hex string). This endpoint also accepts plain email addresses in place of the hash.

b0a7d3c2f1e4a9b6c8d5e7f0a1b2c3d4

Delete Order

Delete an order | key: deleteOrder

InputNotesExample
Connection

The Mailchimp connection to use.

Order Id

The unique identifier for the order in the store.

order_12345
Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete Order Line Item

Delete an order Line Item | key: deleteOrderLineItem

InputNotesExample
Connection

The Mailchimp connection to use.

Line Id

The unique identifier for the cart line item.

line_abc123
Order Id

The unique identifier for the order in the store.

order_12345
Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete Product

Delete a product from a store | key: deleteProduct

InputNotesExample
Connection

The Mailchimp connection to use.

Product Id

The unique identifier for the product.

prod_abc123
Store Id

The unique identifier for the e-commerce store.

my_store_01

Delete Webhook

Delete a webhook from a specific list/audience. | key: deleteWebhook

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Webhook ID

The unique identifier for the webhook (10-character alphanumeric string).

f4c8b5d2e3

{
"data": {
"success": true,
"message": "Webhook deleted successfully"
}
}

Get Cart

Get information about a specific cart | key: getCart

InputNotesExample
Cart Id

The unique identifier for the cart.

cart_abc123xyz
Connection

The Mailchimp connection to use.

Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Cart Line Item

Get information about a cart's specific line item | key: getCartLineItem

InputNotesExample
Cart Id

The unique identifier for the cart.

cart_abc123xyz
Connection

The Mailchimp connection to use.

Line Id

The unique identifier for the cart line item.

line_abc123
Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Customer

Get information about a store's specific customer | key: getCustomerInfo

InputNotesExample
Connection

The Mailchimp connection to use.

Customer Id

The unique identifier for the customer.

cust_abc123xyz
Store Id

The unique identifier for the e-commerce store.

my_store_01

Get List

Get information about a specific list in your Mailchimp account. Results include list members who have signed up but haven't confirmed their subscription yet and unsubscribed or cleaned. | key: getList

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172

Get Lists Info

Get information about all lists in the account | key: getListsInfo

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10

Get Member

Get information about a specific list member, including a currently subscribed, unsubscribed, or bounced member | key: getMember

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
SubscriberHash

The MD5 hash of the lowercase version of the list member's email address (32-character hex string). This endpoint also accepts plain email addresses in place of the hash.

b0a7d3c2f1e4a9b6c8d5e7f0a1b2c3d4

Get Order

Get information about a specific order | key: getOrderInfo

InputNotesExample
Connection

The Mailchimp connection to use.

Order Id

The unique identifier for the order in the store.

order_12345
Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Order Line Item

Get an order Line Item | key: getOrderLineItem

InputNotesExample
Connection

The Mailchimp connection to use.

Line Id

The unique identifier for the cart line item.

line_abc123
Order Id

The unique identifier for the order in the store.

order_12345
Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Product

Get information about a specific product | key: getProductInfo

InputNotesExample
Connection

The Mailchimp connection to use.

Product Id

The unique identifier for the product.

prod_abc123
Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Store

Get information about a specific store | key: getStore

InputNotesExample
Connection

The Mailchimp connection to use.

Store Id

The unique identifier for the e-commerce store.

my_store_01

Get Webhook

Get information about a specific webhook for a list/audience. | key: getWebhook

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Webhook ID

The unique identifier for the webhook (10-character alphanumeric string).

f4c8b5d2e3

{
"data": {
"id": "f4c8b5d2e3",
"url": "https://example.com/webhooks/mailchimp",
"events": {
"subscribe": true,
"unsubscribe": true,
"profile": true,
"cleaned": false,
"upemail": true,
"campaign": false
},
"sources": {
"user": true,
"admin": true,
"api": false
},
"list_id": "a1b2c3d4e5",
"_links": [
{
"rel": "self",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json"
},
{
"rel": "parent",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/CollectionResponse.json"
},
{
"rel": "update",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "PATCH",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json",
"schema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/PATCH.json"
},
{
"rel": "delete",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "DELETE"
}
]
}
}

List Account Orders

Get information about an account's orders | key: listAccountOrders

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10

List Campaigns

Get all campaigns in an account | key: listCampaigns

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10

List Cart Line Items

Get information about a cart's line items. | key: listCartLineItem

InputNotesExample
Cart Id

The unique identifier for the cart.

cart_abc123xyz
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Carts

Get information about a store's carts | key: listCarts

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Customers

Get information about a store's customers | key: listCustomers

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Members

Get information about members in a specific Mailchimp list | key: listMembers

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10

{
"data": {}
}

List Order Line Items

List Order Line items | key: listOrderLineItems

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Order Id

The unique identifier for the order in the store.

order_12345
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Orders

List all the orders in a store | key: listOrders

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Products

List all products from a store | key: listProducts

InputNotesExample
Connection

The Mailchimp connection to use.

Result Count

The maximum number of results to return per page (1-1000). Defaults to 10 if not specified.

50
Fetch All

When true, automatically paginates through all results to fetch all records. The Count and Offset inputs are ignored when this is enabled.

false
Offset

The number of records to skip before returning results. Use with Count for pagination (e.g., offset 10 with count 50 returns records 11-60).

10
Store Id

The unique identifier for the e-commerce store.

my_store_01

List Stores

Get information about all stores in the account | key: listStores

InputNotesExample
Connection

The Mailchimp connection to use.


List Webhooks

List all webhooks configured for a specific list/audience. | key: listWebhooks

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172

{
"data": [
{
"id": "f4c8b5d2e3",
"url": "https://example.com/webhooks/mailchimp",
"events": {
"subscribe": true,
"unsubscribe": true,
"profile": true,
"cleaned": false,
"upemail": true,
"campaign": false
},
"sources": {
"user": true,
"admin": true,
"api": false
},
"list_id": "a1b2c3d4e5"
},
{
"id": "g5d9c6e4f7",
"url": "https://example.com/webhooks/mailchimp-backup",
"events": {
"subscribe": true,
"unsubscribe": true,
"profile": false,
"cleaned": true,
"upemail": false,
"campaign": true
},
"sources": {
"user": true,
"admin": false,
"api": true
},
"list_id": "a1b2c3d4e5"
}
]
}

Ping

Send a ping to determine the status of the Mailchimp servers | key: ping

InputNotesExample
Connection

The Mailchimp connection to use.


Raw Request

Send raw HTTP request to Mailchimp | key: rawRequest

InputNotesExample
Connection

The Mailchimp connection to use.

Data

The HTTP body payload to send to the URL.

{"exampleKey": "Example Data"}
File Data

File Data to be sent as a multipart form upload.

[{key: "example.txt", value: "My File Contents"}]
File Data File Names

File names to apply to the file data inputs. Keys must match the file data keys above.

Form Data

The Form Data to be sent as a multipart form upload.

[{"key": "Example Key", "value": new Buffer("Hello World")}]
Header

A list of headers to send with the request.

User-Agent: curl/7.64.1
Max Retry Count

The maximum number of retries to attempt. Specify 0 for no retries.

0
Method

The HTTP method to use.

Query Parameter

A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2.

Response Type

The type of data you expect in the response. You can request json, text, or binary data.

json
Retry On All Errors

If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors.

false
Retry Delay (ms)

The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled.

0
Timeout

The maximum time that a client will await a response to its request

2000
URL

Input the path only (/reporting/facebook-ads), The base URL is already included (https://${dc}.api.mailchimp.com/3.0). For example, to connect to https://${dc}.api.mailchimp.com/3.0/reporting/facebook-ads, only /reporting/facebook-ads is entered in this field.

/reporting/facebook-ads
Use Exponential Backoff

Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored.

false

Send Campaign

Send a Mailchimp campaign. For RSS Campaigns, the campaign will send according to its schedule. All other campaigns will send immediately. | key: sendCampaign

InputNotesExample
Campaign Id

The unique identifier for the campaign (10-character alphanumeric string).

cb398d21d2
Connection

The Mailchimp connection to use.


Update Customer

Update a specific customer's information | key: updateCustomer

InputNotesExample
Address 1

The first line of the street address.

123 Main Street
Address 2

The second line of the street address (apartment, suite, etc.).

Apt 4B
City

The city name.

San Francisco
Company

The company name.

Acme Corporation
Connection

The Mailchimp connection to use.

Country

The country name.

United States
Country Code

The two-letter ISO country code (e.g., US, CA, GB).

US
Customer Id

The unique identifier for the customer.

cust_abc123xyz
First Name

The first name of the contact.

John
Last Name

The last name of the contact.

Doe
Opt In Status

When true, the customer is opted-in to receive marketing communications. This value will not overwrite the opt-in status of pre-existing list members but will apply to new members added through the e-commerce API. Customers who don't opt in will be added as Transactional members.

false
Postal Code

The postal or ZIP code.

94105
Province

The province name (primarily for Canadian addresses).

British Columbia
Province Code

The province code (primarily for Canadian addresses).

BC
Store Id

The unique identifier for the e-commerce store.

my_store_01

Update List

Update the information or metadata of a list | key: updateList

InputNotesExample
Address 1

The first line of the street address.

123 Main Street
Address 2

The second line of the street address (apartment, suite, etc.).

Apt 4B
City

The city name.

San Francisco
Company

The company name.

Acme Corporation
Connection

The Mailchimp connection to use.

Country

The country name.

United States
Email Type Option

When true, the list supports multiple email formats and subscribers can choose between HTML or plain-text emails. When false, subscribers will receive HTML emails with a plain-text alternative backup.

false
From Email

The 'from' email address for the campaign.

john.doe@example.com
From Name

The default 'from' name displayed for campaigns sent to this list.

John Doe
Language

The default language for this list's forms (use ISO 639-1 language code).

en
List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Marketing Permissions

When true, the list has marketing permissions (e.g., GDPR) enabled.

false
Name

The name of the audience list.

Newsletter Subscribers
Permission reminder

The permission reminder text explaining why subscribers are receiving emails.

You're receiving this email because you signed up for our newsletter.
Phone

The phone number in E.164 format or local format.

+1-555-123-4567
Postal Code

The postal or ZIP code.

94105
State

The state or region code.

CA
Subject

The subject line of the email.

Your Monthly Newsletter

Update Member

Update a specific member in a given list | key: updateMember

InputNotesExample
Connection

The Mailchimp connection to use.

Email

The email address of the subscriber.

john.doe@example.com
Email Type

The type of email format the member prefers: 'html' or 'text'.

html
Interests

Interest categories as key-value pairs where the key is the interest ID and the value is true/false.

{"a1b2c3d4e5": "true", "f6g7h8i9j0": "false"}
Language

The default language for this list's forms (use ISO 639-1 language code).

en
List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Marketing Permissions

The marketing permissions for the subscriber as an array of objects. Each object should contain 'marketing_permission_id' and 'enabled' fields.

Merge Fields

Merge fields (audience fields) as key-value pairs where the key is the merge tag. See Mailchimp's merge fields documentation.

{"FNAME": "John", "LNAME": "Doe"}
Skip Merge Fields

When true, member data will be accepted without merge field values, even if the merge field is usually required.

false
Status

The subscriber's current status. Possible values: "subscribed", "unsubscribed", "cleaned", "pending", or "transactional".

subscribed
SubscriberHash

The MD5 hash of the lowercase version of the list member's email address (32-character hex string). This endpoint also accepts plain email addresses in place of the hash.

b0a7d3c2f1e4a9b6c8d5e7f0a1b2c3d4
VIP

When true, marks the subscriber as a VIP member with priority status.

false

Update Webhook

Update an existing webhook for a specific list/audience. | key: updateWebhook

InputNotesExample
Connection

The Mailchimp connection to use.

List Id

The unique identifier for the audience list. Find this in your Mailchimp account under Audience > Settings > Audience name and defaults.

57afe96172
Events

Select the events that will trigger the webhook (e.g., subscribe, unsubscribe, profile update).

Webhook ID

The unique identifier for the webhook (10-character alphanumeric string).

f4c8b5d2e3
Sources

Select the sources that should trigger the webhook. <strong>User:</strong> changes made by subscribers, <strong>Admin:</strong> changes made by account admins, <strong>API:</strong> changes made via the API.

Webhook URL

The URL where the webhook will send requests. You can use this input to configure a component trigger.

https://example.com/webhooks/mailchimp

{
"data": {
"id": "f4c8b5d2e3",
"url": "https://example.com/webhooks/mailchimp-updated",
"events": {
"subscribe": true,
"unsubscribe": true,
"profile": true,
"cleaned": true,
"upemail": true,
"campaign": true
},
"sources": {
"user": true,
"admin": true,
"api": false
},
"list_id": "a1b2c3d4e5",
"_links": [
{
"rel": "self",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json"
},
{
"rel": "parent",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks",
"method": "GET",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/CollectionResponse.json"
},
{
"rel": "update",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "PATCH",
"targetSchema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/Response.json",
"schema": "https://us1.api.mailchimp.com/schema/3.0/Definitions/Lists/Webhooks/PATCH.json"
},
{
"rel": "delete",
"href": "https://us1.api.mailchimp.com/3.0/lists/a1b2c3d4e5/webhooks/f4c8b5d2e3",
"method": "DELETE"
}
]
}
}

Changelog

2025-12-09

Added webhook management capabilities with the following features:

  • Added Add Webhook, Update Webhook, Get Webhook, List Webhooks, and Delete Webhook actions.
  • Added List Events Webhook trigger to receive real-time notifications for list events.