Model Driven Apps UI Overview

Model Driven Apps UI Overview

If you’ve ever opened a Power Apps model-driven app for the first time, the interface can feel overwhelming. Unlike canvas apps — where you design every pixel — model-driven apps give you a structured, data-centric UI that is generated for you based on your Dataverse tables, forms, and views. Once you understand the anatomy of that UI, everything clicks into place.

This post is your guided tour. We’ll walk through every major UI element — from the command bar at the top to the area switcher at the bottom of the left navigation — using a Sales Hub-style app as our running example.


What is a model-driven app?

A model-driven app is built on top of Microsoft Dataverse (the cloud database underpinning the Power Platform). Instead of designing the UI from scratch, you define:

  • Which tables (Entities) the app should expose (e.g. Accounts, Contacts, Leads)
  • Which views show lists of records from those tables
  • Which forms display the details of a single record
  • How the navigation is structured (areas, groups, sub-areas)

The Power Platform engine then assembles the UI automatically. This makes model-driven apps ideal for complex, data-rich business scenarios like CRM, case management, or field service — anywhere you need consistent, role-based access to structured data.


The anatomy of the UI — a bird’s eye view

Every model-driven app shares the same structural skeleton:

ZoneWhat it contains
Command bar (top)App name, global search, quick-create button, user settings
Left navigationSitemap: areas, groups, sub-areas
Main content areaViews, forms, dashboards, or custom pages
Sub-command barContext-sensitive actions for the current record or list
TimelineActivity history on a form (emails, calls, notes, tasks)

Let’s dive into each zone in detail.


① The command bar

The command bar runs across the very top of the app. It is always visible, regardless of where you are in the app.

Components of the command bar

Hamburger menu / App name On the far left you’ll find the hamburger icon (three horizontal lines) followed by the app name (e.g. Sales Hub). Clicking the hamburger collapses the left navigation pane so you get more horizontal space for the main content area — useful on smaller screens.

Global search (magnifying glass icon) Clicking the search icon opens the Relevance Search or Quick Find bar. You can type any keyword and the app will search across all enabled tables simultaneously — for example, typing “Contoso” will surface matching Accounts, Contacts, and Opportunities all at once. We cover this in more detail in the global search section below.

Quick Create button (+ New) The + New button (sometimes shown as a + icon) opens a quick-create form — a lightweight side panel that lets you create a new record without navigating away from your current page. For example, you can create a new Lead while you’re looking at a dashboard. Not every table has a quick-create form enabled; an administrator must turn this on per entity.

Settings / gear icon Gives access to personalization options (such as setting your home page) and links to the Power Platform admin center.

User avatar / profile Displays your initials or profile picture. Clicking it reveals your display name, email, and a Sign out option.


② The left navigation pane (sitemap)

The left navigation pane is the sitemap of your app — the blueprint that determines what users can access and how content is organized. It is built in the Power Apps app designer or in the modern sitemap editor.

The sitemap has a three-level hierarchy:

Area
 └── Group
      └── Sub-area (table, dashboard, URL, or custom page)

Areas

An area represents the broadest organizational unit in a model-driven app. Think of it as a “department” or “module”. Larger apps — like Dynamics 365 Sales — ship with multiple areas such as:

  • Sales
  • Service
  • Marketing
  • Settings

The area switcher lives at the bottom of the left navigation pane. It shows the currently active area and, when clicked, expands to let you jump to a different area. Each area has its own independent set of groups and sub-areas.

Example: In Sales Hub, switching from the Sales area to the Service area changes the entire left nav — the Sales area shows Leads, Opportunities, and Quotes, while the Service area shows Cases, Queues, and Knowledge Articles.

If your app has only one area, the switcher is hidden and the area label appears as a header above the navigation items.

Groups

Within an area, groups (sometimes called navigation groups) act as section headings inside the left nav. They are not clickable — they exist purely to visually separate related sub-areas.

Example: The Sales area in Sales Hub has groups like My Work, Customers, Sales, and Collateral.

Groups are collapsible in modern model-driven apps, so users can hide sections they don’t use often.

Sub-areas

Sub-areas are the actual navigation items you click. Each sub-area links to one of the following:

Sub-area typeWhat opens
Table (entity)The default view for that table (e.g. Accounts opens My Active Accounts)
DashboardA specific system or personal dashboard
URLAny internal or external web page embedded in the app
Custom pageA canvas-app-style page embedded inside the model-driven app
Web resourceAn HTML/JS web resource

