Power Platform Navigator is a PowerToys Command Palette extension that helps you quickly open Power Platform environments in the right destination.
It discovers environments from the Global Discovery Service, shows them in a searchable list, and opens the selected environment in your browser.
- Adds a top-level Power Platform Navigator command in Command Palette.
- Authenticates with Microsoft Entra ID using interactive sign-in.
- Discovers environments from the Global Discovery Service.
- Shows each environment with clear metadata (host, region, type, unique name).
- Opens canonical URLs for:
- Maker portal (primary action)
- Dynamics organization URL
- Power Platform Admin Center (PPAC)
- .NET 9 (
net9.0-windows10.0.26100.0) - C# + WinRT COM extension host
Microsoft.CommandPalette.ExtensionsMicrosoft.Identity.Client(MSAL)- xUnit + FluentAssertions for unit tests
- Windows with PowerToys Command Palette installed
- .NET 9 SDK
- Windows SDK
10.0.26100(or compatible with project target) - PowerShell 7+ (
pwsh)
One-time SDK install (if needed):
winget install --id Microsoft.WindowsSDK.10.0.26100-
Restore/build dependencies:
dotnet restore
-
Run tests:
dotnet test ./PowerPlatformNavigator.Tests/PowerPlatformNavigator.Tests.csproj --configuration Debug
-
Build, package, install, and refresh Command Palette:
pwsh -NoProfile -ExecutionPolicy Bypass -File ./scripts/Deploy-CommandPaletteExtension.ps1 -Platform x64 -Configuration Debug -InstallMissingSdk
- Run Tests
- CmdPal: Deploy extension (x64)
These tasks are already configured in the workspace.
- Open PowerToys Command Palette.
- Launch Power Platform Navigator.
- Sign in when prompted.
- Search and select an environment.
- Press Enter to open the primary destination (Maker portal), or use context actions for Dynamics/PPAC.
- Authority:
https://login.microsoftonline.com/organizations/ - Public client ID:
51f81489-12ee-4a9e-aaae-a2591f45987d - Commercial discovery endpoint:
https://globaldisco.crm.dynamics.com/api/discovery/v2.0/Instances
- Token cache path:
%LOCALAPPDATA%\PowerPlatformNavigator\msal.cache
Cloud base URLs implemented for discovery mapping:
- Commercial:
https://globaldisco.crm.dynamics.com - GCC:
https://globaldisco.crm9.dynamics.com - USG:
https://globaldisco.crm.microsoftdynamics.us - DoD:
https://globaldisco.crm.appsplatform.us - China:
https://globaldisco.crm.dynamics.cn
Navigation URLs are centralized in PowerPlatformNavigator/Services/PowerPlatformUrlBuilder.cs:
- Maker:
https://make.powerapps.com/environments/{environmentId}/home - PPAC:
https://admin.powerplatform.microsoft.com/environments/{environmentId}/hub - Dynamics: validated absolute
OrganizationUrl
Run all unit tests:
dotnet test ./PowerPlatformNavigator.Tests/PowerPlatformNavigator.Tests.csproj --configuration DebugCurrent test coverage includes:
- Cloud endpoint mappings
- Discovery JSON parsing behavior and fallback handling
- URL builder outputs and null-path behavior
- Navigator page command/subtitle behavior
scripts/Deploy-CommandPaletteExtension.ps1 handles the local deploy loop:
- Validates required Windows SDK
- Creates/reuses local dev signing certificate
- Builds signed MSIX package
- Installs package with
Add-AppxPackage - Restarts Command Palette when possible
The script defaults to a local certificate password of cmdpaldev.
Override with CMDPAL_DEV_CERT_PASSWORD if desired.