The toolbox, and when each tool earns its place
Power Automate
Cloud flows suit department-level automation with modest volumes: a new account in Sales creates a folder in SharePoint, an approved quote posts a message in Teams. Quick to build, easy for power users to read.
Azure Logic Apps
The same connector idea with enterprise controls: source control, deployment pipelines, virtual network options and better handling of large volumes. Our default for anything finance depends on.
Dataverse Web API and plug-ins
When another application needs to read or write customer engagement data directly, the Web API is the front door. Plug-ins react inside Dataverse when timing must be exact.
Azure Service Bus and Functions
For high-volume or order-sensitive traffic, a queue between systems absorbs spikes and lets one side go offline without losing messages.
Dual-write
Microsoft's built-in link between Finance and Supply Chain Management and Dataverse, so customers, products and orders stay aligned across ERP and CRM.
EDI through a provider
X12 documents such as 850 orders, 856 ship notices and 810 invoices usually arrive via an EDI provider, then land in Dynamics 365 through an API or file drop we build and watch.
Dual-write in practice
Dual-write is attractive because it is Microsoft's own mechanism and ships with ready-made table maps for customers, vendors, products, sales orders and more. Turned on carelessly, though, it can create a tangle: two systems both editing the same record, legal entity rules that differ from CRM ownership rules, and initial sync jobs that stall on bad data.
Before switching it on we decide, table by table, which system owns each field and whether sync runs one way or both ways. We clean duplicate customers first, because dual-write will faithfully copy every duplicate across. And we test the initial sync on a copy with realistic volumes, not with the demo data that ships in a sandbox.
Sometimes the right answer is not to use dual-write at all. If CRM only needs to read invoice history, a virtual table or a scheduled Logic App may be simpler and cheaper to own.
Picking a pattern for each connection
How every integration we ship is watched
- βEach run writes a log entry with a correlation ID, so one order can be followed from the web shop to the invoice.
- βTransient errors retry automatically with a back-off; permanent errors stop and go to a dead-letter queue instead of looping.
- βFailures raise an alert to a named mailbox or Teams channel, with enough detail for the person reading it to act.
- βCredentials live in Azure Key Vault or connection references, never inside flow definitions or code.
- βA plain-English runbook explains how to resubmit a failed message without calling us.

Integration questions we hear most
Should we use Power Automate or Logic Apps?
Both use the same connectors, so the choice is about ownership and scale. Power Automate is a good fit when a business team will maintain a modest flow themselves. Logic Apps fits when IT needs source control, deployment pipelines, private networking or heavy volumes. We often use both in one company, each where it belongs.
Can you connect Dynamics 365 to our ecommerce platform?
Yes. Most ecommerce platforms offer APIs or webhooks, and we build a flow that creates customers and orders in Dynamics 365 and sends stock and shipment updates back. The design decides which system owns prices, stock and customer details before any mapping is written. Business Central users should also look at the dedicated Shopify connector, which Microsoft ships with the product.
Do we need a separate EDI provider?
Usually, yes. An EDI provider handles the trading partner connections, envelopes and acknowledgements, which is specialist work. We connect that provider to Dynamics 365 and build the document mapping and error handling on our side. That split keeps each piece supported by people who do it every day.
What happens when Microsoft updates Dynamics 365?
APIs change slowly and Microsoft announces deprecations in advance, but connectors and dual-write maps do get updated. We test integrations in a sandbox that has the upcoming release wave enabled, then fix anything that breaks before the update reaches production. Customers on our support service have this done as part of each wave.
Our integrations were built by someone else. Can you take them over?
Yes. We start by listing every connection, reading the flows and code, and checking where credentials are stored and who gets alerts. You receive a written assessment of what is solid and what is risky before we take responsibility for it. Fixes are then prioritized by how much business depends on each connection.
Talk to us about your project.
Tell us what you run today and what has to change. A senior consultant replies with a written next step.