Example: Clicking Accounts under the Customers group navigates you to the Accounts view. Clicking Dashboards under My Work takes you to the default dashboard.

Sub-areas can optionally display a record count badge next to the label, which is useful for queues or inbox-style views.


③ Views — the list/grid page

When you click a table sub-area (e.g. Accounts), you land on a view — a paginated grid of records from that table, filtered and sorted according to the view definition.

Types of views

View typeDescription
Personal viewCreated by individual users for themselves; not visible to others by default
System viewCreated by a developer or admin; available to all users with access
Quick Find viewDefines which columns are searched when a user types in the search box on a view page
Lookup viewShown inside a lookup field on a form when a user searches for a related record
Associated viewShown in a sub-grid on a form to display related records

The view selector

At the top left of the view page, you’ll see the view name (e.g. My Active Accounts) followed by a dropdown chevron (▾). Clicking the chevron reveals the view selector — a list of all available views for that table. Users can switch between views like:

  • My Active Accounts (records owned by me)
  • All Accounts (all records I can see)
  • Inactive Accounts
  • Accounts: No Campaign Activities in Last 3 Months

View columns and sorting

Each view displays a set of columns chosen by whoever built the view. You can:

  • Click a column header to sort ascending, then again for descending.
  • Drag column headers to reorder them (in modern views).
  • Resize columns by dragging the column border.
  • Personalize the view (add/remove columns) via the column options, if the admin allows it.

Filtering and searching within a view

Above the grid, a search bar (Quick Find) lets you search within the current view. This only searches the columns defined in the Quick Find view for that table.

For more complex filtering, click the filter icon (funnel icon) to open the advanced filter pane, where you can add multiple conditions across any column.

Selecting records and bulk actions

Each row has a checkbox on the left. You can:

  • Select one record — checkbox appears on hover.
  • Select all on the page — click the header checkbox.
  • Select all records in the view — a banner appears after selecting the page, offering to select all.

Once records are selected, the sub-command bar populates with relevant bulk actions (e.g. Delete, Assign, Send Email, Merge, Qualify for Leads).

Pagination and record counts

Below the grid, a pagination bar shows the current page (e.g. 1 – 50 of 1,247 records) and Previous / Next buttons. The default page size is 50 rows; admins can change this via the organization settings (max 250 rows per page).


④ The sub-command bar (ribbon)

The sub-command bar (historically called the ribbon) appears just below the main command bar on every page. It contains context-sensitive actions — the buttons change depending on:

  • Whether you are on a view (list) or a form (single record)
  • Which table you are working with
  • Which records are selected
  • Your security role

On a view page

Typical sub-command bar buttons on a view include:

  • New — create a new record (opens the main create form, not the quick-create panel)
  • Delete — delete selected records (requires confirmation)
  • Refresh — reload the grid data
  • Email a link — send a link to this view via email
  • Run report — launch any SSRS or FetchXML report associated with the table
  • Import from Excel / Export to Excel — bulk data operations
  • Flow — trigger a Power Automate flow from the selected records
  • ··· (More commands) — overflow menu for less frequently used actions

On a form page

When you open a specific record, the sub-command bar shows record-level actions:

  • Save / Save & Close / Save & New
  • Delete
  • Deactivate / Activate
  • Assign (change the owner)
  • Share
  • Process-specific actions — e.g. on a Lead form: Qualify, Disqualify; on an Opportunity form: Close as Won, Close as Lost

Administrators and developers can add custom buttons to the command bar using the Power Apps command designer (or the classic Ribbon Workbench tool), which can trigger Power Automate flows, JavaScript, or URLs.


⑤ Forms — the record detail page

When you click a record in a view (e.g. click Contoso Ltd in the Accounts grid), the app navigates to that record’s form — the page that displays all the fields and related data for a single record.

Types of forms

Form typePurpose
Main formThe primary form opened when navigating to a record
Quick Create formA simplified form shown in the side panel (triggered by + New)
Quick View formA read-only summary embedded inside another record’s form (via a quick view control)
Card formA compact layout used in sub-grids and activity walls

Form anatomy

A main form is organized into the following layers:

