How to Connect Microsoft Copilot to Dataverse Tables
🔍 WiseChecker

How to Connect Microsoft Copilot to Dataverse Tables

Business users often need Copilot to answer questions or take actions using data stored in Microsoft Dataverse tables. Without a direct connection, Copilot cannot access custom table records or specific fields. This article explains how to establish that connection using the Copilot Studio integration with Dataverse. By the end, you will be able to configure a Copilot that reads and writes to your Dataverse tables.

Key Takeaways: Connecting Copilot to Dataverse Tables

  • Copilot Studio > Create > Dataverse: The primary method to build a Copilot that uses Dataverse tables as a data source.
  • Dataverse table permissions: You must assign the correct security roles so Copilot can read or write table records.
  • Table selection and field mapping: Choosing the right tables and fields ensures Copilot returns accurate answers.

What Connecting Copilot to Dataverse Tables Means

Microsoft Copilot can use Dataverse tables as a knowledge source for answering user questions and performing tasks. This feature works through Copilot Studio, where you create a custom Copilot agent that connects to your Dataverse environment. The connection allows Copilot to query table records, create new records, update existing ones, and trigger Power Automate flows based on table data.

Before you begin, you need a Microsoft 365 license that includes Copilot Studio. You also need a Dataverse environment with at least one table that contains data. The tables you connect must have the correct permissions set through security roles in the Power Platform admin center. If you are connecting to a table that contains sensitive information, apply row-level security to limit what Copilot can access.

Prerequisites for the Connection

You need the following items ready:

  • A Microsoft 365 E3 or E5 subscription with Copilot Studio add-on
  • System Administrator or System Customizer role in the Dataverse environment
  • At least one custom table or a standard table with sample data
  • The Copilot Studio app installed from the Microsoft 365 admin center

Steps to Connect Copilot to Dataverse Tables

Follow these steps to create a Copilot agent that uses Dataverse tables as its data source.

  1. Open Copilot Studio
    Go to copilotstudio.microsoft.com and sign in with your work account. If you do not have Copilot Studio, install it from the Microsoft 365 admin center under Billing > Purchase services.
  2. Create a new Copilot agent
    Click the Create button on the left navigation pane. Choose New Copilot. In the dialog, select Dataverse as the data source. This tells Copilot Studio to use your Dataverse environment.
  3. Select the Dataverse environment
    From the dropdown list, pick the Dataverse environment that contains your target tables. If you have only one environment, it appears automatically.
  4. Choose the tables to connect
    In the Data sources section, click Add table. A list of all tables in your Dataverse environment appears. Check the boxes next to the tables you want Copilot to access. For example, select the Account table or a custom table named CustomerOrders.
  5. Configure field mapping
    After selecting tables, click Next. Copilot Studio shows the fields for each table. By default, all fields are included. To limit data exposure, uncheck fields that contain sensitive information such as Social Security numbers or credit card data. Click Confirm.
  6. Set permissions for Copilot
    Go to Settings > Security in Copilot Studio. Assign a security role that has read and write permissions for the selected tables. The default Dataverse role named Basic User works for read-only access. For write operations, create a custom role with the necessary privileges.
  7. Test the connection
    Click the Test button in the top menu bar. A test chat pane opens. Type a question such as “Show me the top 10 accounts by revenue.” Copilot queries the Dataverse table and returns results. If the answer is incorrect or empty, verify the table field names and permissions.
  8. Publish the Copilot agent
    Once testing passes, click Publish in the top menu. Choose a channel such as Microsoft Teams, a custom website, or the Copilot for Microsoft 365 sidebar. The Copilot agent becomes available to users in that channel.

Common Issues When Connecting Copilot to Dataverse Tables

Copilot Returns No Results from Dataverse Tables

This problem usually occurs when the Copilot agent does not have the correct security role. Go to Copilot Studio > Settings > Security and confirm the assigned role includes read permission on the selected table. Also check that the table contains at least one record with data. Empty tables return no results.

Copilot Cannot Write or Update Dataverse Records

By default, the Basic User role allows only read access. To enable write operations, create a custom security role in the Power Platform admin center. Add the Append and Append To privileges for the target table. Then assign that role to the Copilot agent in Copilot Studio.

Copilot Shows Sensitive Data It Should Not Access

If Copilot returns fields that contain private information, you removed them from the field mapping step. Reopen the Copilot agent, go to Data sources, and edit the table. Uncheck the sensitive fields. You can also apply column-level security in Dataverse to restrict access at the database level.

Copilot Fails to Connect After a Dataverse Environment Change

If you rename or delete a table in Dataverse, the Copilot agent loses its connection. In Copilot Studio, go to Data sources and remove the outdated table. Then add the new table name. You may need to update any topics or prompts that reference the old table name.

Item Copilot Studio with Dataverse Copilot for Microsoft 365 with SharePoint
Data source type Structured relational tables Unstructured documents and pages
Supported operations Read, create, update, delete records Read only
Permission model Dataverse security roles and row-level security SharePoint site permissions and item-level permissions
Customization Field-level mapping, custom topics, Power Automate integration Limited to search scope and document metadata
Best use case Business apps with structured data like CRM, inventory, order management Knowledge bases, policy documents, project files

You can now create a Copilot agent that reads and writes data in your Dataverse tables. Start by testing with a small table to confirm permissions and field mapping work correctly. For advanced scenarios, add Power Automate flows triggered by Copilot to update records or send notifications.