Odoo and Mailchimp integration
Odoo holds your customer and partner records in one place. Mailchimp runs your email marketing campaigns. Connecting the two keeps your mailing lists fresh without manual exports and re-imports. New customers and contacts added to Odoo flow into Mailchimp automatically, and profile updates stay in sync. ml-connector bridges the two platforms and keeps your email audience current.
What moves between them
Contact records flow one direction, from Odoo into Mailchimp. When a new customer or partner is created or updated in Odoo, ml-connector reads it via a write_date-filtered search_read call on res.partner and pushes the contact into the target Mailchimp list. The sync runs on a schedule you set, typically daily or after business hours. Email address, first name, last name, and custom fields are mapped to Mailchimp list member attributes.
How ml-connector handles it
ml-connector stores the Odoo API key and the Mailchimp API key encrypted. On each sync run, it parses the Mailchimp API key to extract the data center prefix, then queries Odoo for contacts modified since the last high-water-mark timestamp. Each changed contact is upserted into the Mailchimp list as a list member, using the email address as the unique key. Duplicate email entries are handled by Mailchimp's merge-on-update behavior. If Mailchimp returns a rate limit (HTTP 429), ml-connector backs off and retries. Failed contact pushes are logged with the full error message and can be replayed from the audit trail. Mailchimp webhooks for unsubscribe and email cleanup are noted but do not flow back to Odoo in this direction.
A real-world example
A small business uses Odoo to track customers and partners, and Mailchimp to send email newsletters and promotional campaigns. Before the integration, the marketing team manually exported the customer list from Odoo every month, cleaned up duplicates in a spreadsheet, and uploaded the list to Mailchimp, a process that often missed recent signups and delayed campaign targeting. With Odoo and Mailchimp connected, new customer records in Odoo flow into Mailchimp automatically on a daily schedule, and the marketing team can segment and campaign against fresh data without re-keying.
What you can do
- Push new and updated customer contacts from Odoo res.partner into Mailchimp lists on a schedule you control.
- Map Odoo partner names and email addresses to Mailchimp list member attributes with deduplication on email.
- Extract the Mailchimp data center prefix from the API key and route requests to the correct regional endpoint.
- Poll Odoo using write_date filters to sync only changed records and avoid redundant API calls.
- Track every contact push with a full audit trail and replay failed records on retry.
Questions
- How does ml-connector know which Mailchimp data center to use?
- Mailchimp API keys contain the data center prefix as the last segment after the final hyphen (e.g., us6, us19). ml-connector extracts this prefix from the API key and routes all requests to the correct regional endpoint. No separate configuration is needed.
- What happens if a contact already exists in the Mailchimp list?
- Mailchimp merges updates on the email address key. If a contact with the same email already exists in the list, the list member record is updated with new values from Odoo. This prevents duplicates and keeps the list current.
- Can unsubscribes in Mailchimp flow back to Odoo?
- No. The data flow is one direction only, from Odoo into Mailchimp. Unsubscribes and email changes in Mailchimp are tracked in Mailchimp webhooks but do not update the Odoo contact record. This protects Odoo's source of truth.
Related integrations
More Odoo integrations
Other systems that connect to Mailchimp
Connect Odoo and Mailchimp
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started