SharePoint List vs Dataverse: The Complete Power Platform Data Source Guide

One of the most consequential decisions you will make when building a Power Apps canvas app or model-driven app is choosing where your data lives. Pick the wrong data source and you will hit delegation limits, licensing walls, or performance ceilings that no amount of clever formula-writing can fix later.

In this post, we take a deep, practical look at the two most common Power Platform data source options — SharePoint Lists and Microsoft Dataverse — covering what each one is, where it excels, where it falls short, and exactly when you should choose one over the other. We also briefly survey the broader connector ecosystem so you have the full picture.

The Power Platform Data Source Landscape

Power Apps connects to over 900 data sources through its connector framework. These range from cloud databases and SaaS platforms to on-premises systems and flat files. Despite this breadth, the vast majority of real-world Power Platform solutions are built on one of five foundational data sources:

📋 SharePoint Lists

The most widely used starting point. Already included in every Microsoft 365 licence, zero additional cost, and familiar to most IT administrators.

🗄️ Microsoft Dataverse

The purpose-built relational database at the heart of the Power Platform. Required for model-driven apps and advanced governance scenarios.

📊 Excel / OneDrive

Great for rapid prototyping and single-user scenarios. Delegation is not supported, making it unsuitable for datasets above a few hundred rows.

☁️ SQL / Azure SQL

Ideal when connecting to an existing enterprise database. Excellent delegation support and relational capability, but requires SQL licences and expertise.

🔗 Third-Party Connectors

Salesforce, Dynamics 365, ServiceNow, and hundreds more. Useful for surfacing external data inside Power Apps without custom development.

🔧 Custom Connectors

Build your own connector to any REST API using an OpenAPI definition. Powerful, but requires developer involvement and careful DLP governance.

SharePoint Lists — Deep Dive

SharePoint Lists are structured, web-based tables that live inside a SharePoint site. Each list has columns (fields) and rows (items), with out-of-the-box support for versioning, item-level permissions, attachments, and views. Because every Microsoft 365 tenant already has SharePoint, lists are the lowest-friction starting point for Power Apps development.

What SharePoint Lists do well

Zero additional licensing cost

SharePoint Lists are included in every Microsoft 365 Business Basic, Business Standard, E1, E3, and E5 plan. You do not need a Power Apps Premium licence to connect canvas apps to SharePoint — the standard Power Apps licence covers it. This makes it the natural choice when rolling out solutions to large user populations where per-user cost is a constraint.

Familiar to business users and administrators

Most organisations already manage SharePoint lists through the browser interface. Creating columns, applying views, and setting permissions are tasks that non-developers can perform with confidence. This familiarity significantly reduces time-to-deployment and ongoing maintenance overhead for IT teams.

Built-in versioning and audit history

SharePoint Lists natively track every change made to every item, including who changed what and when. Major and minor versioning can be configured per list without any additional development. For simple compliance use cases — approval workflows, asset registers, incident logs — this is often sufficient without needing a dedicated audit table.

Item-level permissions

SharePoint’s permission model allows you to break inheritance on individual list items, granting or restricting access at a row level. This is powerful for scenarios like expense forms where each employee should only see their own submissions, without requiring any code. Power Apps can leverage this transparently through the SharePoint connector’s user context.

Native Microsoft 365 integration

SharePoint Lists integrate natively with Power Automate, Power BI, Teams, and Outlook without additional connectors or configuration. A list item approval workflow, for example, can be triggered automatically via Power Automate, notify approvers in Teams, and surface a summary dashboard in Power BI — all with no-code tooling and no middleware.

SharePoint List limitations you must understand

