← Back PL-900 — Session 5 — Power Apps: Model-Driven Apps Exam weight: 25–30% combined

Model-Driven Apps in Power Apps

Session 5 — Based on the course by Barbara Andrews, Lead Microsoft Technical Trainer

1 of 5 sections visited
What are Model-Driven Apps?
No-code applications built using a component-focused, metadata-driven design approach. Unlike Canvas apps where you control every pixel, model-driven apps automatically generate the UI from the underlying Dataverse data model. Accessible at make.powerapps.com. Built using the App Designer.
The 3-Step Design Process
1

Model your business data

Define entities, relationships, and data types in Dataverse that reflect your organizational structure. This metadata-driven foundation ensures accurate reporting, seamless integration, and consistent data governance.

2

Define business processes

Map workflows, automate tasks, and set rules that guide user interactions — approvals, escalations, notifications. Helps users focus on work rather than remembering manual steps.

3

Build the app with App Designer

Assemble components like views, forms, and dashboards using drag-and-drop tools. Configure security roles and share the app for distribution.

Model-Driven vs Canvas Apps — Quick Comparison
DimensionModel-DrivenCanvas
UI generationAuto-generated from data modelManually designed, full layout control
Data sourceMicrosoft Dataverse onlyMultiple (SharePoint, Excel, Dataverse, etc.)
Best forProcess-driven, data-centric, enterprise appsTask-specific, custom UI, field workers
Security trimmingBuilt-inManual
ExamplesCRM, compliance tracking, case managementField inspections, intake forms, mobile dashboards
Responsive designAutomatic — no extra config neededRequires manual responsive design work
Code requiredNoneNone (Power Fx formulas for logic)
Common Use Cases

Business operations

  • Customer Relationship Management (CRM)
  • Issue and case tracking
  • Compliance monitoring
  • Innovation management

Enterprise processes

  • Employee onboarding workflows
  • Sales pipeline management
  • Member relationship tracking (banks)
  • Service request management

Analytics & reporting

  • Performance dashboards (executives)
  • Real-time operational metrics
  • Embedded Power BI reports
  • Domain-specific KPI dashboards

Event management (Lab 5)

  • Event and session tracking
  • Session registrations
  • Speaker and participant management
  • Contact role assignment
4 Component Categories — Click to Expand ↓
App Designer creators select components that become the app's metadata — ensuring consistency and scalability.

🗄️ Data Components

Tables, columns, relationships — the backbone and data foundation

🖥️ UI Components

App shell, sitemap, forms, views — navigation and interaction

⚙️ Logic Components

Business processes, flows, workflows, actions, business rules

📊 Visualization Components

Charts, dashboards, embedded Power BI reports

Data ComponentsTables define the entities (e.g., Contact, Event, Session). Columns define the fields within each table and their data types. Relationships link tables together — one-to-many and many-to-many — enabling seamless navigation between related records and preventing data duplication. This forms the metadata-driven architecture that drives the entire app's structure.
UI ComponentsApp shell — the outer navigation frame of the application. Sitemap — defines the navigation structure (groups, tables, views) that users see in the left nav. Forms — control how individual records are displayed and edited. Views — list-based access to table rows for filtering, sorting, and locating records. Together these determine how users navigate and interact with data throughout the app.
Logic ComponentsBusiness processes — structured workflows guiding users through standardized steps (e.g., approvals, escalations). Workflows — automated background processes triggered by record changes. Actions — callable processes that can be triggered from flows or code. Business rules — no-code table-level logic for field validation and conditional display. Power Automate flows — cloud flows for cross-system automation triggered from within the app.
Visualization ComponentsCharts — transform raw table data into visual bar, pie, line, or funnel charts for quick trend analysis. Dashboards — combine multiple charts and views into a single graphical overview. Ideal for executives or team leads needing real-time summaries. Can include custom filters and visual graphics tailored to specific roles or departments. Embedded Power BI reports — bring full Power BI analytics directly inside the model-driven app.
Sitemap Navigation — Groups & Views
Sitemap
The navigation structure users see in the left panel. Organized into Groups and Views/Tables. Configured in the App Designer under Navigation.
Groups
Named sections in the sitemap that organize related tables. Example from Lab 5: "People" group (Contacts) and "Events" group (Events, Event Sessions, Session Registrations).
Reordering views
Views (table entries) can be dragged between groups in the App Designer's Navigation panel to organize the sitemap logically.
Show in Navigation
Toggle on each added table/view to control whether it appears in the app's left navigation panel.
Third-Party Solutions & App Accelerators
Model-driven apps support third-party solutions and app accelerators, allowing organizations to extend functionality and integrate specialized tools. These are distributed using the same solution framework (managed solutions), ensuring compatibility and ease of integration — the same mechanism Microsoft uses for Dynamics 365 apps.
4 Form Types

