What is Dataverse?
Microsoft Dataverse is the data platform behind Power Platform (Power Apps, Power Automate) and Dynamics 365. It provides:- Structured data storage with tables, columns, and relationships
- Built-in security with row-level and field-level permissions
- Business logic with workflows, business rules, and plugins
- Standard entities like Accounts, Contacts, Leads, Opportunities
Use Cases
- Customer portals - Let customers view their accounts, orders, and support tickets
- Internal dashboards - Visualize CRM data for sales teams
- Data entry apps - Simplified forms for field workers
- Custom views - Alternative interfaces to Power Apps
Quickstart
Connect your Microsoft 365
Click Microsoft 365 in Project Settings → Integrations and sign in with your Microsoft account.
Select your environment
Choose the Dataverse environment you want to connect to (e.g., your production or development environment).
Let Leo explore your data
Ask Leo: “List the tables in my Dataverse and show me the schema of the accounts table.”
Setup
- Go to Project Settings → Project Integrations
- Click Microsoft 365
- Click Connect with Microsoft - you’ll be redirected to Microsoft’s login page
- Sign in with an account that has access to your Dataverse environment
- Grant the requested permissions
- Back in HelloLeo, select your Dataverse environment from the dropdown
- Start using Dataverse in your prompts
Required Permissions
The Microsoft account you use must have:- Access to the Dataverse environment
- Read permissions on the tables you want to query
- Write permissions on the tables you want to modify
How It Works
HelloLeo uses the Dataverse Web API (OData) to interact with your data. When you connect:- OAuth Authentication - You sign in with Microsoft and grant HelloLeo access
- Environment Selection - You choose which Dataverse environment to use
- Token Management - HelloLeo securely stores and refreshes your access tokens
- API Calls - All requests go through the HelloLeo Middleware to keep tokens secure
HelloLeo Middleware
All Dataverse API calls from your generated frontend go through the HelloLeo Middleware, providing:- No CORS Issues - Works immediately without configuration
- Secure Tokens - Your access tokens are never exposed to the frontend
- Automatic Refresh - Tokens are automatically refreshed when they expire
- Request Logging - All API calls are visible in the Network Monitor for debugging
MCP Operations
Leo can use these commands to explore and modify your Dataverse:Data Operations
| Command | Description |
|---|---|
list_environments | List available Dataverse environments |
list_tables | List tables in your environment |
get_table_schema | Get columns and schema of a table |
query_records | Query records with OData filters |
get_record | Get a single record by ID |
create_record | Create a new record |
update_record | Update an existing record |
delete_record | Delete a record |
Schema Operations
| Command | Description |
|---|---|
create_table | Create a new custom table |
add_column | Add a column to a table |
delete_table | Delete a table (use with caution!) |
delete_column | Delete a column from a table |
Example Prompts
Explore your data
Build a dashboard
Create a form
Query with filters
OData Query Support
The integration supports standard OData query parameters:| Parameter | Description | Example |
|---|---|---|
$select | Choose which columns to return | name,accountnumber |
$filter | Filter records | statecode eq 0 |
$orderby | Sort results | createdon desc |
$top | Limit number of records | 50 |
$skip | Skip records (pagination) | 100 |
$expand | Include related records | primarycontactid |
Filter Examples
Current Limitations
What Works Now
OAuth connection with Microsoft
Environment selection
Read data from any Dataverse table
Write data (create, update, delete records)
Schema exploration (list tables, get columns)
Create custom tables and columns
OData queries with filters, sorting, pagination
Network Monitor debugging
Coming Soon
End-User Authentication (RBAC) - Currently, all API calls use the credentials of the person who connected the integration in HelloLeo. This means:
- All users of your app have the same permissions
- Dataverse’s row-level security is not applied per user
- You cannot build apps where different users see different data based on their Dataverse permissions
Troubleshooting
Connection Errors
”Token expired or invalid”
- Go to Project Settings → Integrations → Microsoft 365
- Click “Reconnect” to refresh your authentication
”Environment not found”
- Make sure you selected an environment after connecting
- Check that your Microsoft account has access to the environment
”403 Forbidden”
- Your account doesn’t have permission to access this table or record
- Check your Dataverse security roles
”404 Not Found”
- The table or record doesn’t exist
- Check you’re using the correct entity set name (plural form, e.g.,
accountsnotaccount)
Data Not Showing
- Check table name: Use the plural entity set name (e.g.,
accounts,contacts,opportunities) - Check permissions: Ensure your account can read the table in Dataverse
- Use Network Monitor: Click the API call to see the full request and response
Getting Help
- Use the Network Monitor to see API calls and errors
- Ask Leo: “The Dataverse call failed, can you check what went wrong?”
- Check your Dataverse security roles in the Power Platform admin center
- Reach out to HelloLeo support on Discord