Limitation Impact & Workaround
5,000 item view threshold SharePoint enforces a list view threshold of 5,000 items. Queries that would return more than 5,000 rows are blocked at the server level. Indexed columns and filtered views are the primary mitigation, but large datasets still require careful architecture.
No true relational model SharePoint has Lookup columns, but they are not foreign keys. There is no referential integrity, no cascading deletes, and no JOIN queries. Multi-table data models become extremely complex and slow in Power Apps when built on SharePoint.
Limited delegation support Many Power Apps functions — including complex Filter combinations with OR logic, most string functions, and calculated columns — are not delegable to SharePoint. Non-delegable queries load only the first 500–2,000 rows locally, silently returning incomplete results.
No row-level security engine While item-level permissions exist, managing them at scale is operationally expensive and can degrade list performance. Complex multi-tenant or department-scoped security models are very difficult to implement cleanly with SharePoint permissions alone.
Max 30 million items per list The hard technical ceiling is 30 million items, but performance degrades well before that. Lists above 100,000 items require careful indexing strategy, and lists above 1 million items should be reconsidered entirely.

Microsoft Dataverse — Deep Dive

Microsoft Dataverse (formerly Common Data Service) is a cloud-based, relational data platform built specifically for the Power Platform. It stores data in tables with typed columns, enforces business rules and calculated fields at the platform level, and provides a rich security model that spans rows, columns, and business units. Dynamics 365 applications are built on Dataverse, which gives you a sense of the scale it is designed to handle.

What Dataverse does well

True relational data model

Dataverse supports one-to-many, many-to-many, and self-referential relationships between tables, with full referential integrity. You can model complex real-world data structures — orders with line items, projects with tasks and resources, customers with multiple contacts — in a way that is impossible to do cleanly in SharePoint Lists.

Full delegation support in Power Apps

Dataverse supports delegation for Filter, Sort, Search, and LookUp across all standard column types. This means that when your canvas app applies a filter, the query executes on the server and only the matching records are returned — regardless of whether your table has 10,000 or 10 million rows. This is the single most important technical advantage Dataverse holds over SharePoint for data-intensive apps.

Role-based security with row and column-level control

Dataverse’s security model uses Security Roles assigned to users or teams. A role defines Create, Read, Write, Delete, Append, Append To, Assign, and Share privileges per table — scoped to User, Business Unit, Parent Business Unit, or Organisation level. Column-level security can additionally restrict specific fields (e.g. salary, NI number) to named users or profiles, independently of the table-level role.

Server-side business logic

Business rules, calculated columns, rollup columns, and plug-ins all execute on the Dataverse server — not in the app client. This means your data integrity rules are enforced regardless of whether the user is accessing data through a canvas app, a model-driven app, Power Automate, or the Dataverse API directly. In SharePoint, all validation logic lives in the app, making it easy to bypass.

Required for model-driven apps and Copilot Studio

Model-driven Power Apps — which auto-generate forms, views, and dashboards from your data schema — only work with Dataverse. If your roadmap includes model-driven apps, Dynamics 365 integration, or Copilot Studio agents that interact with structured data, Dataverse is not optional. It is the foundational layer those capabilities are built on.

Built-in auditing, rich data types, and file storage

Dataverse provides native audit logging at the table and column level — who created, modified, or deleted each record, and what the previous values were — stored in a queryable audit history table. It also supports rich column types including Currency (with multi-currency support), Choices (managed option sets shared across tables), Image, File, and polymorphic Lookup fields that can point to multiple table types.

Dataverse limitations and considerations

Consideration Detail
Requires Premium licence Every user who interacts with a Dataverse-backed app must have a Power Apps Premium (or Power Apps per-app) licence, or an eligible Dynamics 365 licence. At the time of writing, Power Apps Premium is approximately $20 USD per user per month. For wide-organisation rollouts, this cost must be carefully evaluated.
Higher learning curve Dataverse concepts — environments, solutions, publishers, managed vs unmanaged layers, security roles, and ALM pipelines — require meaningful investment to understand and operate correctly. Teams coming from SharePoint will find the initial ramp-up significant.
Storage costs Dataverse storage is pooled across the tenant and allocated per licence. Each Power Apps Premium licence provides a small storage entitlement. Large file volumes, extensive audit history, or high row counts can push tenants into additional storage purchases.
Overkill for simple scenarios For a simple leave request form used by 50 people, Dataverse is architectural overkill. The licence cost, environment setup, and solution management overhead will dwarf the actual complexity of the application itself. Matching the tool to the problem is essential.

