Lookup Dataverse Table logo

Lookup Dataverse Table

Organization
microsoft
lookup-dataverse-table

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.

Overview

Publishermicrosoft
Repositorycat-agent-skills
Skill namelookup-dataverse-table
Stars
95
Forks
115
Bundled files
1
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 1 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by microsoft on GitHub. Read the source before you install it.

Installation

Install the Lookup Dataverse Table AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/microsoft/cat-agent-skills/tree/main/submissions/lookup-dataverse-table
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/microsoft/cat-agent-skills.git /tmp/cat-agent-skills
mkdir -p .claude/skills
cp -r /tmp/cat-agent-skills/submissions/lookup-dataverse-table .claude/skills/lookup-dataverse-table
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Lookup Dataverse Table in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Lookup Dataverse Table on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Lookup Dataverse Table is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

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

  1. 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)
  2. Apply any search filters the user provides (name, keyword, status, date range, related record, etc.).
  3. Return at most 15 rows. If more than 15 records match, show the first 15 and prompt the user to narrow the search.
  4. 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 NameKey Identifier
1Example Corpaccount@example.com
2Another Record555-0100

Step 4 — Select a record

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

  1. Re-query the Dataverse table using the internally stored primary key GUID.
  2. Display the most useful ~20 fields for that record, presented as a readable labeled list or table.
  3. Omit empty/null fields unless the user requests the full record.
  4. Never reveal GUIDs or internal identifiers.

Example detail view:

FieldValue
NameExample Corp
Emailaccount@example.com
Phone555-0100
CitySeattle
StateWA

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 nameLogical name
Contactscontact
Accountsaccount
Opportunitiesopportunity
Leadslead
Casesincident
Productsproduct
Orderssalesorder
Invoicesinvoice
Activitiesactivitypointer
Userssystemuser

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.

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Lookup Dataverse Table AI skill do?

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.

Why use Lookup Dataverse Table on TypingMind?

Because you install it once and use it with any model. Lookup Dataverse Table is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Lookup Dataverse Table in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/microsoft/cat-agent-skills/tree/main/submissions/lookup-dataverse-table. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Lookup Dataverse Table?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Lookup Dataverse Table?

As many as you like. As long as a model supports skills, you can use Lookup Dataverse Table with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Lookup Dataverse Table AI skill free?

Yes. It is published on GitHub by microsoft under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