Dynamics 365 and Azure Integration Services: Scope, Architecture and What to Ask a Firm
Deep integration between Dynamics 365 and the rest of your estate on Azure Integration Services: Service Bus, Logic Apps, Azure Functions and API Management, connected to Dataverse, finance and operations apps and Business Central, designed and owned by one team.
Deep Dynamics 365 and Azure integration covers Azure Integration Services (Service Bus, Logic Apps, Azure Functions and API Management), Dataverse plug-ins and webhooks, finance and operations data entities and business events, and Business Central APIs. Before hiring a firm, ask who designs both the CRM and the ERP side, how failed messages are handled and replayed, whether every operation is idempotent, how monitoring raises an alert when messages stop arriving, and who owns the integration after go-live. Solzet answers all of these with one team: senior consultants and developers in Yerevan, working on UTC+4 with most of the European working day in common, design, build and support the integration end to end.
What does deep Dynamics 365 and Azure integration actually cover?
A connector that copies contacts every night is not what this page is about. Deep integration means the business processes that cross system boundaries, such as order to cash, quote to invoice, case to field visit or supplier onboarding, run reliably across Dynamics 365 and the other systems involved, with every message accounted for. On Microsoft's stack that work usually combines four layers, and the design decides which layer carries which responsibility.
Where the integration is only between Dynamics 365 Customer Engagement and the Microsoft ERP, the Dataverse-native routes usually come first: the Dataverse connection and virtual tables for Business Central, dual-write and virtual entities for Finance and Operations. Those are covered on our CRM and ERP integration page. This page is about the cases where Azure sits in the middle: third-party systems, high volumes, external consumers, or processes that need queuing, retries and an audit trail of their own.
The four layers of a Dynamics 365 integration on Azure:
| Layer | What it is | What it is used for |
|---|---|---|
| Azure Integration Services | Azure Service Bus, Azure Logic Apps, Azure Functions and Azure API Management | Queues and topics that decouple systems, orchestration and mapping, custom code where a workflow is not enough, and a governed API front door for external consumers |
| Dataverse (Customer Engagement and Power Platform) | Plug-ins, webhooks, Azure Service Bus service endpoints, custom APIs and the Web API | Pushing events out of Dynamics 365 Customer Engagement the moment they happen, and exposing operations that other systems can call |
| Finance and operations apps | Data entities over OData, the Data management framework for bulk and recurring loads, and business events | Reading and writing finance, supply chain and commerce data, high-volume imports and exports, and raising events such as an invoice posted |
| Business Central | API v2.0, custom API pages written in AL, webhook subscriptions and OData | Reading and writing customers, items, orders and ledger data, and notifying subscribers when records change |
Which questions should you ask an integration firm before you hire one?
Most integration problems we are asked to look at were decided in the first weeks of the project, by what nobody asked. These are the questions we would want a buyer to put to any firm, including us. A good answer is specific and names a mechanism; a weak answer says the platform handles it.
- Who designs both sides? If one firm configures the CRM, another the ERP and a third the middleware, the record ownership and the conflict rules belong to nobody. Ask who decides which system owns each entity.
- What happens to a message that fails? Ask where it goes (a dead-letter queue, an error table), who is told, and how it is replayed once the cause is fixed, without retyping data.
- Is every operation idempotent? A message that is delivered twice must not create two orders or two payments. Ask how duplicates are detected, for example with an external key or a message ID stored on the target record.
- How is ordering handled? Ask what happens when an update arrives before the create it depends on, and how sessions or sequence checks are used.
- How will you know it has gone quiet? An integration that stops sending messages produces no errors. Ask for alerting on silence, such as no orders received in a business hour, not only on exceptions.
- Where do the logs live and who can read them? Ask for correlation IDs that follow one business transaction across Dynamics 365, Azure and the other system.
- How are secrets and identities handled? Ask for managed identities or service principals, secrets in Azure Key Vault, and no credentials stored in code or in Dynamics 365 configuration.
- How are changes released? Ask for source control, infrastructure as code and deployment pipelines for the Azure resources, and solution or extension pipelines for the Dynamics 365 side.
- Who owns it after go-live? Ask who is on call, who updates the integration when Microsoft releases a change, and what documentation and runbooks you receive.
How does Solzet design a Dynamics 365 integration on Azure?
We start from the business process, not from the tools. For each flow we write down which system owns each record, which events trigger a message, the expected volume and latency, and what a failure costs the business. Only then do we choose the mechanism: an event pushed from Dataverse to a Service Bus topic, a Logic App that orchestrates a multi-step flow, an Azure Function for transformation code that a workflow would make unreadable, or a finance and operations business event that starts a downstream process.
Every design carries the same non-negotiables: messages land on a queue before they are processed, every handler is idempotent, failed messages are dead-lettered with enough context to replay them, and monitoring in Azure Monitor and Application Insights alerts on errors and on silence. When external systems need to call Dynamics 365, we put Azure API Management in front, as described in our guide to exposing Dynamics 365 data through an API gateway.
- Integration inventory and target architecture, with record ownership per entity.
- Message contracts and mappings, versioned in source control.
- Azure resources defined as infrastructure as code and deployed through pipelines.
- Dataverse plug-ins, custom APIs and service endpoints, finance and operations data entities and business events, Business Central APIs and AL extensions, built by the same team.
- Error handling, replay and alerting tested on purpose before go-live, including a deliberate outage of each connected system.
- Runbooks, architecture documentation and a handover session for the people who will run it.
When should a Dataverse plug-in call an external system directly, and when should it hand off to Azure?
Calling an external API straight from a plug-in looks simple and often works in a demo. In production it ties the user's save to the availability and speed of the other system, and it runs inside the Dataverse sandbox with its own limits. Our rule of thumb: a plug-in validates and enriches data inside Dataverse, and anything that depends on another system is handed to Azure Service Bus or a webhook and processed asynchronously. The sandbox rules and the patterns that respect them are in our guide to calling an external API from a Dynamics 365 plug-in.
What if the integrations already exist and nobody trusts them?
Many estates have grown point to point: each new system got its own interface, written by whoever was available, and nobody has the full picture. We start with an assessment of what exists, what each interface does and where data is lost, and we stabilise the flows that matter before changing anything else. Our guide to rationalising point-to-point integrations explains how to untangle them without buying new middleware for its own sake, and our emergency triage guide covers the first days when an integration is losing records silently.
How does integration work with Finance and Operations and Business Central on the ERP side?
Solzet implements the ERP as well as the CRM, so the ERP end of an integration is not a black box handed to another supplier. On Finance and Operations we design data entities, recurring integrations through the Data management framework and business events, and write X++ extensions where a standard entity is not enough. On Business Central we use API v2.0, build custom API pages in AL and subscribe to webhooks for change notifications. The same people decide what the ERP exposes and how Azure consumes it.
How does Solzet deliver and support the integration?
Solzet is a scalable senior consultancy headquartered in Yerevan, Armenia. The work is done by our own senior consultants and full-stack developers, and the people who design the integration are the people who build and support it. Yerevan is on UTC+4, so our working day overlaps most of the European business day and the morning of the US East Coast, which keeps design workshops, incident calls and releases inside your hours.
After go-live you can keep us on support, with monitoring, incident response and updates when Microsoft changes a platform, or take the integration in-house with the documentation, runbooks, pipelines and source code that are yours from the first day. If the CRM itself is not on Microsoft licensing, we integrate a custom-built CRM with Business Central or Finance and Operations the same way.
Where can you go deeper?
Rationalising point-to-point integrations
How to untangle undocumented interfaces without buying new middleware for its own sake.
Exposing Dynamics 365 through an API gateway
Azure API Management in front of Dataverse for partners, portals and other external consumers.
Integration losing records silently: emergency triage
The first days when a Dynamics 365 integration is dropping data and nobody knows where.
Calling an external API from a plug-in
The Dataverse sandbox rules and the asynchronous patterns that respect them.
What do buyers ask us?
What are Azure Integration Services?
Azure Integration Services is Microsoft's name for the Azure products used to connect applications: Azure Service Bus for queues and topics, Azure Logic Apps for workflows, Azure Functions for custom code, Azure API Management for publishing and governing APIs, and Azure Event Grid for event routing. With Dynamics 365 they carry messages between Dataverse, the ERP and the other systems in your estate.
Does Dynamics 365 need Azure for integration?
Not always. Customer Engagement with Business Central or Finance and Operations can often be integrated with the Dataverse-native routes: the Dataverse connection and virtual tables for Business Central, dual-write and virtual entities for Finance and Operations. Azure Integration Services come in when third-party systems, high volumes, external consumers or guaranteed delivery with replay are involved.
What should we ask a firm before hiring it for Dynamics 365 integration?
Ask who designs both the CRM and the ERP side, how failed messages are dead-lettered and replayed, how duplicates are prevented, how ordering is handled, how you are alerted when messages stop arriving, how secrets are stored, how changes are released, and who owns and supports the integration after go-live.
Can Solzet integrate Finance and Operations and Business Central through Azure?
Yes. Solzet implements both ERPs and integrates them through Azure: data entities, the Data management framework and business events for finance and operations apps, and API v2.0, custom AL API pages and webhooks for Business Central, connected through Service Bus, Logic Apps, Azure Functions and API Management.
How do you make sure an integration does not lose records silently?
Messages are queued before processing, every handler is idempotent, failures go to a dead-letter queue with enough context to replay them, and monitoring alerts on errors and on silence, for example when no orders have arrived in a business hour. A correlation ID follows each transaction across systems so a missing record can be traced.
Who owns the integration after go-live?
You do. Source code, infrastructure definitions, pipelines, documentation and runbooks live in your repositories and your Azure subscription from the first day. You can keep Solzet on support or run the integration with your own team.
How does working with a team in Yerevan fit a European project?
Yerevan is on UTC+4, so the working day overlaps most of the European business day. Workshops, incident calls and releases happen in your hours, with the same senior consultants and developers throughout the project.
Which related services fit alongside this?
Hire a Dynamics 365 Developer or CRM Developer in Armenia
Hire a senior Dynamics 365 developer or CRM developer from Solzet in Yerevan, Armenia: Dataverse, C# plugins, PCF controls, integrations and project rescue.
Power Platform Consulting and Development Services
Power Platform consulting and development by senior Solzet developers: Power Apps, Power Automate and RPA, Power Pages, Copilot Studio, Dataverse and PCF.
Custom CRM Development
Custom CRM development on React, Node.js, PostgreSQL and .NET for companies that need CRM without Microsoft licensing. Full ownership, no per-user fees.
Dynamics 365 Business Central Implementation
Solzet implements Dynamics 365 Business Central: AL extensions, NAV, GP and 1C migration, the Armenian localization and CRM integration, all in one team.
Dynamics 365 Finance and Operations Implementation
Solzet implements Dynamics 365 Finance and Operations: Finance, Supply Chain Management, Commerce, X++ extensions, AX upgrades and dual-write integration.
CRM and ERP Integration for Dynamics 365
Solzet connects Dynamics 365 Customer Engagement with Business Central and Finance and Operations: Dataverse, virtual tables, dual-write, Power Platform.
Ready to start?
Contact Solzet for a free consultation. A senior consultant replies within one business day with a recommendation: Dynamics 365 Customer Engagement, Business Central, Finance and Operations, Power Platform, or a custom-built CRM.