
FinOps Workbench talks to the Power Platform admin APIs and, optionally, Lifecycle Services on your behalf. It recognises three kinds of environment, and most actions are enabled or disabled depending on which kind you've selected:
| Kind | What it is |
|---|---|
| UDE | A unified developer environment — an F&O environment with a linked Dataverse org that supports the modern admin APIs (SQL JIT, DB Sync, dev-tools downloads). |
| LCS | An LCS-managed F&O environment. Managed through Lifecycle Services rather than the Power Platform admin API; some actions redirect you to the LCS portal. |
| Dataverse | A plain Dataverse environment with no F&O database. |
Everything runs against your own signed-in identity — there is no service account, tenant id, client id or secret to configure. You must be an administrator on the environments you want to manage.
The Environments page — every environment you can administer, in one grid.login.microsoftonline.com, the Power Platform admin APIs, your Dataverse org URLs, and — for LCS features — lcs.dynamics.com / lcsapi.lcs.dynamics.com).The Windows installers are not code-signed, so SmartScreen may warn on first launch. The macOS builds are signed & notarized and open without warnings.
Download the latest installer from the download page and pick the build for your machine:
| Installer | For |
|---|---|
FinOpsWorkbench-<version>-x64-setup.exe | 64-bit Windows (most PCs) |
FinOpsWorkbench-<version>-arm64-setup.exe | Windows on ARM |
FinOpsWorkbench-<version>-ia32-setup.exe | 32-bit Windows |
FinOpsWorkbench-<version>-setup.exe | Windows — combined (auto-selects your architecture) |
FinOpsWorkbench-<version>-arm64.dmg | macOS — Apple Silicon |
FinOpsWorkbench-<version>-x64.dmg | macOS — Intel |
On Windows, run the installer — because it isn't code-signed, SmartScreen may show "Windows protected your PC"; click More info → Run anyway. It installs per-user and doesn't require administrator rights. On macOS, open the .dmg and drag the app to Applications.
Updates — new versions are published to the same download page. Install the newer build over your existing one; your settings and cached session are preserved.
<your UPN> and a count of visible / total environments.Behind the scenes the app also tries to set up two extra sessions from the same sign-in, silently where it can: a developer-tools session (used later when you download assets) and an LCS session (so LCS SQL access and asset downloads don't need a separate sign-in). If either can't be captured silently, the app sets it up the first time you need it.
Your session is remembered securely between launches (encrypted at rest), so you normally only sign in once. On startup the app restores your previous session; if it has expired you'll be prompted to sign in again. Sign out clears all tokens, the LCS session, browser cookies and cached SQL grants.
The home page lists every environment you can administer, with live status, capacity, versions and lifecycle state.
From the View group you can apply the F&O preset (default), the Dataverse preset or Show all columns; switch storage columns between GB / MB; and filter to All, UDE / F&O only or Dataverse only.
The Details panel (right edge) shows a full, curated breakdown of the selected environment — general info, status, capacity, Dataverse and F&O metadata, links and more. The Activity log (bottom edge) records everything the app does, colour-coded by severity with timestamps. Right-click to Copy row or Copy all messages. When something doesn't work as expected, this is the first place to look.
These live in the Lifecycle and Data ops ribbon groups. Actions that change or provision environments always confirm first, and most are submitted asynchronously — click Refresh to track progress in the Operation status pill.
| Action | Kind | What it does |
|---|---|---|
| New environment | any | Provision a new environment — display name, SKU (Sandbox / Production / Trial), Azure region, template, and whether to enable dev tools, demo data and a database. |
| Copy | UDE / F&O | Overwrite a target environment with a copy of the selected one. Type-to-confirm; this replaces the target and cannot be undone. |
| Delete | UDE / Dataverse | Permanently delete an environment. You must type the environment's display name exactly to confirm. |
| Refresh | — | Reload the list and fetch F&O details, LCS enrichment, and (if enabled) LCS-only environments in the background. |
| History | UDE / Dataverse | Show the lifecycle-operation history, with a per-operation stage breakdown. |
| DB Sync | UDE | Trigger a full database synchronisation and follow it live in the Operation status pill. |
| Save JSON | — | Save the selected environment's raw definition to a .json file. |
| Discover actions | UDE / Dataverse | Probe the Dataverse $metadata for available actions. |
| F&O details | UDE | Read the F&O application/platform version, deployment type and state. |
Select an environment and click Request SQL access (enabled for UDE and LCS environments). Choose a reason and an access level:
Credentials are valid for about 12 hours and only from the allowed IP. You must be a system administrator on the environment.
The SQL JIT credentials viewer — copy the connection string straight into SSMS or your app.The Credentials tab shows the server, database, user name, password (masked, with a Show toggle), role and expiry, plus a ready-to-use connection string. Copy connection string puts the .NET/SSMS-ready string on the clipboard; Re-request obtains a fresh grant — for example to upgrade a read grant to read/write.
The granted credentials are cached for the session (the environment's SQL access column shows a key), so opening the SQL Workspace on that environment connects straight away.
An SSMS-style workspace for browsing and querying environment databases.
The SQL Workspace — object browser, query editor and results grid, with T-SQL auto-complete.SELECT TOP (1000) * FROM [schema].[table] and run it automatically.Connecting — select an environment in the object browser and use the ribbon (or right-click → Connect):
Select an environment and click Download assets to open the picker (enabled for UDE and LCS environments). It lists everything available for that environment:
Tick what you want and click Download… to save to a folder. Downloads run in the background with per-item progress; you can minimise the window and start several batches at once.
The Assets page — your download library, with quick actions to open or remove files.The Assets page is your download library — it shows what you've already downloaded, whether each file is still on disk, and quick actions to Open file, Open folder, Download more… or Delete (sends the file to the Recycle Bin / Trash).
FinOps Workbench can expose your signed-in session to AI tooling (Claude Desktop or Claude Code) through a built-in Model Context Protocol server. An assistant can then list and inspect environments, read F&O details and operation status, and run SQL on your behalf.
The MCP Server page — start the server and register it with Claude in one click.localhost / 8899 are fine for local use).https://localhost:8899".claude mcp add for you (user scope). In Claude Code, run /mcp to confirm.mcp-remote bridge. Fully quit and reopen Claude Desktop afterwards.Tools exposed: auth_status, sign_in, list_environments, get_environment_details, get_environment_history, get_finops_details, get_operation_status, run_sql, and request_sql_jit (guidance only). SQL runs against a held JIT grant for F&O/UDE environments, or the read-only Dataverse TDS endpoint for plain Dataverse orgs.
Write operations (create_environment, copy_environment, delete_environment, dbsync_to_finops) are off by default. Turn on Allow write ops only if you want the assistant to make changes; the toggle takes effect immediately.
Open Settings from the ribbon (View group).
Settings — theme, LCS options and SQL object-browser behaviour.The app follows your light/dark preference automatically:
Dark mode — the app re-themes the whole UI to match your OS.| Shortcut | Where | Action |
|---|---|---|
| F5 | SQL editor | Run the active query tab |
| Ctrl+Space | SQL editor | Open auto-complete |
| Tab | SQL editor | Indent (does not change focus) |
| Type to search | Environments grid / object tree | Incremental find |
| Double-click | Environments row | Open the environment JSON viewer |
| Double-click | SQL object tree table/view | Open & run SELECT TOP (1000) |
| Ctrl / Shift + click | Environments grid | Multi-select rows |
FinOps Workbench stores everything under your user profile — nothing is sent anywhere except the Microsoft services you're administering.
| Data | Location (Windows) |
|---|---|
| Settings (theme, LCS options) | %LOCALAPPDATA%\FinOpsWorkbench\settings.json |
| Download history (Assets page) | %LOCALAPPDATA%\FinOpsWorkbench\downloads.json |
| Tokens, LCS session, cached SQL grants | Encrypted store |
| Sign-in browser profiles | %LOCALAPPDATA%\FinOpsWorkbench\ |
Secrets are never logged. Tokens, passwords, cookies, connection strings and download SAS URLs are kept out of the Activity log and diagnostics.
SmartScreen warns when I run the installer (Windows). The installer isn't code-signed. Click More info → Run anyway. This is expected for a release from the official download page.
Sign-in window is blank or won't load. The app uses an embedded Microsoft sign-in browser. If it can't start (common on some virtual machines), the app falls back to your default browser to finish sign-in — watch the Activity log. Ensure the machine can reach login.microsoftonline.com.
"Request SQL access" is disabled. It's only available for UDE and LCS environments. Plain Dataverse environments have no F&O database to grant access to — query them via SQL Workspace → Dataverse tables instead.
The SQL workspace sits on "Waiting for Microsoft to provision JIT SQL access…". Microsoft provisions the SQL login and firewall rule on demand; this can take a minute or two on a fresh grant, and the app retries for up to four minutes. A changed public IP is a common cause — re-request access to refresh the firewall rule.
Claude can't connect to the MCP server. Make sure the server is Started, Use HTTPS is on, and you've registered it with Add to Claude Code / Desktop. For Claude Desktop, fully quit and reopen it after adding, then ask the assistant to call auth_status.
Do I need to configure a tenant, client id or secret? No. The app signs you in interactively with your own account and uses your identity for everything.
Is my session shared with anyone? No. Tokens are stored encrypted on your machine and used only to call Microsoft services. The MCP server, if you start it, is localhost-only.
Can I manage LCS environments fully from the app? Partly. You can list them, enrich their details, request SQL access, and download LCS assets. Copy, Delete, History and DB Sync for LCS environments must be done in the LCS portal.
Does querying Dataverse cost or change anything? The Dataverse SQL endpoint is read-only — only SELECT works, and it needs no separate credentials beyond your sign-in.
Is the app free? Yes. FinOps Workbench is built and maintained by Veriland Consulting for the Dynamics 365 community — free to use and share, provided "as is" without warranties.
Download the free app for Windows or macOS, or talk to the Veriland team about your Dynamics 365 and Power Platform delivery.
Or call us directly: 01625 569 777