Glossary
Canvas app
By Emil Björk · Microsoft business apps consultant, Gothenburg
A Power Apps application type with pixel-perfect drag-and-drop UI — built from a blank screen using Power Fx, connecting to many data sources.
A canvas app is one of two Power Apps application types (the other being model-driven). Canvas apps start from a blank screen; the maker drags controls onto it — galleries, text inputs, dropdowns, buttons, charts, images — and wires their behaviour with Power Fx, the spreadsheet-like formula language Power Apps shares with Excel. Layout is pixel-perfect and fully controlled by the maker, unlike a model-driven app's auto-generated screens. Data sources can be Dataverse, SharePoint, SQL Server, Excel, hundreds of third-party connectors, or any combination of these in the same app. Canvas apps suit mobile-first scenarios, field-worker apps, kiosk-style single-purpose apps, and bespoke UX patterns where a standard Dynamics 365 model-driven form would be overkill or wouldn't fit the physical workflow.
In practice, a canvas app's flexibility is also its cost. Because nothing is generated automatically, the maker builds every screen, every navigation path, and every piece of validation logic by hand in Power Fx — there's no auto-generated security-aware form, no advanced find, no built-in dashboards or business process flow the way a model-driven app gets for free from its Dataverse schema. A small canvas app (a shift check-in form, an expense-photo capture tool) stays simple to build and maintain; a large one accumulates enough screens and Power Fx formulas that it starts to resemble hand-rolled software development, formulas and all, without the tooling (source control diffing, unit tests) that real code gets. Canvas apps also support offline mode, caching data locally so a field worker can keep working without a connection and sync once back online — something a model-driven app cannot do natively.
Where confusion shows up: teams sometimes default to canvas apps because the drag-and-drop building feels more approachable than configuring a Dataverse schema, then discover mid-project that the app has quietly grown into a data-management tool that would have been a better fit as model-driven — complex security requirements, need for related-record navigation, or a request for "just add a dashboard" are the usual triggers. The decision is best made early: canvas for a focused, mobile-first, bespoke-UX task; model-driven for anything that's fundamentally about managing structured, related, security-scoped business data. Custom pages — canvas-style screens embedded inside a model-driven app — exist specifically to bridge the two when a model-driven app needs one screen with canvas-level layout control.
Related terms
Mentioned in these guides
- AI prompts in Power Platform
- App designer for model-driven apps
- Canvas app offline mode
- Canvas apps vs model-driven apps
- Dataverse solution import errors
- Virtual tables in Dataverse
- Finance and Operations and the Power Platform
- Integrating Dataverse with Azure Cosmos DB
- Integrating Dynamics 365 with custom mobile apps
- Integrating Dynamics 365 with Stripe and PayPal
- Integrating Dynamics 365 with Twilio for SMS and voice
- PCF controls vs embedded canvas apps
- Power Apps canvas app errors explained
- Power Apps model-driven form errors
- Power Apps modern controls
- Power Apps Component Framework (PCF) control development
- Power Apps performance tuning
- Power Fx named formulas
- Power Platform throttling and 429 errors
- Solution Checker and App Checker in Power Platform
- Solution dependencies and managed layer conflicts
- Test automation for Dynamics 365
- What is Microsoft Dataverse?