mcpbeat Sign in

Lookup Dataverse Table Agent Skill

>- Use this skill whenever the user wants to search, browse, or look up records in a Microsoft Dataverse table — for example "look up accounts", "find opportunities for Contoso", "show me contact details", or "search cases by status". Always prefer this skill (which queries Dataverse live via the Dataverse MCP Server) BEFORE answering any question about Dataverse records.

2k tokens
context cost
the whole folder, loaded on every use
3
files
instructions only
0
copies elsewhere
how many repositories repackaged it
59 d ago
last touched
this folder, not the whole repository

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/cat-agent-skills --skill lookup-dataverse-table

What comes with it

2 673 bytes besides the instruction
README.md
metadata.json

The instruction itself

10 sections, as written by the author

Help the user search any Microsoft Dataverse table, browse matching records, and

view full record details — all sourced live from Dataverse via the Dataverse MCP

Server tool.

Data source (critical)

  • Always source data dynamically from Microsoft Dataverse using the Dataverse

MCP Server tool.

  • NEVER fabricate, invent, hardcode, guess, or reuse records from examples or

prior general knowledge. Every record and every field value you show must come

from a live query via the tool.

  • If the tool returns no results or fails, say so plainly and ask the user to try

again or refine their search. Do not make up data.

Workflow

Step 1 — Identify the table

  • If the user names a table (e.g. "accounts", "opportunities", "contacts"), use

that table.

  • If the user is ambiguous, ask: *"Which table would you like to search? For

example: contacts, accounts, opportunities, leads, etc."*

  • Use describe('tables/') to resolve the table's logical name if needed.

Step 2 — Discover the schema

Before querying, call describe('tables/{tablename}') to retrieve:

  • The table's primary name field (used for display).
  • The table's primary key field (used internally for record lookup).
  • Available columns and their logical names and types.

Note the primary key field name (e.g. accountid) so you can request its

value when querying. The primary key GUID values returned by later queries

stay internal — never display them to the user.

Step 3 — Find records

  • Query the table using read_query, always retrieving at least:
  • The primary name field
  • A key identifier field (e.g. email, account number, status)
  • The primary key (for internal use only)
  • Apply any search filters the user provides (name, keyword, status, date range,

related record, etc.).

  • Return at most 15 rows. If more than 15 records match, show the first 15

and prompt the user to narrow the search.

  • If a field has no value, show (none).

Present results as a numbered markdown list, or a table with a leading number

column so the user can select by number:

| # | Record Name | Key Identifier |

|---|-------------|----------------|

| 1 | Example Corp | [email protected] |

| 2 | Another Record | 555-0100 |

Step 4 — Select a record

When the user selects a record (by number, name, or identifier):

  • Re-query the Dataverse table using the internally stored primary key GUID.
  • Display the most useful ~20 fields for that record, presented as a readable

labeled list or table.

  • Omit empty/null fields unless the user requests the full record.
  • Never reveal GUIDs or internal identifiers.

Example detail view:

| Field | Value |

|-------|-------|

| Name | Example Corp |

| Email | [email protected] |

| Phone | 555-0100 |

| City | Seattle |

| State | WA |

Remembering preferred fields

  • If the user requests a different set of fields (add, remove, or replace),

remember those preferences using memory tools.

  • Default to the user's preferred field set on all subsequent detail lookups — in

this and future conversations — until the user changes it again.

Supported tables

The skill works with any Dataverse table. Common examples:

| Table display name | Logical name |

|--------------------|--------------|

| Contacts | contact |

| Accounts | account |

| Opportunities | opportunity |

| Leads | lead |

| Cases | incident |

| Products | product |

| Orders | salesorder |

| Invoices | invoice |

| Activities | activitypointer |

| Users | systemuser |

Use describe('tables/') to discover all available tables in the environment.

Guardrails

  • Present matching records as a numbered markdown list, or a table with a leading

number column (# / Record Name / Key Identifier).

  • Do not expose raw GUIDs, internal IDs, query syntax, or raw tool payloads

to the user.

  • Do not emit adaptive card or suggested-action code blocks.
  • When a search yields no results, say so clearly and suggest alternative search

terms.

  • When a table is not found, suggest similar table names or ask the user to

clarify.

  • When more than 15 records match, always prompt the user to refine the search

rather than paginating silently.

Tone

Be concise and helpful. Explain uncertainty rather than hiding it, and never

present fabricated data as if it came from Dataverse.

Other skills for the same job

different authors, same section of the catalogue
Skill Creator
by anthropics
vendor ×10

Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.

56k tokens scripts
Skill Creator
by vercel-labs
vendor ×10

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

12k tokens scripts
Skill Creator
by JayZeeDesign
×9

Guide for creating effective skills. This skill should be used when users want to create a new skill (or update an existing skill) that extends Claude's capabilities with specialized knowledge, workflows, or tool integrations.

10k tokens scripts
Template Skill
by JayZeeDesign
×7

Replace with description of the skill and when Claude should use it.

35 tokens
Dispatching Parallel Agents
by ZhanlinCui
×5

Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies

2k tokens
Skill Development
by anthropics
vendor ×4

This skill should be used when the user wants to "create a skill", "add a skill to plugin", "write a new skill", "improve skill description", "organize skill content", or needs guidance on skill structure, progressive disclosure, or skill development best practices for Claude Code plugins.

9k tokens
Find Skills
by sanity-io
vendor ×4

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

1k tokens
Writing Skills
by ZhanlinCui
×4

Use when creating new skills, editing existing skills, or verifying skills work before deployment

26k tokens scripts

How to use it

Copy the folder

Take microsoft/lookup-dataverse-table from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.