D365 Audit
Use case

Find unused fields in Dynamics 365

After a few years in production almost every solution carries dead weight: fields that sit on no form, scripts nobody loads any more and workflows from the days before Power Automate. It slows down every update, because nobody can say for sure what is still needed.

For consultants planning a clean-up, administrators looking after a grown solution, IT managers planning the budget and partners taking over maintenance.

What is checked

Fields on no form

Custom fields that appear on no form in the solution, and columns marked as deprecated. These are candidates, not a deletion list.

FLD-004FLD-008

Orphaned components

Web resources no form or ribbon loads, choice lists no field uses and connection references no flow uses.

JS-009WEBRES-001OPT-004CONN-002

Outdated JavaScript

"Xrm.Page", jQuery in form scripts, forgotten "console.log" calls and unusually large unminified files.

JS-001JS-002JS-010JS-007

Classic workflows

Workflows Microsoft wants moved to Power Automate, drafts that were never activated and real-time workflows without filtering.

WF-001WF-007WF-003

Form and view performance

Forms with a very high control count on the first tab, and views with many joins or no filter at all.

FRM-002PERF-001VW-007VW-008

Duplicates

Views with an identical query, roles with identical privileges and duplicate detection rules with the same criteria.

VW-006SEC-010DUP-002

Switched off but still shipped

Deactivated forms, hidden buttons, inactive dataflows and apps that are not activated but still part of the solution.

FRM-005APPA-001DFL-002MDA-001

Sample findings

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

Custom field FLD-004 Low

Custom field not referenced on any form of this entity included in the solution. Use outside of forms (workflows, Power Automate, reports) and on further forms not included in the solution has NOT been checked.

Wording of the rule, figures for illustration
14 workflows WF-001 Medium

Classic workflow (legacy). Microsoft recommends migrating to Power Automate.

From the sample report
Form "Account" FRM-002 High

56 controls in the (assumed) default tab. Performance risk, verify on the form.

From the sample report

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

Is a field on no form really unused?

Not necessarily. Rule FLD-004 checks the forms in the solution; whether a flow, a report or an integration reads the field is not covered there. The report says so for every hit.

Are standard fields reported too?

No. Only fields with your own prefix are reported. A solution rarely contains every form of a standard table, so standard fields would almost always be false alarms.

Can I delete the fields it finds straight away?

Better not. First check whether the field holds data and whether anything outside the solution uses it. The report gives you the list of candidates; the decision is made in the environment.

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.