D365 Audit
Use case

Find deprecated features in Dynamics 365

Before you move to a new environment, switch tenants or start a larger upgrade, you need to know which parts are already deprecated and which ones will point nowhere after the import. Both are in the solution export, spread across hundreds of files. D365 Audit pulls them out for you.

For consultants and architects planning a move, IT managers who have to estimate the effort, partners scoping a quote and developers about to switch to "formContext".

What is checked

Xrm.Page and the old form API

"Xrm.Page" instead of "formContext", plus jQuery and direct DOM access in form scripts, with the file name for every hit.

JS-001JS-002JS-003

Deprecated connectors

Flows that still use the Common Data Service connector (now "Dataverse (legacy)") or the retired Dynamics 365 connector.

FLOW-001DEP-004

Deprecated controls and apps

Editable Grid and Read-Only Grid, controls in the form footer, Project Service Automation and the Power Automate mobile notification.

DEP-007DEP-003DEP-001DEP-002

Removed and outdated libraries

The Microsoft-hosted jQuery 2.1.1 that has been removed, Silverlight web resources and old jQuery versions with known vulnerabilities.

DEP-006JS-004JS-011

Hard-coded IDs and addresses

GUIDs in JavaScript and Power Fx, addresses in plugin code and fixed Power BI IDs. After a move they still point at the old environment.

JS-013PLG-014CANVAS-102DASH-002

Environment variables

Required variables without a value, which block dependent flows after the import, and values from the source environment that ended up in the export.

ENV-001ENV-002

Import prerequisites

The deployment check lists which other solutions must exist in the target environment, split into Microsoft solutions and those not recognised as Microsoft. On top of that come references to tables, scripts and fields the solution does not bring along.

SITEMAP-002RIB-001MAP-001

Classic workflows and old plugins

Workflows Microsoft wants moved to Power Automate, assemblies built against an unsupported .NET Framework and plugins running outside the sandbox.

WF-001PLG-013PLGA-001

Sample findings

This is how findings appear in the report: component, rule, severity and the note behind it.

JavaScript web resource "Actuals" JS-001 High

Uses Xrm.Page (deprecated since v9).

From the sample report
9 forms DEP-007 Low

Form uses the Editable Grid or Read-Only Grid, deprecated since 03/2026.

From the sample report
Form script JS-013 Medium

2 hard-coded GUID(s) in the code. References to records or components of one specific environment. After a migration they point nowhere, and the error often only shows up in operation.

Wording of the rule, figures for illustration

Open the full sample report (PDF)

How it works

The export only. You upload the ZIP file Power Apps creates when you export a solution. Nothing else is needed.
No access to your environment. D365 Audit never connects to your Dataverse tenant: no app registration, no API permissions, no service account.
Raw data deleted right away. The uploaded ZIP and the extracted files are deleted immediately after the analysis. Reports are kept for a limited time only, for the download.
Rules, not AI. The analysis is deterministic code. The same solution always gives the same result, and no content is sent to an AI model.
Hosted in Frankfurt. The server is in the EU, Frankfurt region. Uploaded solutions never leave it.

Details on security and privacy

Frequently asked questions

Does D365 Audit find every Microsoft deprecation?

No. It checks what can be detected reliably in the solution export, and the list above names the rules behind each point. When a new deprecation shows up in exports, it becomes a new rule.

How do I find every use of Xrm.Page?

Rule JS-001 scans every JavaScript web resource in the solution. The report lists each affected file, and the package with Excel adds it as a list.

Does the report tell me whether the import will succeed?

It tells you what has to be in place. The deployment check reads the prerequisites from "solution.xml"; whether the target environment meets them is something an export cannot know, so you check that there.

What does the check cost?

The key figures are free after the upload. You then decide whether you want the full report; the packages are shown on the results page.