Microsoft Dataverse is the data layer behind Power Apps, Power Pages, Power Automate, Dynamics 365 Sales, Service, Customer Insights, and any custom business app a team has built on the Power Platform. Connecting Dataverse to clariBI puts every table (standard Dynamics 365 entities, custom tables, and the relationships between them) behind every analysis you run.
Why connect Microsoft Dataverse
Most Microsoft-stack analytics today live in Power BI dashboards. That works for prebuilt reports but breaks down when someone asks a question the dashboard wasn't built for. Dataverse via MCP closes the gap: the same authenticated query surface Power BI uses is now reachable in natural language.
With Dataverse connected, you can ask "Which Opportunities closed-won in the last quarter and what was the average close cycle?", "How many Cases were resolved within SLA in November?", or "Show me Accounts where the custom industry-tier field equals 'enterprise' and the Opportunity pipeline is over $500k". The AI engine routes the request through the Dataverse MCP, which respects the same row-level security your Power Apps users see. clariBI never creates, updates, or deletes Dataverse rows; only the read tools (list_tables, describe_table, read_query, Search, Fetch) are exposed to the planner.
How the connection works
clariBI talks to Microsoft Dataverse through its hosted MCP server at https://{org}.crm.dynamics.com/api/mcp. Authentication uses an OAuth flow against an OAuth app you register in the vendor's developer console. Tokens stay encrypted server-side and never leave clariBI in clear form.
sequenceDiagram
actor U as You
participant C as clariBI
participant V as Microsoft Dataverse
U->>C: Click Authorize with Microsoft Dataverse
C->>V: Open OAuth authorization
V-->>U: Grant read access?
U->>V: Approve
V-->>C: Authorization code
C->>V: Exchange code for tokens
V-->>C: Access + refresh tokens
C->>C: Encrypt and store credentials
C-->>U: Connection ready
Available tools
The AI engine selects from these read-only Microsoft Dataverse tools during analyses. None of them modify data in Microsoft Dataverse.
| Tool | Returns | Example question |
|---|---|---|
list_tables | Lists all tables in the Dataverse environment. | List all tables in our Dataverse. |
describe_table | T-SQL schema of a specified Dataverse table. | Show me the schema of the Account table. |
read_query | Runs a SELECT query against Dataverse (read-only; Dataverse rejects non-SELECT statements server-side). | Show me the top 100 Opportunities by EstimatedValue. |
Search | Keyword search across Dataverse records for a query. | Find any record mentioning "Acme Corp". |
Fetch | Retrieves the full content of one record by entity name + ID. | Fetch Account record 0123abc-... |
Data flow during analysis
When you ask a question that maps to Microsoft Dataverse, the AI engine routes to the right tool, reads the result, and pairs the answer with a chart you can pin to a dashboard.
sequenceDiagram
actor U as You
participant C as clariBI
participant AI as AI engine
participant V as Microsoft Dataverse
U->>C: Ask a question about business application data (Dynamics 365, Power Apps, custom Dataverse tables)
C->>AI: Plan the analysis
AI->>V: Call the right tool
V-->>AI: Tool result
AI->>AI: Summarize and chart
C-->>U: Answer plus visual
Setting up the connection
- {'title': 'Find your Dataverse organization name', 'description': 'In Power Apps or the Power Platform admin centre, locate your environment. The org name appears as the prefix in your Dataverse URL (e.g.
contoso.crm.dynamics.com→ org name iscontoso).'} - {'title': 'Enable the Dataverse MCP server for the environment', 'description': 'A Power Platform administrator must enable the MCP server and the allowed clients in the environment settings before connections succeed. See Microsoft Learn for the operator steps.'}
- {'title': 'Paste your org name in clariBI', 'description': 'clariBI builds your endpoint as
https://<org>.crm.dynamics.com/api/mcp. Confirm the URL preview matches your environment.'} - {'title': 'Sign in with Entra ID', 'description': 'Authorize on the Microsoft sign-in screen. clariBI inherits the row-level security and table permissions of the connected account.'}
Permissions and data access
clariBI uses Entra ID (Microsoft) OAuth and inherits the connected user's Dataverse permissions, so table-level, row-level, and column-level security all apply. The catalog exposes only read tools (list_tables, describe_table, read_query, Search, Fetch). Write tools (create_record, update_record, delete_record, Create Table, Update Table, Delete Table) are excluded at the catalog layer and never reachable through clariBI. Disconnect anytime from Settings → Integrations or revoke access from your Microsoft account.
Troubleshooting
| Error | Cause | Fix |
|---|---|---|
| "MCP server is not enabled" | A Power Platform admin has not enabled the Dataverse MCP server for the target environment. | Ask your Power Platform admin to enable MCP and add clariBI to the allowed-clients list; see Microsoft Learn's "Configure the Dataverse MCP server" doc. |
| "Permission denied" on a table or row | The connected Entra ID user does not have access in Dataverse row/column security. | Adjust the user's security role in Power Platform admin centre or reconnect with a higher-privilege account. |
| Unexpected billing charges | Dataverse MCP tools are billable per Copilot Credit rate when accessed by non-Microsoft AI agents (after 2025-12-15). Dynamics 365 Premium and Microsoft 365 Copilot USL licenses cover Dynamics data access at no per-call cost. | Check your Microsoft 365 and Dynamics 365 licensing; see the Microsoft Learn billing rates page for details. |