ml-connector
Microsoft Dynamics 365 Business CentralMailchimp

Microsoft Dynamics 365 Business Central and Mailchimp integration

Microsoft Dynamics 365 Business Central holds your customers, items, and posted sales. Mailchimp runs your email marketing and audience lists. Connecting the two keeps a Mailchimp audience populated from real Business Central customer records, and turns posted sales invoices into Mailchimp e-commerce orders so campaign reports show actual revenue per contact. ml-connector moves the records on a schedule you control and feeds subscribe and unsubscribe activity back so consent stays accurate.

How Microsoft Dynamics 365 Business Central works

Microsoft Dynamics 365 Business Central exposes customers, items, sales invoices, sales orders, and the chart of accounts through its REST API built on OData v4, scoped under a company on a tenant-specific environment URL. Unattended access uses OAuth 2.0 client credentials against Microsoft Entra ID, requesting the Business Central scope. It supports push webhook subscriptions for entities such as customers, items, and sales invoices, but those notifications only signal that a record changed and expire after three days, so the connector renews subscriptions and fetches the changed record itself. Incremental reads use an OData filter on lastModifiedDateTime.

How Mailchimp works

Mailchimp exposes audiences, list members, e-commerce stores, customers, products, and orders through its Marketing API v3.0 over REST with JSON, on a data-center-specific base URL. Authentication is either an API key over HTTP Basic auth for a single account or OAuth 2.0 authorization code for connecting a customer account, and the data center prefix is read from the key or the OAuth metadata endpoint. Mailchimp is an email marketing platform, not an ERP, so it has no vendors, purchase orders, invoices, or GL accounts; its e-commerce order object is the closest analog for revenue. Subscriber events are delivered by URL-secured webhooks with no signature header.

What moves between them

The primary flow runs from Microsoft Dynamics 365 Business Central into Mailchimp. New and changed customers become list members in a chosen audience, mapped by email address, with name and company carried into merge fields. Items map to Mailchimp e-commerce products and posted sales invoices map to e-commerce orders under a store linked to that audience, giving campaign reports real revenue per contact. The return flow is subscribe, unsubscribe, profile, and email-change events from Mailchimp, which update the matching Business Central customer contact and marketing-consent fields. Reads run on a schedule with webhook subscriptions for prompt change signals; cadence is yours to set.

How ml-connector handles it

ml-connector stores both credential sets encrypted. On the Business Central side it requests a client-credentials token from Microsoft Entra ID and builds the company URL from the stored environment name; on the Mailchimp side it sends the API key over Basic auth or an OAuth token and resolves the data center prefix from the key suffix or the OAuth metadata endpoint. Because a Mailchimp store, products, and customers must exist before orders can be written, the connector creates the store against the target audience and upserts products before posting invoices as orders. Customers are matched on email, and Mailchimp e-commerce upserts via PUT are safe to replay, so the connector uses a stable order id derived from the invoice number to avoid duplicates. Business Central webhook subscriptions are renewed before their three-day expiry, and each notification triggers a fetch of the changed record. Mailchimp marketing webhooks carry no signature, so the connector relies on a secret URL token over HTTPS, and on the return path it updates the matching customer contact. Mailchimp limits concurrent connections rather than request rate, so the connector caps parallelism and backs off on a 429; Business Central throttling returns 429 with backoff as well. A cleaned Mailchimp address cannot be re-subscribed, so such records are flagged rather than forced.

A real-world example

A mid-sized specialty foods distributor with about 120 staff runs Microsoft Dynamics 365 Business Central for finance, inventory, and order processing, and uses Mailchimp for its customer newsletter and promotions. Before the integration, the marketing team exported customer lists from Business Central to a spreadsheet and imported them into Mailchimp by hand every few weeks, so new accounts were always weeks behind and unsubscribes never made it back into the ERP. Campaign reports also could not tie an email open to an actual order. With the two systems connected, new customers land in the Mailchimp audience automatically, posted invoices show up as e-commerce orders so the team can see revenue per campaign, and unsubscribes flow back so the customer record reflects current consent. The manual export-and-import step is gone.

What you can do

  • Sync new and changed Business Central customers into a chosen Mailchimp audience as list members, matched by email.
  • Map Business Central items to Mailchimp e-commerce products and posted sales invoices to e-commerce orders for revenue attribution.
  • Feed Mailchimp subscribe, unsubscribe, profile, and email-change events back to the matching Business Central customer contact and consent fields.
  • Bridge Microsoft Entra ID client-credentials tokens with Mailchimp basic or OAuth auth and resolve the data center prefix automatically.
  • Renew Business Central webhook subscriptions before their three-day expiry and replay Mailchimp e-commerce upserts safely on retry.

Questions

Which direction does data move between Microsoft Dynamics 365 Business Central and Mailchimp?
The primary flow is Business Central into Mailchimp: customers become audience members, items become e-commerce products, and posted sales invoices become e-commerce orders. The return flow is subscribe, unsubscribe, and profile events from Mailchimp that update the matching Business Central customer contact and consent fields. Mailchimp has no ERP financial objects, so no GL entries or invoices are written into it.
Can Mailchimp store invoices or GL postings from Business Central?
No. Mailchimp is an email marketing platform with no vendors, invoices, or GL accounts. Its e-commerce order object is the closest analog, so ml-connector maps a posted Business Central sales invoice to a Mailchimp order with line items, totals, and currency for marketing attribution, not for accounting. The order must sit under a store that is linked to a Mailchimp audience, which the connector creates first.
How does the integration keep records from duplicating across the two systems?
On the Mailchimp side, e-commerce orders and customers are upserted with PUT using a stable id derived from the Business Central invoice or customer, so a retried write updates the existing record instead of creating a copy. List members are keyed on email address. On the Business Central side, incremental reads use an OData filter on lastModifiedDateTime and webhook notifications trigger a fetch of just the changed record, so the same change is not processed twice.

Related integrations

Connect Microsoft Dynamics 365 Business Central and Mailchimp

Free to use. Add your credentials, ping your real systems, and see if we fit.

Get started