SaaS webhooks / Marketing

Mailchimp webhook events.

6 events emitted by Mailchimp in the team-ops webhook catalog. Each event below carries the canonical event name, payload schema (field names and types only), auth method, signature header, retry policy, and a link back to Mailchimp's docs.

Auth mix: 6 none · Source extraction: 2026-05-13

All 6 events

Direct anchors. Each event header links to its own URL.

campaign

A campaign status changes (sent, canceled, paused, etc.).

extraction: llm assisted (confidence 0.85)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'campaign'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
id string required
Campaign ID.
subject string
Campaign subject line.
status string required
Campaign status.
reason string | null
Reason for status change.
list_id string
Audience/list ID the campaign was sent to.
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

cleaned

An email address is removed from an audience due to a hard bounce or abuse report.

extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'cleaned'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
list_id string required
Audience/list ID.
campaign_id string
Campaign that generated the bounce.
reason string (enum) required
Reason for cleaning (hard bounce or abuse report).
email string required
Cleaned email address.
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

profile

A subscriber's profile data (merge fields, email preferences) is updated.

extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'profile'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
id string
Mailchimp unique member ID (hashed email).
list_id string required
Audience/list ID.
email string required
Subscriber's email address.
email_type string
Email format preference (html or text).
ip_opt string | null
IP address recorded at opt-in/out.
ip_signup string | null
IP address recorded at signup.
web_id integer
Numeric web ID for this subscriber.
merges object
Merge field values for the subscriber (e.g. FNAME, LNAME, plus custom fields).
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

subscribe

A contact subscribes to a Mailchimp audience, either via a signup form or API.

extraction: llm assisted (confidence 0.95)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'subscribe'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
id string
Mailchimp unique member ID (hashed email).
list_id string required
Audience/list ID.
email string required
Subscriber's email address.
email_type string
Email format preference (html or text).
ip_opt string | null
IP address recorded at opt-in/out.
ip_signup string | null
IP address recorded at signup.
web_id integer
Numeric web ID for this subscriber.
merges object
Merge field values for the subscriber (e.g. FNAME, LNAME, plus custom fields).
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

unsubscribe

A contact unsubscribes from an audience or is deleted from it.

extraction: llm assisted (confidence 0.95)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'unsubscribe'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
id string
Mailchimp unique member ID (hashed email).
list_id string required
Audience/list ID.
email string required
Subscriber's email address.
email_type string
Email format preference (html or text).
ip_opt string | null
IP address recorded at opt-in/out.
ip_signup string | null
IP address recorded at signup.
web_id integer
Numeric web ID for this subscriber.
merges object
Merge field values for the subscriber (e.g. FNAME, LNAME, plus custom fields).
action string (enum) required
Whether the user unsubscribed or was deleted.
reason string
Reason for the unsubscribe action.
campaign_id string | null
Campaign ID that prompted the unsubscribe, if applicable.
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

upemail

A subscriber changes their email address on the audience.

extraction: llm assisted (confidence 0.90)

Auth

Auth method
none
Signature detail
Mailchimp webhooks do not include a built-in signature header. Authentication relies on a secret token embedded in the webhook callback URL.

Delivery

Guarantees
at-least-once
Backoff
Mailchimp retries failed webhook deliveries a limited number of times.

Payload schema (field names + types only)

type string required
Event type identifier, e.g. 'upemail'.
fired_at string required
Datetime string (Y-m-d H:i:s) when the event was fired.
data object required
Event-specific data payload.
list_id string required
Audience/list ID.
new_id string
New subscriber ID after email change.
new_email string required
New email address.
old_email string required
Previous email address.
Notes: Mailchimp webhooks deliver data as application/x-www-form-urlencoded POST or JSON depending on configuration. fired_at uses 'Y-m-d H:i:s' format, not ISO 8601.

Vendor docs

Use this data programmatically

The full catalog ships as a HuggingFace dataset under CC-BY-4.0. Load it with the datasets library, filter by vendor, and you have every Mailchimp event in a Parquet table ready for code-generation, schema validation, or routing.

from datasets import load_dataset
ds = load_dataset("automatelab/saas-webhook-catalog")
events = ds["train"].filter(lambda r: r["vendor"] == "mailchimp")

Open the dataset on HuggingFace Source on GitHub

Other vendors in the catalog

Back to the index for all 30 vendors.