Epicor Kinetic and Mailchimp integration
Epicor Kinetic runs your business operations; Mailchimp runs your email campaigns. Connecting the two keeps your marketing audience in sync with your active customers. New customers created in Epicor flow automatically to your Mailchimp lists, and unsubscribes from Mailchimp campaigns are recorded back into Epicor. Your sales team and marketing team work from the same customer data without manual exports or re-keying.
What moves between them
Customer records from Epicor Kinetic flow into Mailchimp lists. Each active Epicor customer becomes or updates a Mailchimp list member, with name, email, and custom fields (e.g., industry, sales region, account status) mapped from Epicor customer attributes. Unsubscribe and complaint events from Mailchimp campaign webhooks flow back to Epicor as a contact-status flag, so your sales team knows which customers have opted out of email. Syncs run on a schedule you control, typically daily or weekly depending on your customer acquisition rate.
How ml-connector handles it
ml-connector stores both credential sets encrypted. On the Epicor side, it accepts your cloud tenant URL or on-premises server hostname and uses either OAuth2 client credentials or an API Key with Basic Auth, refreshing Bearer tokens before they expire. It polls the Epicor Customers endpoint using an OData filter on the UpdatedOn timestamp to retrieve only records changed since the last sync, then applies offset pagination to handle large customer bases. On the Mailchimp side, ml-connector extracts the data center prefix from your API key, authenticates with HTTP Basic Auth or OAuth2, and creates or updates list members in a target audience. Mailchimp webhooks for unsubscribe and profile events are registered so ml-connector can immediately record opt-outs and profile changes back to Epicor without waiting for the next polling cycle. Customer names, email addresses, and any custom fields you configure in Mailchimp (e.g., customer status, company size) are kept in sync bidirectionally. If an Epicor API call returns a transient error, ml-connector backs off and retries; all records carry a full audit trail.
A real-world example
A mid-sized distributor runs Epicor Kinetic for order management and finance, and uses Mailchimp for monthly product newsletters and promotional campaigns to their customer base. Before the integration, the sales operations team exported active customers from Epicor weekly and manually uploaded the list to Mailchimp, a process prone to delays and duplicates. When unsubscribes occurred in Mailchimp campaigns, the team had no way to flag those customers in Epicor, so sales reps continued to pitch via email. With Epicor and Mailchimp connected, every new customer created in Epicor automatically appears in the target Mailchimp audience within the next sync cycle. Unsubscribe events trigger an immediate webhook that flags the customer in Epicor, so no future campaigns are sent to opted-out recipients.
What you can do
- Sync active Epicor Kinetic customers to Mailchimp lists automatically on a schedule, with no manual export or re-upload.
- Map Epicor customer fields (name, email, industry, region, account status) to Mailchimp list member attributes and custom fields.
- Record Mailchimp unsubscribe and complaint events back to Epicor as contact status changes so sales teams know who opted out.
- Authenticate Epicor with OAuth2 or API Key and handle token refresh, and Mailchimp with HTTP Basic Auth or OAuth2.
- Validate data consistency with full audit trail and handle transient API errors with retries and exponential backoff.
Questions
- Which direction does customer data flow between Epicor Kinetic and Mailchimp?
- Customer records flow from Epicor into Mailchimp lists. Unsubscribe, complaint, and profile update events from Mailchimp campaigns flow back to Epicor as contact-status flags so your team knows who has opted out. Reference fields such as customer name, email, and custom attributes are synced in both directions so updates in either system propagate to the other.
- How does ml-connector handle Epicor's lack of native webhooks and different auth models for cloud vs on-premises?
- ml-connector polls Epicor on a schedule using OData filters (UpdatedOn gt {timestamp}) to retrieve only changed customer records since the last sync, avoiding a full re-sync every time. For authentication, it supports OAuth2 client credentials and API Keys on cloud instances, and Token Resource Service on on-premises deployments, refreshing Bearer tokens before they expire. Mailchimp webhooks eliminate the need to poll Mailchimp, so unsubscribes are recorded back to Epicor immediately.
- What happens if an Epicor customer record has no email address, or if a Mailchimp contact email is invalid?
- ml-connector skips Epicor records without a valid email address during the poll, since Mailchimp list members must have an email. If a Mailchimp contact email becomes invalid after sync, Mailchimp marks the list member as cleaned and sends a webhook event that ml-connector records back to Epicor as a contact status, preventing future sends to that address. Invalid email validation is deferred to Mailchimp's deliverability engine.
Related integrations
More Epicor Kinetic integrations
Other systems that connect to Mailchimp
Connect Epicor Kinetic and Mailchimp
Free to use. Add your credentials, ping your real systems, and see if we fit.
Get started