📄 Main form Primary

The primary interface for full record interaction. Multiple tabs and sections. Ideal for CRM or case tracking where users need complete access to all record details.

🃏 Card form Compact

Optimized for small screens or sub-grid areas. Perfect for mobile dashboards or summary views with limited space where quick access to key data is needed.

⚡ Quick Create form Fast entry

Built for speed — users input essential data and create new records without leaving their current screen. Ideal for sales or support ticketing in fast-paced environments.

👁️ Quick View form Read-only

Displays read-only data from a related table within a main form. Reduces navigation. Example: view account details while working on a contact record.

3 View Types
View typeCreated byPurposeExample
Personal viewsIndividual usersCustom filters and layouts for personal workflowsA sales rep filters leads by their own region
System viewsAdministrators (built-in)Core app views ensuring consistency: Quick Find, Advanced Find, Lookup ViewsQuick Find for fast search; Advanced Find for complex queries
Public viewsAdmins / customizersShared organization-wide views; used in subgrids, forms, dashboardsOpen service requests list shown in a dashboard
Form Editor — Key Capabilities
Table columns panel
Lists all available columns for the table. Search for a column by name, then drag it onto the form canvas to add it as a field.
New table column
Create a brand new column directly from the form editor. Define name, data type (e.g., Choice, Text, Number), and settings — saves back to the Dataverse table.
Choice field configuration
For Choice columns, add labels (option values) directly in the editor. Toggle "Sync with Global Choice" on or off. Set a default choice value (e.g., "None").
Save and Publish
Always save then publish after editing a form. Publishing makes the changes live in the app. Must be done for both forms and views.
Form tabs & sections
Main forms support multiple tabs and sections to organize fields. Allows grouping related data (e.g., General tab, Related tab for linked records).
Charts & Dashboards
Charts
Transform raw table data into visual insights (bar, pie, line, funnel). Accessible via the "Show Chart" button in a view. Help users quickly grasp trends and performance metrics.
Dashboards
Combine multiple charts and views into a single graphical overview. Ideal for executives or team leads needing real-time summaries. Supports custom filters and visual graphics per role or department.
Embedded Power BI
Full Power BI reports can be embedded directly inside a model-driven app dashboard, bringing advanced analytics into the same interface users already work in.
Lab 5 — Contoso Event Management Model-Driven App Hands-on
Build a model-driven app for Contoso Consulting to manage events, sessions, and registrations. Uses the Event Management solution and tables created in Labs 1–2. Demonstrates form customization, sitemap navigation grouping, and data entry testing.
Step-by-Step Summary
1

Create the model-driven app

In Power Apps → Solutions → Event Management solution, click New → App → Model-Driven App. Name it "Contoso Event Management5." Add a description. Click Create.

2

Add Dataverse tables as pages

Add pages using Dataverse tables. Select four tables: Contact, Event, EventSession, Session Registration. Enable "Show in Navigation" for all four. Verify all four appear in the navigation panel.

3

Organize the sitemap into groups

In App Designer → Navigation, create two new groups: "People" and "Events." Move Contact view into the People group. Move Events, EventSessions, and Session Registrations views into the Events group. Reorder by dragging.

4

Customize the Contact form

Navigate to People → Contact form → Edit. Create a new table column: Name = "Contact Type5," Data type = Choice, Sync with Global Choice = Off. Add three choice labels: Speaker, Participant, Support Staff. Set default to None. Save. Search for the new column in Table Columns panel, drag it onto the form. Save and Publish.

5

Review Events view and form

Navigate to Events view in App Designer. Verify "Event Details1" field has been removed (done in earlier labs). Save and Publish the Events form. Return to App Designer and Save and Publish the full app.

6

Test the app with sample data

Open the app (Apps → Contoso Event Management5 → Play icon). Add two contacts: Tim Brown (Speaker) and Tammy Jones (Participant). Create an Event: "Fall Conference," Seattle, max 500, type = Conference, registration required. Create an EventSession: "AI Session," tomorrow, 1.5 hours, speaker = Suzanne Diaz, event = Fall Conference. Create a Session Registration: Suzanne Diaz, ABC Company, special instructions = no gluten.