Header The header displays key fields at the very top of the form — typically the record name and a few critical status fields. Header fields are always visible even when you scroll down. Developers control which fields appear in the header.

Business process flow (BPF) Directly below the header, many forms display a Business Process Flow — a visual pipeline of stages (e.g. Qualify → Develop → Propose → Close). Each stage contains a set of required or recommended fields. You click a stage to expand it, fill in the fields, and then click Next Stage to advance the record through the process. The BPF is a guided experience to ensure data quality at each step.

Example: The Lead-to-Opportunity Sales Process BPF walks sales reps through Lead Qualification, Opportunity Development, Proposal, and Close stages.

Tabs Forms are divided into tabs (horizontal tabs across the top of the form body). Each tab contains one or more sections. Common tabs on an Account form:

  • Summary — name, contact info, key details
  • Details — industry, annual revenue, number of employees
  • Related — sub-grids for Contacts, Opportunities, Cases
  • Timeline — activity history

Sections Within a tab, sections group related fields together. A section has a label (e.g. Contact Information) and can have one or two columns of fields.

Fields Fields are the individual data inputs on a form. Field types include:

  • Text (single line, multi-line)
  • Number (whole number, decimal, currency)
  • Date/time
  • Option set (a single-select dropdown backed by a Dataverse choice column)
  • Multi-select option set (checkboxes)
  • Lookup (a reference to another table — e.g. the Account field on a Contact)
  • Boolean (two-option toggle)
  • File / Image
  • Customer (polymorphic lookup to Account or Contact)

Fields can be required, recommended (shown with a blue asterisk), or optional. Business rules and JavaScript can make fields visible/hidden or required/read-only dynamically.

Sub-grids Sub-grids appear within form tabs to show related records. For example, the Contacts sub-grid on an Account form shows all Contacts that belong to that Account. You can create new related records directly from a sub-grid without leaving the parent form.


⑥ The timeline

The timeline is a special control that appears on most main forms (Accounts, Contacts, Leads, Opportunities, Cases, etc.). It provides a chronological activity history for the record.

What appears in the timeline?

  • Emails — sent to or received from this record’s contacts
  • Phone calls — logged calls
  • Tasks — to-do items linked to this record
  • Appointments / Meetings
  • Notes — freeform text notes with optional file attachments
  • Custom activities — any custom activity table created in Dataverse

Each entry shows the activity type, subject, who created it, and the date/time. You can expand an activity to see its full details inline.

Adding a new activity from the timeline

At the top of the timeline there is a + (Add activity) button and a filter bar. Clicking + lets you quickly log:

  • A note
  • A task
  • An email (opens a compose window)
  • A phone call
  • An appointment

You can also filter the timeline by activity type, date range, or whether the activity is open or closed.

Timeline vs. activities sub-grid

The timeline is great for a chronological view of communication history. If you need to manage and filter activities as a grid (with sortable columns and bulk actions), use the Activities sub-area in the left navigation instead.


⑦ Dashboards

Dashboards aggregate data from multiple tables into a single page of charts, lists, and KPI tiles. They are the first thing many users see when they open an app (if Dashboards is the default sub-area).

Types of dashboards

TypeCreated byVisible to
System dashboardDeveloper / adminAll users with access
Personal dashboardIndividual userOnly that user (unless shared)
Interactive dashboardDeveloper / adminAll users; has drill-down filters

Dashboard components

Dashboards are composed of components arranged in a grid layout (typically 1, 2, or 3 columns):

  • Charts — bar, column, line, pie, funnel, donut charts drawn from a Dataverse view
  • Lists — a view-based grid showing records (same as a view page, but smaller)
  • IFrame — an embedded web page
  • Web resource — an HTML/JS component

Interactive dashboards

Interactive dashboards are a premium experience. They feature:

  • Global filters at the top — filter all components simultaneously by Owner, Date Range, etc.
  • Stream (vertical scrolling list) on one side
  • Charts on the other side
  • Drill-down — clicking a chart segment filters the stream to matching records

Example: An interactive dashboard for Case Management might show open cases filtered by priority, with a donut chart for status distribution and a stream of the oldest open cases.

Switching dashboards

On the dashboard page, the view selector (dropdown at the top) lets you switch between available dashboards. The Set as Default option in the sub-command bar pins a specific dashboard as your home view.


Model-driven apps offer two search mechanisms:

