# Microsoft Dynamics 365 integrations

*5 integrations*

**In short:** Integrating Microsoft Dynamics 365 means connecting either the Dataverse-based CRM apps or Business Central as the ERP to the systems around it: another CRM, SAP, a web shop or Slack. Data moves as accounts, opportunities, customers, orders and notifications. What breaks is the Dynamics data model: GUID lookups, option sets stored as integers, company-scoped APIs, VAT posting groups instead of rates, and service protection limits that stall naive loads.

## What connects to Microsoft Dynamics 365

Dynamics 365 is two different things in practice. The customer engagement apps such as Sales and Customer Service run on Dataverse and play the CRM role. Business Central is an ERP for small and mid-sized companies, common in DACH, where each legal entity (Mandant) is its own company inside an environment.

On the CRM side, Dynamics usually has to agree with another CRM or ERP: accounts and opportunities aligned with a second CRM, as in [Dynamics 365 and Salesforce](https://seamless.engineering/integrations/dynamics-365-salesforce/), or customers, materials and orders exchanged with [SAP](https://seamless.engineering/integrations/sap-dynamics-365/). Business Central sits behind the shop and the sales pipeline: orders, refunds and payouts arrive from [Shopify](https://seamless.engineering/integrations/shopify-business-central/), and customers and invoice status stay in step with HubSpot.

## Where Dynamics 365 integrations break

- **Everything is a GUID or a code.** Owners, currencies and products are lookups to GUIDs, and priority or status reason are integer option-set values whose labels are environment-specific. A mapping or message that passes the raw value shows `2` instead of `High`.
- **Service protection limits.** Dataverse throttles by request count and execution time per user, and Business Central throttles per environment with concurrency ceilings and returns 429s. One call per record stalls mid-load, so writes have to be batched and paced.
- **Business Central is company-scoped and versioned.** Every call targets one company in one environment, writes need the ETag, and document numbers come from number series. You create the record and read the assigned number back instead of setting it.
- **VAT posting groups, not percentages.** Business Central posts VAT through the combination of VAT business and product posting groups. Domestic, EU OSS and reverse-charge sales each need the right group, never a rate copied from the source.
- **Delta, not full reloads.** Re-reading every account or re-pushing every material burns API entitlements and re-sends unchanged data. Dataverse change tracking provides delta tokens, and a periodic reconciliation catches anything a webhook missed.

## All Dynamics 365 integrations

### E-commerce → ERP

- [Shopify ↔ Business Central](https://seamless.engineering/integrations/shopify-business-central/): Shopify Business Central integration

### ERP ↔ CRM

- [Dynamics 365 ↔ Salesforce](https://seamless.engineering/integrations/dynamics-365-salesforce/): Dynamics 365 Salesforce integration
- [Business Central ↔ HubSpot](https://seamless.engineering/integrations/business-central-hubspot/): Business Central HubSpot integration
- [SAP ↔ Dynamics 365](https://seamless.engineering/integrations/sap-dynamics-365/): SAP Dynamics 365 integration

### Collaboration ↔ Ops

- [Dynamics 365 ↔ Slack](https://seamless.engineering/integrations/dynamics-365-slack/): Dynamics 365 Slack integration

## Request a scoping call

Connecting Dynamics 365 to something not listed here? Tell us which systems are involved and what data has to move. Fixed-price scoping quote within 48 hours.

- Email: hello@seamless.engineering
- Contact form: https://seamless.engineering/#contact
