Can AI agents automate Microsoft Dynamics 365 Business Central?
Microsoft · hybrid · erpaccountingsmb
Dynamics 365 Business Central is an API-rich ERP for online and on-premises deployments. Its v2 REST and OData APIs provide read/write access to core finance, sales, purchasing, inventory, customers, vendors, payments, journals, employees, attachments, and document resources. Standard and custom API pages can expose additional entities and bound actions, and transactional OData batches can keep multi-request operations atomic when application code does not commit independently. Microsoft Entra OAuth supports delegated users and service-to-service applications. Online integrations must handle per-user concurrency, rate, batch, page-size, and timeout limits; on-premises endpoints require explicit exposure and have separate authentication and version constraints. AL is the native extension language and toolchain. Microsoft's cross-platform ALTool compiles and packages extensions in headless CI/CD, while AL-Go supplies maintained lifecycle workflows; the privileged Administration Shell covers on-premises services, databases, users, and extensions. The first-party Power Automate connector supports record CRUD, filters, files, bound actions, approvals, and record-change triggers, with premium licensing, region, payload, and throttling limits. Business Central online also has a first-party transactional MCP server in public preview. It defaults to read-only API discovery and can be configured per API page for create, update, delete, and bound actions under the connecting user's Entra identity and permissions. A separate administration-center MCP remains preview, and the AL development MCP exposes build, compile, diagnostics, symbol, package, publish, and authentication tools. Preview contracts and deployment-specific coverage keep MCP below the mature API path. Repeatable computer-use viability was not established.
Best path today: api · Overall automatability: 9/10
Modalities
| Modality | Status | Detail |
|---|---|---|
| API | yes | restodatasoapoauth2-delegatedservice-principal coverage: full · docs |
| SDK | yes | al official: yes |
| MCP | yes | verdict: official |
| Integrations | yes | power_automate |
| CLI | yes | |
| Extensibility | yes | alapi-pagesodata-actionsaltoolal-gopowershell webhooks: True |
| Data access | export: odata-json, api-json, documents, app-package · import: odata-json, api-json, documents, app-package | |
| RPA / UI automation | unknown | web-domwindows-nativemobile-native No repeatable UI probe was run. REST and OData APIs, AL extensions, webhooks, Power Automate, ALTool, PowerShell, and three Microsoft MCP surfaces provide supported automation paths without controlling the Business Central UI. |
| Computer use | unknown | measured verdicts only — "unknown" means not yet probed by us |
Scores
| api | mcp | integrations | cli | rpa | computer use | overall |
|---|---|---|---|---|---|---|
| 9 | 6 | 8 | 8 | — | — | 9 |
Evidence
| Fact | Tier | Source | Date |
|---|---|---|---|
homepage | declared | source | 2026-08-16 |
platforms | declared | source | 2026-08-16 |
license | declared | source | 2026-08-16 |
modalities.api.exists | declared | source | 2026-08-16 |
modalities.api.kinds[0] | declared | source | 2026-08-16 |
modalities.api.kinds[1] | declared | source | 2026-08-16 |
modalities.api.kinds[2] | declared | source | 2026-08-16 |
modalities.api.auth[0] | declared | source | 2026-08-16 |
modalities.api.auth[1] | declared | source | 2026-08-16 |
modalities.api.coverage | declared | source | 2026-08-16 |
modalities.sdk | declared | source | 2026-08-16 |
modalities.sdk.languages | declared | source | 2026-08-16 |
modalities.mcp | declared | source | 2026-08-16 |
modalities.integrations.power_automate | declared | source | 2026-08-16 |
modalities.cli.exists | declared | source | 2026-08-16 |
modalities.extensibility.scripting | declared | source | 2026-08-16 |
modalities.extensibility.webhooks | declared | source | 2026-08-16 |
modalities.data_access.export | declared | source | 2026-08-16 |
modalities.data_access.import | declared | source | 2026-08-16 |
verdict.scores.api | declared | source | 2026-08-16 |
verdict.scores.mcp | declared | source | 2026-08-16 |
verdict.scores.integrations | declared | source | 2026-08-16 |
verdict.scores.cli | declared | source | 2026-08-16 |
freshness.watch[0].url | declared | source | 2026-08-16 |
freshness.watch[1].url | declared | source | 2026-08-16 |
freshness.watch[2].url | declared | source | 2026-08-16 |
Last verified 2026-08-16 · volatility high · JSON record