The primary, recommended search. When you click the magnifying glass icon in the command bar and type a query:

  • It searches across all enabled tables simultaneously.
  • Results are ranked by relevance using an Azure Cognitive Search index.
  • Results are grouped by table (Accounts, Contacts, Leads, etc.).
  • You can click a result to open the record, or click See all results for Accounts to see a full filtered view.

Dataverse search must be enabled by an administrator at the environment level, and each table must be opted in individually.

If Dataverse search is disabled, you’ll see a search box at the top of each view page. This Quick Find search only looks within the current table and only searches the columns defined in the table’s Quick Find view.


⑨ Quick Create forms

The + New button in the command bar opens a Quick Create panel that slides in from the right — overlaying the current page rather than navigating away from it. This is ideal for capturing data rapidly without losing your current context.

A quick-create form is a stripped-down version of the main form. It shows only the most essential fields and has no tabs, sub-grids, or timeline. Once you save the quick-create form, the panel closes and you return to what you were doing.

Tip: Not all tables have quick-create enabled. Admins enable or disable this on a per-table basis in the table settings in the Power Apps maker portal.


⑩ Business process flows (BPF)

We touched on BPFs in the forms section, but they deserve a fuller description. A Business Process Flow is a visual guide that appears at the top of a form, representing the stages a record must move through to be considered complete or successfully closed.

Key BPF concepts

  • Stages — the major steps (e.g. Qualify, Develop, Propose, Close)
  • Steps — fields inside a stage that a user should fill in
  • Required steps — must be completed before the user can advance to the next stage
  • Active stage — the stage the record is currently in, shown highlighted
  • Branching — BPFs can branch conditionally (e.g. different paths for different customer segments)

Switching processes

A record can have multiple process flows available. A Process button (or Switch Process in the sub-command bar) lets a user change which BPF is applied to the record. For example, a Lead might support both a Lead to Opportunity Sales Process and a Simplified Lead Process.


Putting it all together — a typical user journey

Here is what a day-in-the-life workflow looks like in a Sales Hub model-driven app:

  1. User opens the app → lands on the My Dashboard (default sub-area under My Work).
  2. Spots an overdue task in a dashboard list → clicks the record to open the Opportunity form.
  3. Reviews the Business Process Flow → sees the opportunity is in the Propose stage.
  4. Scrolls to the Timeline → reads a previous email thread for context.
  5. Clicks + New in the Timeline → logs a phone call note.
  6. Fills in proposal details in the Details tab → clicks Save.
  7. Clicks Close as Won in the sub-command bar → marks the opportunity as closed/won.
  8. Clicks the Accounts sub-area in the left nav → lands on the My Active Accounts view.
  9. Searches for a customer using the Quick Find box in the view.
  10. Clicks + New in the command bar → fills a quick-create Lead form for a new prospect.

Summary table — UI components at a glance

ComponentWherePurpose
Command barTop of every pageApp name, global search, + New, user settings
Left nav (sitemap)Left sideAreas → Groups → Sub-areas
Area switcherBottom of left navSwitch between app modules/departments
Sub-command barBelow command barContext-sensitive actions for current page
View (grid)Main area when table sub-area clickedPaginated list of records
View selectorTop of viewSwitch between different filtered/sorted views
Quick FindTop of viewSearch within the current table
Main formMain area when record clickedAll fields, tabs, sections for one record
HeaderTop of formKey fields always visible while scrolling
Business Process FlowBelow header on formStage-by-stage guided data entry
TabsForm bodyOrganize sections of a form
Sub-gridInside a form tabRelated records from another table
TimelineUsually on a Summary tabChronological activity history
DashboardMain area for dashboard sub-areasCharts, lists, and KPIs
Interactive dashboardAs aboveFilterable, drill-down dashboard
Quick Create panelSlides in from right (+ New)Fast record creation without navigation
Global searchCommand bar iconCross-table relevance search

What’s next?

Here are some natural next steps:

  • Build your first model-driven app — use the Power Apps maker portal at make.powerapps.com to create a table, add a view and form, and wire up a sitemap.
  • Customize forms — learn how to add, remove, and reorder fields and sections in the form designer.
  • Create views — explore FetchXML-based filtering to build views that surface exactly the right records.
  • Build a dashboard — add charts linked to your views and set one as the app default.
  • Design a BPF — define the stages and required steps that guide your users through a business process.

Comments