Side-by-Side Comparison

The table below summarises the key differences between SharePoint Lists and Dataverse across the dimensions that matter most when making an architectural decision.

Dimension SharePoint List Dataverse
Licensing Included in M365. Standard Power Apps licence sufficient. Power Apps Premium licence required per user (~$20/user/mo).
Data model Flat lists with basic Lookup columns. No referential integrity. Full relational model: 1:N, N:N, self-referential. Foreign keys enforced.
Delegation Partial. Many functions not delegable. Hard limit at 5,000 items. Full delegation for Filter, Sort, Search. Scales to millions of rows.
Security model SharePoint groups and item-level permissions. No column security. Security roles, Business Units, field-level security profiles. Granular.
Business logic Client-side only (in the app). Easily bypassed via the list UI. Server-side rules, calculated/rollup fields, plug-ins. Always enforced.
App types Canvas apps only. Canvas apps, model-driven apps, Copilot Studio, Dynamics 365.
Audit logging List versioning. Limited field-level history. Not queryable via API. Full audit history table. Queryable. Field-level old/new value capture.
ALM & DevOps No native solution packaging. Manual export/import or PnP templates. Solutions, publishers, managed layers, Power Platform CLI, Azure DevOps pipelines.
Best for Simple forms, departmental tools, low row counts, broad user base. Complex data models, enterprise apps, high volumes, strict governance.

When to Use SharePoint Lists

SharePoint Lists are the right choice when most of the following are true for your scenario:

Your user population is large and cost-sensitive

If you are rolling out a solution to 500 frontline workers, hospital staff, or retail employees who already have Microsoft 365 licences, requiring each of them to have a Power Apps Premium licence adds $10,000+ per month to your operating costs. SharePoint-backed canvas apps are included in the licences they already have.

Your data model is simple — one or two flat tables

Leave requests, asset registers, event sign-ups, safety checklists, staff rosters — these are all single-table or two-table scenarios. There is no compelling reason to introduce Dataverse’s complexity when a well-structured SharePoint List will serve the data model perfectly.

Row counts will stay comfortably below 5,000

If your list will never grow beyond a few thousand rows — annual leave requests for a 200-person company, for example — the 5,000 item threshold is never a practical concern. You can build, deploy, and operate with complete confidence.

The team is new to Power Platform

Starting with SharePoint Lists gives citizen developers an immediate win. They can see their data in the SharePoint UI, debug it directly, and build apps without needing to learn environments, solutions, or security roles. It is the ideal onramp for organisations beginning their Power Platform journey.

The solution needs to live inside a SharePoint site

Intranet portals, team sites, and departmental hubs often embed Power Apps directly in SharePoint pages. When the app and its data both live in the same site, SharePoint Lists give you a seamless, zero-friction integration story with no authentication gaps or connector dependencies to manage.

When to Use Dataverse

Dataverse is the right choice when your scenario demands any of the following:

You are building a model-driven app

There is no alternative. Model-driven apps only work with Dataverse. If your solution requires automatically generated forms across multiple related tables, a sitemap with multiple modules, dashboards, charts, and views driven by the data schema, Dataverse is the only supported backend.

Your data has complex relationships across multiple tables

If you are building a CRM-style system, a project management tool with tasks/resources/milestones, or any application where five or more tables relate to each other with referential integrity requirements, Dataverse is the appropriate foundation. Trying to model this in SharePoint creates a brittle, slow, and unmaintainable architecture.

You expect data volumes above 50,000 rows

When you know your dataset will be large — field service records, inspection logs, IoT sensor readings, order histories — Dataverse’s full delegation support and purpose-built database engine will deliver consistent performance where SharePoint would struggle. Plan for scale from the beginning rather than migrating later under pressure.

