Agents & OrchestrationSûr100100/100
Lookup Dataverse Table (Microsoft)
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.
ou envoie-le directement à ton agent.
Installer dans ton projet
$ curl -fsSL https://arboristhree.xyz/cli/install-skill.mjs -o /tmp/arboris-install-skill.mjs && node /tmp/arboris-install-skill.mjs lookup-dataverse-table__microsoft-cat-agent-skills__submissions-fc24dd9678bdMicrosoft
microsoft/cat-agent-skills
Contenu à copier
---
name: lookup-dataverse-table
description: >-
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.
metadata:
origin: Microsoft
---
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 Name | Key Identifier |
|---|-------------|----------------|
| 1 | Example Corp | account@example.com |
| 2 | Another Record | 555-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:
| Field | Value |
|-------|-------|
| **Name** | Example Corp |
| **Email** | account@example.com |
| **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.Colle ce Markdown dans ton agent ou utilise les boutons ci-dessus pour l’écrire dans ton projet.
Ce que fait Lookup Dataverse Table (Microsoft)
Always source data **dynamically** from Microsoft Dataverse using the Dataverse
**NEVER** fabricate, invent, hardcode, guess, or reuse records from examples or
If the tool returns no results or fails, say so plainly and ask the user to try
If the user names a table (e.g. "accounts", "opportunities", "contacts"), use
Comment utiliser Lookup Dataverse Table (Microsoft)
1
Copie le prompt
Un clic copie le prompt packagé (ou l'envoie à ton agent).
2
L'agent installe le skill
Il ajoute le SKILL.md et ses ressources à ton projet.
3
Activation automatique
Le skill s'active dès que le contexte correspond.
Déclencheurs pour Lookup Dataverse Table (Microsoft)
Dis simplement à ton agent quelque chose comme :
Applique le skill lookup-dataverse-table__microsoft-cat-agent-skills__submissions-fc24dd9678bd à cette tâche
Utilise lookup-dataverse-table__microsoft-cat-agent-skills__submissions-fc24dd9678bd pour améliorer cette implémentation
Passe en revue ce sujet avec lookup-dataverse-table__microsoft-cat-agent-skills__submissions-fc24dd9678bd
Skills liés à Lookup Dataverse Table (Microsoft)
Acceleration (Microsoft)
Compare synthetic acceleration options and clearly separate scenario value from forecast commitments.Account Overview (Microsoft)
Create a synthetic Acme account overview and identify evidence that merits seller attention.Acroform Writer (Microsoft)
Use this skill whenever the user wants values written INTO an existing PDF form that lives in the connected SharePoint knowledge source — filling out, completing, populating, or submitting a fillable PDF (application, intake sheet, contract, government form) from data they supply, a spreadsheet row, or the conversation. Triggers include "fill out the job application form", "complete the intake form for [person]", "populate our standard NDA template", and "make this ready to send / non-editable" (flatten). The source form should be found via knowledge search; only ask the user to upload it if knowledge search turns up nothing plausible. different task), and do NOT use it on scanned/image-only PDFs that have no real fillable fields — those need OCR or manual overlay instead, which this skill explicitly detects and reports rather than silently failing.