5.2 Model-Driven Apps, Plan Designer & Code Apps
Key Takeaways
- Model-driven apps are generated automatically from a Dataverse data model — tables, forms, views, and relationships — rather than designed on a blank canvas.
- Model-driven apps are responsive by default and automatically enforce Dataverse security roles and business rules.
- Model-driven apps are the best fit for structured, data-first apps that model a complex business process.
- Plan Designer is an AI-assisted planning tool that turns a natural-language app idea into a structured plan of tables and apps before any building happens.
- Code apps let pro developers build with standard code, such as React, while still operating inside Power Platform governance and Dataverse.
Model-Driven Apps, Plan Designer & Code Apps
Quick Answer: A model-driven app is generated automatically from a Dataverse data model — its tables, forms, views, and relationships — rather than designed from a blank canvas. Model-driven apps are responsive out of the box and automatically enforce Dataverse security roles and business rules, making them the right choice for structured, data-first business processes. Plan Designer uses AI to turn a natural-language app idea into a structured build plan, and code apps let pro developers build with standard code such as React while staying inside Power Platform governance.
Where canvas apps start with a blank design surface, model-driven apps start with the data. This section covers model-driven apps, the AI-assisted Plan Designer tool, and code apps for pro developers.
What Is a Model-Driven App?
A model-driven app is generated from the structure already defined in Microsoft Dataverse — the tables, columns, relationships, forms, views, and business rules a maker has configured. Instead of manually placing every button and label, the maker selects which tables, forms, views, and dashboards should appear, and Power Apps assembles a working, responsive application automatically.
Because the layout is generated rather than hand-designed, model-driven apps look consistent and adapt automatically to different screen sizes — desktop, tablet, and phone — without the maker doing any extra design work.
Core Components of a Model-Driven App
- Site map — defines the app's navigation structure (areas, groups, and subareas)
- Forms — the data entry layout for a single record
- Views — filtered, sortable lists of records
- Business process flows — guide users step by step through a defined process
- Dashboards and charts — visual summaries of Dataverse data
Built-In Governance: Security and Business Rules
A major advantage of model-driven apps is that they automatically inherit governance that already lives in Dataverse:
- Security roles control exactly which tables, records, and fields a user can see or edit — the app doesn't need separate logic to enforce this.
- Business rules defined at the table level (for example, requiring a field when a status changes) apply automatically across every form and app built on that table.
This means administrators define security and logic once, at the data layer, and every model-driven app built on that data respects it consistently.
Canvas Apps vs. Model-Driven Apps
| Aspect | Canvas Apps | Model-Driven Apps |
|---|---|---|
| Starting point | Blank design canvas | Existing Dataverse data model |
| Design control | Pixel-level, fully custom layout | Generated automatically from tables/forms/views |
| Data sources | 1,000+ connectors, multiple sources at once | Primarily Dataverse |
| Responsiveness | Maker designs each screen/layout manually | Responsive automatically, no extra design work |
| Security & business rules | Configured within the app | Inherited automatically from Dataverse |
| Best fit | Highly customized, task-specific, multi-source apps | Structured, data-first business processes |
Plan Designer: AI-Assisted Planning
Plan Designer is an AI-assisted planning tool built into the app-creation experience. Instead of jumping straight into building screens or tables, a maker describes their app idea in natural language, and Plan Designer generates a structured plan — proposed tables, relationships, and apps — before any actual building begins. The maker reviews and refines this plan, then Power Apps uses it to scaffold the underlying Dataverse structure and the app itself. This planning step helps ensure the data model is well thought out before construction starts, reducing rework later.
Code Apps: Building for Pro Developers
Code apps extend Power Apps to professional developers who want to build using standard code — such as React — instead of the low-code canvas or model-driven designers. A code app is still developed and deployed within Power Platform governance: it can connect to Dataverse, use existing connectors, and be managed through the same environment, security, and application lifecycle management (ALM) tooling as low-code apps.
This matters for organizations that have both citizen developers and professional development teams. A pro developer can write a code app in a familiar framework and toolchain, yet the finished app still shows up alongside canvas and model-driven apps in the same environment, still respects the same Dataverse security roles, and can still be promoted through the same ALM pipelines used for low-code solutions. Code apps bridge the gap between citizen development and professional software engineering, letting pro developers reuse Power Platform's data, security, and governance layer without giving up their preferred coding tools or having to rebuild data access and authentication from scratch.
Choosing Between the Three App Types
At a high level, the choice comes down to who is building the app and what the app needs to do. Citizen developers building a highly custom, multi-source experience reach for canvas apps. Makers who already have a well-defined Dataverse data model and need consistent, secure, structured screens reach for model-driven apps. Pro developer teams that need full control over code, testing, and custom logic — while still plugging into Power Platform's data and governance — reach for code apps.
Exam Tip
Expect PL-900 questions that describe a business scenario and ask you to pick canvas, model-driven, or code apps. Watch for keywords: "structured business process," "enforce security automatically," or "generated from existing data" point to model-driven apps. "Custom UI" or "multiple data sources" point to canvas apps. "Pro developer," "standard code," or "React" point to code apps. Plan Designer questions will focus on its role as an AI planning step that happens before building, not a build tool itself.
Why do model-driven apps automatically enforce Dataverse security roles and business rules?
What is the primary purpose of Plan Designer?