Skip to content

Tools Views

Ryan James edited this page Aug 17, 2026 · 3 revisions

Views tools

This page is generated from the code by scripts/gen_wiki_tools.py — do not edit by hand.

7 tools · category token views · enable with DATAVERSE_TOOLS=views (unset enables every category)

Tool-Index · Home

Every tool returns JSON. Errors return {"error": true, "message": "..."}. Write tools require DATAVERSE_ALLOW_WRITE=true; delete tools require DATAVERSE_ALLOW_DELETE=true.


dataverse_add_view_column

Write · non-idempotent · category views

Add a single column to a Dataverse view's FetchXml and LayoutXml.

Note: Publishes automatically — no separate publish needed.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
view_id str yes GUID of the view to add a column to. (min_len=36, max_len=36)
column str yes Logical name of the column to add. (min_len=1)
width int | None no None Pixel width for the new cell (default 100). (ge=1)
position int | None no None Zero-based grid position to insert at. Omit to append. (ge=0)
solution_unique_name str | None no None

dataverse_create_view

Write · non-idempotent · category views

Create a new saved view (savedquery) for a Dataverse table.

Note: Publishes automatically — no separate publish needed.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
table_logical_name str yes Logical name of the target table. (min_len=1, pattern=^[a-zA-Z_][a-zA-Z0-9_]*$)
name str yes View name shown in the view selector. (min_len=1, max_len=200)
columns list[str] yes Ordered column logical names to show as grid columns. (min_len=1)
sort list[ViewSort] | None no None Optional ordered sort clauses.
filter_fetchxml str | None no None Optional raw <filter></filter> FetchXml snippet to embed.
query_type int no 0 View querytype. Default 0 (main grid).
is_default bool no False Set this as the table's default view.
description str | None no None Optional description.
widths dict[str, int] | None no None Per-column pixel width override, e.g. {'cr123_name': 300}.
solution_unique_name str | None no None Add the new view to this solution. (pattern=^[a-zA-Z_][a-zA-Z0-9_]*$)

Returns {"created": ..., "view_id": ..., "name": ..., "table": ..., "columns": ..., "query_type": ..., "is_default": ..., "published": ..., "solution_unique_name": ..., "fetchxml": ..., "layoutxml": ...}.


dataverse_get_view

Read · idempotent · category views

Get a single Dataverse view's layout as structured JSON.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
view_id str yes GUID of the view (savedquery) to retrieve. (min_len=36, max_len=36)

Returns {"view_id": ..., "name": ..., "table": ..., "query_type": ..., "query_type_name": ..., "is_default": ..., "is_quick_find": ..., "statecode": ..., "description": ..., "fetch": ..., "layout": ..., "fetchxml_backup": ..., "layoutxml_backup": ...}.


dataverse_list_views

Read · idempotent · category views

List saved views (savedqueries) registered in the Dataverse environment.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
table_logical_name str | None no None Logical name of the table to list views for (e.g. 'account'). Omit to list views for all tables. (pattern=^[a-zA-Z_][a-zA-Z0-9_]*$)
query_type int | None no None Filter by querytype. 0 = main grid, 1 = advanced find, 2 = associated, 4 = quick find, 64 = lookup. Omit for all.
top int no 50 Maximum number of records to return. (ge=1, le=5000)

Returns {"views": ..., "count": ..., "has_more": ...}.


dataverse_remove_view_column

Write · idempotent · category views

Remove a single column from a Dataverse view's FetchXml and LayoutXml.

Note: Returns an error if the column is not present — no change is made.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
view_id str yes GUID of the view to remove a column from. (min_len=36, max_len=36)
column str yes Logical name of the column to remove. (min_len=1)
solution_unique_name str | None no None

dataverse_update_view

Write · non-idempotent · category views

Update an existing Dataverse view's columns, sort, filters, or name.

Note: Quick Find filter blocks are stripped before PATCH (Dataverse rejects them) — quick_find_warning names any dropped fields for restoration via the maker portal.

Note: Publishes automatically — no separate publish needed.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
view_id str yes GUID of the view to update. (min_len=36, max_len=36)
name str | None no None New view name (optional).
columns list[str] | None no None If given, replaces the grid columns (rebuilds fetch+layout) while preserving existing filters.
sort list[ViewSort] | None no None If given, replaces the sort order.
filter_fetchxml str | None no None If given, replaces the non-quickfind <filter> block.
widths dict[str, int] | None no None Per-column pixel width override.
solution_unique_name str | None no None Add the view to this solution. (pattern=^[a-zA-Z_][a-zA-Z0-9_]*$)

dataverse_validate_view

Read · idempotent · category views

Validate a Dataverse view's FetchXml and LayoutXml against 16 structural rules.

Param Type Req Default Notes
dataverse_url str yes Required Dataverse organization URL for this request (e.g., 'https://yourorg.crm.dynamics.com').
view_id str yes GUID of the view to validate. (min_len=36, max_len=36)

Returns {"valid": ..., "view_id": ..., "view_name": ..., "table": ..., "column_count": ..., "columns": ..., "sort": ...} or {"valid": ..., "view_id": ..., "view_name": ..., "table": ..., "error_count": ..., "errors": ...}.


Clone this wiki locally