top of page

Power Platform Virtual Tables: Unlock External Data Without Data Duplication

  • Writer: Sivakumar K
    Sivakumar K
  • 13 hours ago
  • 4 min read

Virtual Tables in Microsoft Power Platform allow you to access external data in Dataverse without physically storing it inside Dataverse. Instead of copying or syncing data, Virtual Tables create a real-time connection to external systems such as SQL Server, SharePoint, Azure, or other APIs.

They behave like standard Dataverse tables inside Model-Driven Apps — supporting forms, views, security roles, and relationships — but the data remains in the source system.

This makes Virtual Tables extremely powerful for organizations that want centralized app experiences without increasing storage costs or duplicating enterprise data.

They are ideal for hybrid architectures where Dataverse acts as the application layer while backend systems remain the system of record.


Key Use Cases of Virtual Tables

  • Exposing on-prem SQL Server data in Model-Driven Apps

  • Integrating legacy ERP systems without migration

  • Displaying SharePoint list data inside Dataverse apps

  • Showing external CRM or HR system data in Power Apps

  • Creating unified dashboards combining Dataverse + external data

  • Reducing data replication between systems

  • Building front-end apps over Azure-hosted APIs

  • Extending Dynamics 365 with external master data

  • Real-time read access to high-volume transactional systems


 Benefits of Virtual Tables


  • No Data Duplication – Data stays in the source system

  • Reduced Dataverse Storage Costs

  • Real-Time Data Access

  • Simplified Architecture – No need for complex sync flows

  • Improved Data Governance – Single source of truth

  • Faster Implementation – No migration required

  • Supports Security Roles (respects Dataverse security model)

  • Lower License Impact when compared to storing high-volume data in Dataverse

  • Ideal for Read-Heavy Scenarios

  • Enterprise-Ready Integration Approach


How to configure the Virtual Tables In this article, we’ll walk through a step-by-step process to configure Virtual Tables in Microsoft Power Platform.


In this section, we will configure a Virtual Table in Dataverse using SharePoint Online as the external data source.

Instead of importing SharePoint list data into Dataverse, we will create a real-time connection so the data is displayed inside a Model-Driven App without duplication.


In this demonstration, we will use an existing Lead Management solution built in SharePoint Online and configure the Leads list as a Virtual Table in Dataverse.




Step 1: Understand the Prerequisites


  • You have a Dataverse environment

  • You have System Administrator access

  • The external data source is accessible (SQL, SharePoint, API, etc.)- In this case i am choosing the SharePoint Online

  • Proper authentication is configured

  • Required licenses (Dataverse + Premium connector )


Create Virtual Table from Tables Section


  • Log in to make.powerapps.com

  • Select your correct environment

  • From the left navigation, click on Tables

  • On the top menu, click + New table

  • Select Create virtual table


Dataverse Tables
Dataverse Tables
  • Choose the connection from the list, Select the SharePoint and click on Next


External Data Connection
External Data Connection

Copy the SharePoint site URL (as shown in the next step of this guide) and paste it into the URL field.


If you are already authenticated:

  • The system will display a list of available SharePoint sites.

  • You can simply select the required site from the list.

  • You also have the option to search for the site using the search bar.

Once the correct SharePoint site is selected, proceed to the next step to choose the list (Leads) that you want to configure as a Virtual Table.

SharePoint Site URL
SharePoint Site URL
SharePoint List
SharePoint List

Choose the List from the below and click on next

Choose the SharePoint List
Choose the SharePoint List

Here, you can review and modify the following:

  • Display Name – The name that users will see in the app

  • Plural Name – (if applicable) for views and navigation

  • Primary Field – The main column used as the record name (e.g., Lead Name / Title)

  • Schema Name – The internal logical name used by Dataverse

💡 It’s recommended to keep the schema name clean and aligned with your solution naming standards.

In the final step, you will see the Review and Finish screen.

This page provides a summary of:

  • Selected SharePoint site

  • Selected list (Leads)

  • Field mappings

  • Primary key and primary name configuration

  • Table details

Carefully review all the configurations.

If you notice any mistakes or need to make corrections:

👉 Click Back to modify the settings.

If everything looks correct:

👉 Click Finish to complete the Virtual Table creation.

Once completed:

  • The Virtual Table will be created

  • Publish the table

  • Add it to your Model-Driven App for testing

Virtual Table Review and Finish
Virtual Table Review and Finish

Once you click Finish, the Virtual Table will be successfully created.

To verify and locate the table:

Option 1: Search by Table Name

  1. Go to Tables in Power Apps.

  2. Use the search bar (top right corner).

  3. Enter the table name (for example, Leads).

  4. The Virtual Table will appear in the results.

Option 2: Filter by Table Type

  1. Navigate to Tables.

  2. Click on the Type filter.

  3. Select Virtual.

  4. This will display all Virtual Tables available in the environment.

Dataverse Table by Type filter
Dataverse Table by Type filter

Now that the Virtual Table is created, it is ready to be used inside:

  • Model-Driven Apps (Dataverse apps)

  • Canvas Apps

The most important thing to understand:

The data shown in the app is live data from SharePoint, accessed through the Virtual Table.

There is no data stored inside Dataverse — it is fetched in real time from the external system.





Comments


bottom of page