8.1 Power Pages Lists, Basic Forms & Advanced Forms

Key Takeaways

  • Power Pages Lists surface Dataverse views on website pages, supporting multi-view switching, text search, metadata column filtering, Excel downloads, and contextual row actions (View, Edit, Delete, Workflow).
  • Basic Forms render a single Dataverse model-driven form tab in Insert (create), Edit (update existing record via ID), or ReadOnly mode, with configurable post-submission actions and file attachments.
  • Basic Form Metadata enables field-level customizations including control styling (toggles, radio buttons, code editors), automatic value pre-population, forced values on save, and inline subgrid management.
  • Advanced Forms (Multistep Forms) deliver wizard-style multi-screen experiences utilizing four distinct step types: Load Form, Condition (branching logic), Redirect, and Load Tab.
  • Advanced Form session state is tracked in the adx_webformsession table, allowing users to save progress, navigate via Previous/Next buttons, view visual progress indicators, and branch dynamically based on field evaluations.
Last updated: August 2026

Power Pages Lists, Basic Forms & Advanced Forms

Microsoft Power Pages allows organizations to securely extend their Microsoft Dataverse data, business logic, and processes to external audiences—including customers, partners, citizens, and suppliers—over the web. Rather than building custom database endpoints or bespoke web components, Power Pages provides low-code, metadata-driven components that directly render Dataverse views and forms.

For the PL-200: Microsoft Power Platform Functional Consultant exam, you must master the architecture, capabilities, and configuration options of Lists, Basic Forms, and Advanced Forms (Multistep Forms), including how to handle data operations, form modes, file attachments, field overrides, and multi-step wizard logic.


1. Power Pages Lists (Entity Lists)

A List (historically known as an Entity List) is a metadata-driven data-binding component that queries Dataverse and surfaces records in a responsive, tabular grid on a Power Pages web page. Lists eliminate the need to write custom HTML tables, CSS styling, or JavaScript data-fetching calls.

+-----------------------------------------------------------------------------------+
|                         POWER PAGES LIST ARCHITECTURE                             |
|                                                                                   |
|  [DATAVERSE TABLE]                                                                |
|     └── Active Views (Columns, Sorting, Filter Criteria)                         |
|            │                                                                      |
|            ▼                                                                      |
|  [POWER PAGES LIST COMPONENT]                                                     |
|     ├── View Selection & Multi-View Switcher Dropdown                             |
|     ├── Search Box (Text Search across view columns)                              |
|     ├── Metadata Column Filtering (Dropdowns, Checkboxes, Date Ranges)            |
|     ├── Download to Excel (Export view data)                                      |
|     └── Row / Grid Actions (Create, View Details, Edit, Delete, Run Workflow)    |
|            │                                                                      |
|            ▼                                                                      |
|  [WEB PAGE RENDERING] ───> Subject to Table Permissions & Web Roles               |
+-----------------------------------------------------------------------------------+

List Configuration Capabilities

When configuring a List in the Power Pages Design Studio or the Power Pages Management app, functional consultants configure several core capabilities:

  1. Dataverse View Integration & Multi-View Switcher:

    • A List binds to one or more system or public views defined on a Dataverse table (e.g., "Active Support Tickets", "Resolved Cases").
    • When multiple views are enabled, Power Pages automatically displays a view-switcher dropdown at the top of the grid, allowing external users to toggle between different filtered views.
    • Column names, display widths, and default sort orders are inherited directly from the underlying Dataverse view configuration.
  2. Search and Column Filtering:

    • Search Box: Enabling search places a text input box above the grid that performs wildcard/contains queries across all text attributes included in the view.
    • Metadata Filter Engine: Consultants can configure structured filter controls (vertical or horizontal filter panels) enabling users to refine records using single-select dropdowns, multi-select checkboxes, date range pickers, or dynamic filters linked to the logged-in user's account.
  3. Data Export (Download to Excel):

    • Enabling the Download action renders an "Export to Excel" button.
    • When clicked, Power Pages dynamically queries Dataverse respecting the active view filter, search terms, and the user's active Table Permissions, outputting an .xlsx workbook.
  4. OData Feed Integration:

    • Lists can expose their underlying Dataverse dataset as an authenticated or anonymous OData v4 REST feed, allowing client-side JavaScript or external services to query the data programmatically.

Grid Item & View Actions