Strict data governance or compliance is required

If your solution handles personally identifiable information (PII), financial data, health records, or any data subject to GDPR, ISO 27001, or sector-specific regulation, Dataverse’s column-level security, server-side audit logging, and environment isolation give you controls that SharePoint’s permission model simply cannot match.

You are integrating with Dynamics 365

Dynamics 365 Sales, Customer Service, Field Service, and Finance are all built on Dataverse. If your Power App needs to read or write to the same tables as a Dynamics 365 application — Accounts, Contacts, Cases, Work Orders — you are already in Dataverse. Building a canvas app on SharePoint that then tries to call Dynamics 365 data via a connector creates unnecessary complexity and latency.

You need proper ALM and environment management

Dataverse solutions can be exported as managed or unmanaged packages and deployed across Development, Test, and Production environments via Power Platform CLI or Azure DevOps pipelines. This is the foundation of professional Power Platform development. SharePoint has no equivalent native mechanism — teams either deploy manually or use community tools like PnP PowerShell, which lack the governance features of the Dataverse ALM model.

Quick Decision Guide

If you are still unsure which data source fits your scenario, run through these questions. A single “yes” in the Dataverse column is usually enough to tip the decision.

Question Yes → Use No → Consider
Do users already have Power Apps Premium licences? Dataverse SharePoint first
Will the table ever exceed 5,000 rows? Dataverse SharePoint fine
Do you need relationships across 3 or more tables? Dataverse SharePoint fine
Is this a model-driven app? Dataverse only Either option
Does the data touch Dynamics 365 tables? Dataverse Either option
Is column-level or field-level security needed? Dataverse SharePoint fine
Do you need Dev/Test/Prod environment separation? Dataverse SharePoint fine
Is the team new to Power Platform with no Dataverse experience? SharePoint first Either option

Other Data Sources Worth Knowing

SharePoint and Dataverse cover the majority of Power Platform use cases, but there are scenarios where other data sources are the better fit.

Azure SQL / SQL Server

If your organisation already has an investment in SQL Server or Azure SQL, connecting Power Apps directly to an existing database avoids data duplication and keeps your single source of truth intact. SQL offers excellent delegation support, mature tooling, and the ability to use stored procedures via Power Automate. The trade-off is that it requires a SQL licence and database expertise to manage, and the SQL connector is a Premium connector requiring Power Apps Premium.

Excel on OneDrive

Excel is appropriate only for single-user, prototype, or very low-volume scenarios. It does not support delegation, has no concurrent write safety (two users saving at the same time will cause data loss), and has no security model beyond file permissions. It is an excellent prototyping tool, but should never be used as the backend for a production app used by more than one person simultaneously.

Dataverse for Teams

Dataverse for Teams is a lightweight, embedded version of Dataverse available inside Microsoft Teams at no additional cost — it is included with select Microsoft 365 licences. It supports canvas apps built within Teams, basic tables, and Power Automate flows, but has capacity limits (2 GB storage per environment, max 1 million rows) and does not support model-driven apps, plug-ins, or promotion to a full Dataverse environment without data migration. It sits neatly between SharePoint Lists and full Dataverse in terms of capability and cost.

Final Thoughts

There is no universal answer to the SharePoint vs Dataverse question. The right data source is the one that matches your data complexity, your user volumes, your security requirements, your team’s maturity, and your budget — in that order.

Start with SharePoint Lists when you are building departmental tools for teams of any size who already have Microsoft 365, when your data model is simple, and when speed-to-value matters more than architectural perfection. Upgrade to Dataverse when you outgrow SharePoint’s delegation limits, need relational integrity across multiple tables, or when compliance and governance requirements demand server-enforced business logic and column-level security.

The most important decision is making the choice deliberately — understanding the trade-offs before the first row of data is written — rather than discovering the limitations of your chosen data source six months into a project.

Leave a Reply

Your email address will not be published. Required fields are marked *