PowerPreFlight
Run it
Success by Design, scanned

Preflight the environment.
Then commit the workload.

Before every flight, pilots run a preflight checklist — a systematic verification that everything is ready before committing to takeoff. PowerPreFlight runs one for Dynamics 365 and Power Platform: it reads DLP policy, connectors, pipelines and workload configuration to safely deploy a workload or roll out Copilot Studio, benchmarked against Microsoft’s Success by Design practices, and returns a scored, ordered list of what to close before go-live.

npx powerpreflight

Node.js 22 or later · nothing to install

How a run goes

01

Sign in as yourself

A local listener on 127.0.0.1 opens your browser and authenticates through Microsoft’s pre-authorised first-party Dataverse client. No app registration, no consent prompt, no Global Administrator.

02

Pick an environment

Every environment your account can already reach is listed. The scan is read-only and carries exactly your access.

03

Work the checklist

Findings come back scored and ordered by what blocks go-live, each mapped to its Success by Design practice. Export the scorecard or the environment profile.

Why teams run it

  • Less tracked by hand. DLP, connector and pipeline steps that normally live in a spreadsheet come back enumerated.
  • The same review every time. Scored against Microsoft’s own framework rather than whichever checks the reviewer remembered.
  • Readiness in an afternoon. A Copilot Studio rollout or workload go-live gets its gap list on day one, not after the first failure.
  • Nothing to stand up. No service to host or maintain, and safe to run in a client tenant because it carries zero elevated privilege.

What it can touch

No app registration

The first-party Dataverse public client is pre-authorised in every tenant. Your client approves nothing.

Only your own access

You still need your own account and security role in the environment. Nothing is escalated.

Tokens stay on your machine

In memory behind a per-run session token, never on disk unless you pass --persist-cache.

No Dataverse data leaves

This origin serves the app, the steps and the solution library, and receives no environment data.

Where your data goes

  • Access tokens stay in memory on your machine and are never written to disk unless you pass --persist-cache.
  • The local server binds 127.0.0.1 only, and every request carries a session token generated fresh for that run.

Run it

There is nothing to install permanently and nothing to configure to get started. npx fetches the current build each time you run it, so you are always on the latest version. The one prerequisite is Node.js 22 or later (winget install OpenJS.NodeJS.LTS, or brew install node, or nodejs.org).

Configuration is optional

The content settings are editable inside the app. These environment variables exist for scripting a machine, not the normal path.

PREFLIGHT_CONTENT_URLOrigin publishing steps and solutions. Defaults to https://powerpreflight.app/api/content. off runs on bundled content alone.
PREFLIGHT_CONTENT_TOKENRead token for that content origin, if it needs one. Also settable in the app.
PREFLIGHT_CLIENT_IDYour own public-client registration, for tenants whose conditional access blocks first-party clients.
PREFLIGHT_REDIRECT_URIOverride the loopback redirect when a registration requires a specific one.
PREFLIGHT_OUTOutput directory for exported scorecards and profiles. Defaults to ./preflight-output.

There is no web app to sign in to

A hosted console used to run at this address, and it is gone. Environment preparation, solution deployment and the governance checks all run in the command, against the environments your sign-in can already reach. This site holds no credential for anyone’s tenant, and there is nothing here to log into.

npx powerpreflight