App Structure Built in Lab 5
Sitemap groupTable/viewKey customization
PeopleContactAdded "Contact Type" choice field (Speaker, Participant, Support Staff)
EventsEventVerified removal of Event Details1 field; saved and published
EventsEvent SessionAdded to Events group in sitemap; displays session details
EventsSession RegistrationAdded to Events group; stores participant registration data
Sample Data Entered During Testing
Record typeNameKey fields
ContactTim BrownJob title: Engineer; Contact Type: Speaker
ContactTammy JonesJob title: Engineer; Contact Type: Participant
EventFall ConferenceLocation: Seattle; Max attendees: 500; Type: Conference; Registration required: Yes
Event SessionAI SessionDate: Tomorrow; Duration: 1.5 hours; Speaker: Suzanne Diaz; Event: Fall Conference
Session RegistrationSuzanne DiazCompany: ABC Company; Session date: Tomorrow; Special instructions: No gluten; Participant: Suzanne Diaz
Key Terms Flash Reference
Model-driven app
No-code app that auto-generates its UI from a Dataverse data model. Built with App Designer. Best for process-driven, data-centric enterprise scenarios.
App Designer
The drag-and-drop tool in Power Apps for assembling model-driven app components: pages, forms, views, dashboards, and the sitemap.
Sitemap
The app's navigation structure — defines the left panel groups and which table views appear under each group.
Main form
Primary record interaction form. Multi-tab, comprehensive. Used for full data entry and review.
Quick Create form
Streamlined fast-entry form — create a record without leaving the current screen. Ideal for sales or support.
Quick View form
Read-only form embedded in a main form showing data from a related table — reduces navigation.
Card form
Compact form for mobile or sub-grid display with limited space.
Personal view
User-created custom filter/layout for their own workflow. Not shared with others.
System view
Built-in admin-managed views: Quick Find, Advanced Find, Lookup Views. Ensures core app consistency.
Public view
Admin/customizer-created shared view, used in subgrids, forms, and dashboards across the organization.
Security trimming
Built-in model-driven app feature — users only see data and features they are authorized to access.
Metadata-driven architecture
The app's UI and behavior are defined by the Dataverse data model (metadata) rather than hand-coded layouts.

Click to reveal answers ↓

What are the three steps in the model-driven app design process?
Step 1 — Model your business data: define entities, relationships, and data types in Dataverse to create a solid metadata-driven foundation. Step 2 — Define business processes: map workflows, automate tasks, and set rules for approvals, escalations, and notifications. Step 3 — Build the app with App Designer: assemble components (views, forms, dashboards) using drag-and-drop tools, then configure security roles and share the app.
What are the four component categories and what does each include?
Data components — tables, columns, and relationships that form the backbone and ensure relational integrity. UI components — app shell, sitemap, forms, and views that determine navigation and data interaction. Logic components — business processes, workflows, actions, business rules, and Power Automate flows for automation and policy enforcement. Visualization components — charts, dashboards, and embedded Power BI reports providing real-time insights.
What are the four form types and when is each used?
Main form — full multi-tab record interface; used for CRM, case tracking, or any scenario needing complete record access. Card form — compact display for mobile/sub-grid areas with limited space. Quick Create form — fast entry without leaving the current screen; ideal for sales or support ticketing. Quick View form — read-only data from a related table embedded within a main form; reduces navigation between records.
What are the three view types and how do they differ?
Personal views are created by individual users as custom filters/layouts for their own workflows — not shared. System views are built-in, admin-managed views (Quick Find, Advanced Find, Lookup Views) that ensure core app consistency. Public views are created by admins or customizers and shared across the organization, typically used in subgrids, forms, and dashboards to standardize data presentation.
In Lab 5, how was the sitemap organized and what tables went in each group?
Two groups were created in the App Designer's Navigation panel: "People" — contains the Contact table/view. "Events" — contains the Event, Event Session, and Session Registration table views. Views were reorganized by moving them between groups using drag-and-drop in the Navigation panel.
What custom column was added to the Contact form in Lab 5 and how was it configured?
A new column named "Contact Type5" was created directly from the form editor. Data type: Choice. Sync with Global Choice was turned off. Three choice labels were added: Speaker, Participant, and Support Staff. Default was set to None. The column was then found in the Table Columns panel (by searching "contact") and dragged onto the form. Finally, the form was Saved and Published to make the changes live.
What is metadata-driven architecture and why does it matter for model-driven apps?
Metadata-driven architecture means the app's UI, navigation, and behavior are automatically generated from the definitions stored in Dataverse (the metadata) rather than being hand-coded. When you define a table, its columns, relationships, and business rules, the app uses that information to build responsive forms, views, and dashboards automatically. This ensures consistency across the app, enables scalability, and means UI changes can be made by updating the data model — not rewriting code.
What is the difference between model-driven app dashboards and embedded Power BI?
Model-driven app dashboards are built natively within the app by combining multiple charts and views from Dataverse tables into a single graphical overview. They update in real time from the app's data and support custom filters by role. Embedded Power BI reports bring full Power BI analytics (with all its advanced visualization and data modeling capabilities) directly into a model-driven app dashboard — useful when deeper cross-system analytics are needed beyond what native Dataverse charts provide.