A metadata-aware Dataverse query and workflow workbench for VS Code β with guided traversal, $batch execution, preview-first refinement, and intelligent suggestions.
Run, understand, explore, and refine Dataverse queries β with Query-by-Canvas, Guided Traversal, and $batch workflows β without leaving your editor.
DV Quick Run turns VS Code into a Dataverse developer console.
Instead of switching between Postman, browser tabs, and maker portals, you can:
- Write queries
- Run them instantly
- Explore results in a table
- Investigate records
- Refine queries safely using Query-by-Canvas (preview-first)
- Navigate relationships step-by-step (Guided Traversal)
- Enrich results without rewriting queries
All inside VS Code β with a preview-first, user-controlled workflow.
Completes the inspect β refine β PATCH β refresh loop, turning DV Quick Run into a true interactive Dataverse workflow environment.
-
Update Dataverse records directly from Result Viewer interactions
-
Full workflow:
- trigger update from data (cell-driven)
- preview PATCH request (no hidden changes)
- confirm before execution
- apply safely
-
Preview includes:
- entity + record ID
- PATCH path
- payload
- HTTP representation
- cURL example
π Results in:
- safe, transparent updates
- no silent mutations
- consistent preview-first behaviour
-
Result Viewer now refreshes automatically after PATCH
-
Behaviour:
- re-runs original query
- reflects updated data immediately
-
Resilient flow:
- PATCH success is preserved even if refresh fails
- refresh failure shown as non-blocking warning
π Results in:
- smooth edit β verify workflow
- no manual rerun required
- reliable feedback loop
-
DV Quick Run now uses captured query context (Insight Model) as the source of truth
-
Applies to:
- refresh
- rerun
- PATCH workflows
-
No longer relies on:
- current editor position
- manual query reconstruction
π Results in:
- consistent behaviour across actions
- elimination of path duplication bugs
- predictable execution flow
DV Quick Run now supports the full loop:
Query β Result β Refine β PATCH β Refresh β Continue
- Result Viewer acts as:
- exploration surface
- mutation entry point
- verification surface
π Enables:
- fully iterative workflows
- fewer context switches
- faster development cycles
- Improved error handling:
- PATCH failure β clear error
- refresh failure β warning (non-blocking)
π Results in:
- better clarity
- improved trust in execution
- less noise
This release marks a key shift:
- DV Quick Run evolves from:
- query tool β to:
- interactive Dataverse workflow environment
Core principles reinforced:
- preview-first safety
- insight-driven execution
- result-driven refinement
- consistent interaction loop
Evolves the Result Viewer into a true interactive query workspace, unifying actions, enforcing preview-first workflows, and making query refinement data-driven and predictable.
-
Result Viewer now acts as the primary interaction surface
- refine queries directly from returned data
- reduces reliance on manual query editing
-
Supported actions:
- add
$selectfrom column - filter by value
- sort from column
- investigate records
- add
π Results in:
- tighter inspect β refine β rerun loop
- faster query iteration
- more intuitive workflows
-
Added βAdd this column to $selectβ action
-
Available via:
- cell context menu
- column-level interaction
-
Behaviour:
- detects correct scope:
- root query
$expand- nested
$expand
- updates
$selectaccordingly
- detects correct scope:
-
Uses preview-first workflow
π Results in:
- faster field selection
- safer query mutation
- reduced manual editing
- All Result Viewer actions now follow a consistent preview-first pattern
Workflow:
-
trigger action β preview β confirm β apply
-
No silent mutations
-
No hidden behaviour
π Ensures:
- full user control
- predictable query changes
- safe experimentation
-
Invalid actions are now:
- visibly disabled
- styled consistently across menus
-
Examples:
$orderbyon unsupported scopes- OData-only actions in FetchXML context
-
Disabled actions:
- do not execute
- do not trigger preview
- clearly communicate limitations
π Results in:
- reduced confusion
- clearer feature boundaries
- improved usability
-
Strengthened query mutation validation:
- prevents invalid
$orderbyusage - ensures correct scope application
- avoids malformed queries
- prevents invalid
-
Mutation behaviour now:
- respects entity boundaries
- merges safely with existing clauses
- avoids unintended overwrites
π Prevents:
- runtime Dataverse errors
- incorrect query construction
-
All actions now:
- use a unified action system
- align with preview pipeline
- behave consistently across contexts
-
Improved alignment between:
- Result Viewer
- editor mutations
- traversal outputs
- preview system
π Results in:
- predictable behaviour
- cleaner mental model
- no mixed interaction patterns
-
Verified:
$selectmutation across scopes- preview β apply workflows
- disabled action behaviour
- Result Viewer interactions
-
No regression in:
- Guided Traversal
- Traversal Graph
$batchexecution- Query Doctor
This release marks a key evolution:
- Result Viewer shifts from:
- data display β to:
- interactive query workspace
DV Quick Run now:
- enables data-driven query refinement
- enforces preview-first safety
- provides clear action boundaries
This lays the foundation for:
- deeper Query-by-Canvas workflows
- result-aware Query Doctor enhancements
- richer table-driven analysis
Completes the Guided Traversal Graph experience, introduces fully context-aware query mutation, and evolves the Result Viewer into a true interactive command surface.
-
Completed the Guided Traversal Graph UX
- graph now acts as a primary reasoning surface
- powered by Cytoscape for interactive exploration
-
Visual behaviour improvements:
- highlights only the selected traversal path
- dims all non-relevant nodes (even if in allowed tables)
- removes visual noise from unrelated entities
- prevents highlight leakage across paths
-
Path integrity fixes:
- ensures all entities in the selected path remain connected
- removes orphaned or partially-highlighted nodes
- aligns visual path strictly with traversal execution logic
-
Search-driven graph filtering:
- search now filters to paths that pass through selected entity
- maintains correct linking for selected route
- avoids mixing unrelated route fragments
-
Route selection UX:
- route chips remain the primary selection mechanism
- selected route panel clearly shows:
- rank
- hop count
- confidence
- warnings
- relationship chain
π Results in:
- clearer mental model of relationships
- accurate path visualisation
- reduced confusion in multi-hop traversal
-
Use this route action fully integrated
-
Selecting a route:
- executes Guided Traversal immediately
- passes relationship chain to traversal engine
- closes graph panel automatically
π Enables:
- visual reasoning β execution in one step
- no manual reconstruction of queries
-
$selectand$filtermutators are now fully scope-aware -
Detects whether the cursor is inside:
- root query
$expand- nested
$expand
-
Applies mutations to the correct entity scope
Example:
$expand=owninguser(...)
- Add Select Fields now updates:
owninguser($select=...)
π Instead of incorrectly modifying root query
π Results in:
- correct query construction
- reduced manual fixes
- safer multi-entity queries
-
Added scope-aware
$filtermutation -
Filters can now be applied at:
- root level
- nested expand level
-
Automatically:
- detects correct scope
- merges using
and
π Enables:
- precise filtering of expanded entities
- clean multi-entity refinement
-
Added Filter by this value action
-
Available via kebab menu on cell values
-
Supports:
- OData β
$filter - FetchXML β
<condition>
- OData β
Workflow:
- click value β preview β apply
π Results in:
- inspect β refine β rerun loop
- zero manual query editing
-
Right-click on column headers
-
Behaviour:
- suppresses default browser context menu
- shows DV Quick Run actions
-
Supports:
- Add
$orderby(ascending) for root-level columns
- Add
π Results in:
- direct sorting from results
- cleaner, controlled interaction model
-
Scoped
$orderbyintentionally restricted -
Behaviour:
- β blocked inside
$expand β οΈ warning shown with guidance
- β blocked inside
π Prevents:
- invalid Dataverse queries
- misleading behaviour
-
Result Viewer now supports:
- filter from values
- sort from headers
- investigate records
-
UX improvements:
- clearer action naming:
Filter by this value (OData)Filter by this value (FetchXML)
- consistent kebab actions
- fixed overlay/z-index issues
- improved context menu behaviour
- clearer action naming:
π Results in:
- faster workflows
- higher discoverability
- tighter feedback loop
-
Query mutation:
- respects scope
- avoids overwriting unrelated clauses
- merges safely
-
Graph rendering:
- preserves selected route integrity
- removes misleading highlights
- aligns with traversal logic
-
Improved consistency across:
- traversal graph
- query editor
- Result Viewer
- preview system
-
Verified:
- graph rendering + path integrity
- search-based graph filtering
- scoped
$select,$filter - Result Viewer actions
- header-based
$orderby
-
No regression in:
- Guided Traversal
$batchexecution- Binder suggestions
- Query-by-Canvas
This release completes two major pillars:
- Guided Traversal β visual reasoning system
- Query mutation β context-aware and result-driven
DV Quick Run now:
- enables visual route reasoning
- applies changes in the correct scope
- supports data-driven refinement from results
- enforces safe query patterns through guardrails
Adds a visual traversal layer and fixes Result Viewer rendering issues β making Guided Traversal more intuitive and reliable.
-
Added Guided Traversal Graph as a visual companion to traversal
- Opens a dedicated graph panel for route exploration
- Displays:
- grouped traversal paths
- selected route details
- relationship chain (via fields)
-
Graph behaviour:
- focused path-only rendering (not full schema)
- highlights selected traversal route
- reduces noisy/system relationships
- supports multi-hop paths
π Understand relationships visually instead of guessing paths.
- Added Use this route action
- Selecting a route now:
- triggers actual Guided Traversal execution
- passes relationship chain into traversal engine
- closes graph panel automatically
π Enables:
- visual selection β immediate execution
- no manual reconstruction of paths
- Fixed blank Result Viewer issue (VS Code webview lifecycle)
Changes:
- switched to fresh panel creation instead of reuse
- ensured HTML assignment always executes
- stabilised script bootstrap
π Results in:
- consistent rendering
- no more intermittent blank screens
- Verified:
- graph rendering across route selections
- graph β traversal execution flow
- Result Viewer reliability across runs
- No regression in:
- Guided Traversal
$batch- Binder suggestions
- Query-by-Canvas
This release extends DV Quick Run from:
guided traversal β visual traversal + execution
Laying the foundation for:
- smarter route ranking
- deeper graph-assisted reasoning
- tighter integration with Query Doctor
Introduces Guided Traversal,
$batchexecution workflows, and Binder suggestions β transforming DV Quick Run into a more complete Dataverse query and workflow workbench.
- Renamed Find Path to Table β Guided Traversal
- Available via:
- Command Palette
- editor right-click
- Cleaner traversal output:
- reduced noise
- clearer step-by-step flow
- Improved completion experience
π Navigate relationships without writing complex queries.
- Run multiple queries together using
$batch - Supports:
- manual multi-query execution
- Guided Traversal replay as
$batch
π Enables:
- efficient execution
- multi-endpoint validation
- workflow-based querying
- Lightweight, context-aware suggestions (π‘)
- Shows one strong recommendation at a time
Examples:
- continue traversal
- run traversal as
$batch - refine
$batch - add
$top/$select
Behaviour:
- only appears when relevant
- clickable text (no extra UI)
π Guided workflows without noise.
- Simplified traversal output
- Removed low-value hints (e.g. SQL mental notes)
- Improved alignment between:
- traversal
- Result Viewer
- suggestions
- All unit tests passing
- Verified:
- traversal workflows
$batchexecution- Binder lifecycle
- No regression in:
- query execution
- Result Viewer
- Query-by-Canvas
This release marks a shift from:
query execution β guided query workflows
Lays the foundation for:
- smarter recommendations
- deeper Query Doctor integration
Typical workflow:
start simple β run β explore β refine (Query-by-Canvas) β enrich β refine β repeat
-
Install DV Quick Run
-
Login:
az login --allow-no-subscriptions -
Configure your Dataverse environment
-
Run a query:
contacts?$top=10
- Run Dataverse queries (OData & FetchXML) directly in VS Code
- View results in an interactive table or JSON
- Sort, filter, and inspect data inline
- Traverse relationships step-by-step across Dataverse tables
- Continue traversal using real data (row-driven)
- Enrich results in-place using Sibling Expand
- Build complex multi-entity queries without manual
$expand
- Break queries into human-readable explanations
- Understand filters, sorting, and structure instantly
Query Doctor (Intelligent Diagnostics):
- Analyse your query and detect issues
- Get prioritised diagnostics with confidence scoring
- Receive actionable Suggested Fixes with examples
Turn this: accounts?$expand=primarycontactid
Into:
- what the query does
- whatβs missing
- how to improve it
All directly inside VS Code.
- Select a GUID β investigate instantly
- Works on:
- primary keys
- surfaced business GUID fields in results
- See:
- relationships
- structured summary
- interpretation (what this record likely represents)
- suggested queries
- Build queries (GET / PATCH) with guided prompts
- Incrementally refine queries ($select, $filter, $expand, $orderby)
- Generate queries from JSON
- Hover to see field metadata
- Resolve choice labels automatically
- Refine filter values inline (preview-first)
- Explore entity relationships
- Work across DEV / UAT / PROD
- Safe environment switching
- Environment-aware metadata caching
DV Quick Run detects risky queries (e.g. missing $top) and warns before execution.
- Dataverse / Dynamics 365 developers
- Power Platform engineers
- Integration / API developers
Because the fastest workflow is:
write β run β explore β fix β repeat
β¦without leaving your editor.
npm install
npm run compile
Press F5 to run the extension.
MIT License