Lists support contextual actions divided into Item Actions (executed against a specific selected row) and View / Global Actions (executed at the list level):

Action TypeAction NameConfiguration & Behavior
View / GlobalCreate RecordRenders a "Create" button above the grid. Opens a target Web Page or Basic Form (in Insert mode) or launches a modal dialog to create a new row.
View / GlobalDownloadExports the currently filtered grid dataset to Microsoft Excel.
Item ActionDetails / ViewOpens a target Web Page or Basic Form in ReadOnly mode, passing the record GUID via URL query string (e.g., ?id=a1b2c3d4-...).
Item ActionEditOpens a target Web Page or Basic Form in Edit mode, passing the record GUID to allow data modification.
Item ActionDeletePrompts the user with a confirmation modal and permanently deletes the selected Dataverse record (requires Delete table privilege).
Item ActionRun WorkflowInvokes a classic Dataverse On-Demand Workflow against the selected record row.
Item ActionTrigger Cloud FlowInvokes a Power Automate Cloud Flow via the Power Pages Cloud Flows integration/Web API.

[!IMPORTANT] Query String Parameter Binding: When configuring row actions (Edit/Details), Power Pages passes the record primary key as a query string parameter. By default, the parameter name is id (e.g., https://contoso.powerappsportals.com/ticket-details/?id=7c9e6679-7425-46d8-9189-9831f2378912). The target Basic Form on that page must be configured to look for the matching record ID parameter.


2. Basic Forms (Entity Forms)

A Basic Form (formerly known as an Entity Form) is a metadata-driven component used to render a single tab of a Dataverse model-driven form on a Power Pages website. It handles data binding, validation, subgrids, note attachments, and record persistence without manual HTML/JavaScript coding.

+-----------------------------------------------------------------------------------+
|                         BASIC FORM ARCHITECTURE & MODES                           |
|                                                                                   |
|  [DATAVERSE MODEL-DRIVEN FORM] ───> Select Table & Specific Form Tab              |
|                                            │                                      |
|                                            ▼                                      |
|  [BASIC FORM MODES]                                                               |
|     ├── INSERT: Creates new record (No Record ID required in URL)                 |
|     ├── EDIT: Updates existing record (Requires Record ID query string)           |
|     └── READONLY: Displays data without editing (Requires Record ID query string)  |
|                                            │                                      |
|                                            ▼                                      |
|  [FORM PROCESSING & HOOKS]                                                        |
|     ├── Field Validation & Business Rules Enforcement                             |
|     ├── Basic Form Metadata (Field Overrides, Prepopulate, Force Values)           |
|     ├── Attachments (Dataverse Notes vs. Azure Blob Storage)                      |
|     └── On Success Action: Show Message / Redirect to Web Page / Redirect URL     |
+-----------------------------------------------------------------------------------+

Form Modes

A Basic Form must be configured in one of three operational modes:

  1. Insert Mode:

    • Used for new record creation (e.g., a "Contact Us" inquiry or "Submit New Warranty Claim" form).
    • Does not require a record ID in the URL.
    • Generates a new Dataverse record GUID upon successful submission.
  2. Edit Mode:

    • Used for updating existing records (e.g., updating a customer profile or editing a support case).
    • Requires a record identifier, typically passed through a URL query string parameter (such as id), session state, or mapped to the current logged-in Contact.
  3. ReadOnly Mode:

    • Displays existing record attributes in disabled, non-editable controls.
    • Used for confirmation screens, historical order reviews, or static policy inspection.

Post-Submission & Success Behaviors

When an external user submits a Basic Form, Power Pages can execute one of three configurable On Success actions:

  • Display Success Message: Displays a configurable text banner (e.g., "Thank you! Your application has been received.") while remaining on the same page.
  • Redirect to Web Page: Automatically navigates the user to another internal site page (e.g., routing to an "Application Summary" page or returning to the List grid).
  • Redirect to URL: Navigates the user to an absolute external URL or internal relative path.

File Attachments & Storage Options

Basic Forms can capture document and image uploads from portal visitors using two architectural backends:

  • Dataverse Notes (Annotations): Uploaded files are stored directly in Dataverse file storage as annotation records linked regarding the primary record. Consultants can configure maximum file size limits (up to Dataverse limits), restrict file MIME types/extensions (e.g., .pdf, .docx, .png), and enable multi-file uploads.
  • Azure Blob Storage Integration: For high-volume file scenarios or large media files (up to several gigabytes), Power Pages can be configured with Azure Blob Storage. Files are streamed directly to an Azure Storage container, leaving a lightweight metadata pointer in Dataverse.

3. Basic Form Metadata Customization

While a Basic Form inherits layout and fields from a Dataverse model-driven form, enterprise portals often require web-specific behavioral modifications. Basic Form Metadata provides granular overrides applied to specific fields, sections, tabs, subgrids, or notes on the form.

+-----------------------------------------------------------------------------------+
|                         BASIC FORM METADATA CAPABILITIES                          |
|                                                                                   |
|  [FIELD OVERRIDES]                                                                |
|     ├── Label Customization (Rename field specifically for portal users)          |
|     ├── Control Styles (Render OptionSet as Radio Buttons; Boolean as Toggle)     |
|     ├── Validation (Custom regex, mandatory overrides, error messages)            |
|     └── Description / Tooltip (Inject helper text above or below input)           |
|                                                                                   |
|  [AUTOMATION & VALUES]                                                            |
|     ├── Prepopulate Field: On Load set to Current Contact / Current Date / Value  |
|     └── Set Value On Save: Force statuscode, owner, or system flag upon submit    |
|                                                                                   |
|  [COMPOSITE CONTROLS]                                                             |
|     ├── Subgrids: Enable inline create/edit/delete modal dialogs for child rows   |
|     └── Timeline / Notes: Configure customer attachment and comment permissions   |
+-----------------------------------------------------------------------------------+

Key Basic Form Metadata Types

  1. Attribute (Field) Overrides:

    • Label Override: Modifies the field's display label on the web page without changing the underlying Dataverse column name.
    • Control Style Overrides: Changes how a column renders in the browser:
      • Single-line text rendered as Password, Email, or Code Editor (HTML/JSON).
      • Option Set (Choice) rendered as a Vertical/Horizontal Radio Button Group.
      • Two Options (Boolean) rendered as a Toggle Switch or Checkbox.
    • Custom Validation: Adds regular expression validation (e.g., postal code or tax ID format) with custom localized error messages.
  2. Prepopulate Field (On Form Load):

    • Automatically sets a field value when the form opens:
      • Current Portal User: Populates a lookup column with the logged-in Contact record.
      • Current User's Account: Populates a lookup column with the logged-in user's parent Account.
      • Current Date/Time: Populates date fields with Today or Now().
      • Constant Value: Populates default text, numbers, or option set keys.
  3. Set Value On Save (On Form Submit):

    • Silently assigns or overrides field values when the user clicks Submit, regardless of form inputs.
    • Common pattern: Automatically setting statuscode to "Submitted", assigning a routing queue, or recording submission timestamps.
  4. Subgrid Metadata Configuration:

    • When a subgrid is embedded on the model-driven form, Basic Form Metadata allows consultants to enable interactive subgrid actions:
      • Create: Opens an Insert modal to add related child records.
      • Edit / Details: Opens an Edit modal for selected child rows.
      • Delete: Enables deletion of related rows.

4. Advanced Forms (Multistep Forms)

When a business process requires capturing extensive data across a guided, multi-page wizard with dynamic branching and step-by-step validation, consultants use Advanced Forms (formerly known as Web Forms or Multistep Forms).

+-----------------------------------------------------------------------------------+
|                    ADVANCED FORM (MULTISTEP) WORKFLOW                             |
|                                                                                   |
|  [STEP 1: Load Form] ───> Basic Customer Information                              |
|         │                                                                         |
|         ▼                                                                         |
|  [STEP 2: Condition] ───> Is Claim Amount > $10,000?                              |
|         ├── [TRUE]  ───> [STEP 3A: Load Form] High-Value Asset Verification       |
|         └── [FALSE] ───> [STEP 3B: Load Form] Standard Fast-Track Submission     |
|                                 │                            │                    |
|                                 └─────────────┬──────────────┘                    |
|                                               ▼                                   |
|  [STEP 4: Redirect]  ───> Navigate to Confirmation Web Page                       |
+-----------------------------------------------------------------------------------+

The Four Advanced Form Step Types

An Advanced Form is composed of a sequenced collection of Advanced Form Steps. Each step is configured as one of four specific types:

Step TypeFunctionCommon Scenario
1. Load FormRenders a single tab of a Dataverse model-driven form (Insert, Edit, or ReadOnly mode). Captures or displays field data.Gathering contact info, capturing order details, or presenting review summary.
2. ConditionEvaluates a logical expression against field values or session state without rendering UI. Branches to different next steps based on True or False outcomes.Routing users to different question sets based on age, territory, product type, or claim value.
3. RedirectProgrammatically navigates the user to an internal Power Pages Web Page or an external URL.Forwarding to a payment gateway, document download page, or final thank-you screen.
4. Load TabLegacy step type that displays a specific tab from the parent form. (Modern practice prefers standard Load Form steps).Legacy portal migration and backward compatibility.

Session State & User Experience

Advanced Forms include built-in state management and UI navigation features:

  • Session State Storage (adx_webformsession): The portal engine automatically records step progression in Dataverse. If a user closes their browser or loses connectivity, they can resume their application at the exact step where they left off.
  • Progress Indicators: Advanced Forms provide out-of-the-box visual indicators displayed at the top of the wizard:
    • Title / Step Name List
    • Numeric Step Count (e.g., "Step 2 of 5")
    • Progress Bar (percentage completed)
  • Navigation Controls: Supports configurable Next, Previous, and Submit buttons. Enabling the "Previous" button allows users to navigate back and modify earlier responses without corrupting Dataverse record state.
  • Save and Return Later: Can be enabled to allow users to save incomplete drafts and receive a resume link.

Cross-Step Record Association & Reference Mappings

In multi-step wizards, Step 1 typically creates a parent record (e.g., an Application), while subsequent steps either update that record or create related child records (e.g., Applicant Dependents, Uploaded Documents):

  • Current Step Record Source: Each step defines where its record originates—either Create New (Insert), Result of Previous Step, Query String (ID), or Current Portal User's Record.
  • Associate Current Portal User: Steps can automatically bind the logged-in Contact as the record creator or lookup owner on step completion.

5. Comparison: Lists vs. Basic Forms vs. Advanced Forms

Architectural DimensionPower Pages ListBasic FormAdvanced Form (Multistep)
Primary PurposeDisplaying tabular Dataverse viewsSingle-screen record CRUDGuided multi-screen wizards & branching
Dataverse BindingDataverse Public / System ViewsSingle Tab of Model-Driven FormMultiple Form Tabs across one or more tables
CRUD OperationsRead / Filter / Export / Row TriggersCreate (Insert), Update (Edit), View (ReadOnly)Multi-table Create, Update, and Conditional Branching
State ManagementStateless (URL / Grid Search)Stateless (Single HTTP POST)Stateful (adx_webformsession persistence)
Conditional LogicView filter criteria & metadata filtersBasic Form Metadata / Client JavaScriptNative Condition Steps (No-code branching)
Progress TrackingPagination (e.g., Page 1 of 10)NoneProgress Bar, Step Counts, Timeline Breadcrumbs
Test Your Knowledge

A functional consultant needs to configure a Power Pages website for an equipment rental agency. Customers must be able to view their active equipment rentals in a table, filter rentals by date range and status, download the filtered list to Microsoft Excel, and click an 'Extend Rental' row action that opens an edit page with the rental record ID passed in the URL. Which Power Pages component should the consultant configure?

A
B
C
D
Test Your Knowledge

A company is building a self-service customer portal where registered users can submit support inquiries. When a user opens the 'New Inquiry' page, the form must automatically populate their Contact lookup field with their own credentials, render the 'Urgency' Choice column as horizontal radio buttons instead of a standard dropdown, and automatically set the internal 'Routing Status' column to 'Pending Triage' upon submission without displaying it on the screen. How should the consultant configure this Basic Form?

A
B
C
D
Test Your Knowledge

An insurance provider requires a customer onboarding experience on Power Pages. If an applicant indicates they are applying for commercial coverage with property valuation over $1,000,000, the portal must direct them to a detailed commercial property disclosure form; otherwise, they must proceed to a standard personal liability form. Applicants must also be able to save their draft, view a 'Step 2 of 4' progress indicator, and return later to finish. What component architecture meets these requirements?

A
B
C
D
Test Your Knowledge

A consultant is configuring a customer portal form where clients can review their existing service contracts. The form must display all contract fields in a read-only state, but include an embedded subgrid of 'Contract Line Items'. Clients must be allowed to add new line items by clicking a '+' button directly above the subgrid, which opens a modal pop-up form. How should this be implemented?

A
B
C
D