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 — 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 / Dynamics 365 licensing — see the Microsoft Learn billing rates page for details. |