Webhook Configuration

Webhooks let MailChimp notify Odoo instantly whenever something changes in an audience — a new contact is added, updated, or unsubscribed. Instead of waiting for the scheduled sync, Odoo is updated in real time.

Generate the Webhook URL in Odoo

  1. Open your account from Email Marketing ‣ MailChimp ‣ Accounts.

  2. Click Generate Webhook URL in the form header. Odoo builds a unique, token-protected URL and shows it in the Webhook URL field.

  3. Copy the generated Webhook URL.

Generate the webhook URL in Odoo

Warning

Webhooks require an HTTPS URL.

Register the Webhook in MailChimp

  1. In MailChimp, go to Audience ‣ Manage Audience ‣ Settings ‣ Webhooks and click Create New Webhook.

  2. Paste the Webhook URL copied from Odoo.

  3. Under Contact update types, select the events you want Odoo to receive — typically Subscribes, Unsubscribes, and Profile updates.

  4. Under Contact update sources, choose at least one origin — typically By a contact and By an account admin.

  5. Save the webhook.

Enter the webhook URL in MailChimp

Note

A webhook fires only when a change matches both a selected Contact update type (Subscribes, Unsubscribes…) and a selected Contact update source. The sources describe who made the change — By a contact (the subscriber), By an account admin (someone in your MailChimp account) or Via the API (an integration). Since every change comes from one of these, MailChimp requires at least one source — otherwise the webhook would never trigger.

Tip

Leave Via the API unchecked. Otherwise MailChimp also notifies Odoo about changes that Odoo itself made through the API, which is redundant and can cause an update echo.

What Each Event Does in Odoo

MailChimp Event

Effect in Odoo

Subscribe

Creates/updates the contact and marks it subscribed.

Unsubscribe

Marks the contact opted-out of that audience.

Profile update

Updates the contact’s name and email.

Cleaned address

Adds the email to the Odoo blacklist and opts it out.

Note

Deleting a contact is handled by the webhook, not a separate event you select — MailChimp has no delete update type. When a contact is permanently deleted in MailChimp, the webhook still fires, and (if it is registered and active) the connector removes that contact from Odoo as well.

Note

The webhook is registered per audience in MailChimp. Repeat the registration for each audience you want to keep in real-time sync, reusing the same Odoo Webhook URL.

Tip

Webhooks complement the scheduled sync — they keep Odoo current between cron runs. You can still run a manual Fetch Members or rely on the Fetch MailChimp Audience scheduled action as a safety net (see MailChimp Account Configuration).