← Back PL-900 — Session 4 — Power Apps: Canvas Apps Exam weight: 25–30% combined

Microsoft Power Apps

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

1 of 6 sections visited
What is Microsoft Power Apps?
A transformative low-code/no-code platform that empowers users to build apps using concepts similar to Excel formulas. Accessible at make.powerapps.com. Modernizes legacy paper forms and Excel workbooks, making processes accessible across PCs and mobile devices. Connects to data where it lives — SharePoint, Excel, Dataverse, and more.
Canvas Apps vs Model-Driven Apps
FeatureCanvas AppsModel-Driven Apps
Starting pointBlank canvas — full control over layoutData model in Microsoft Dataverse
UI generationManual drag-and-drop (like PowerPoint)Automatically generated from data structure
Data sourcesMultiple: SharePoint, Excel, Dataverse, and moreMicrosoft Dataverse only
Device capabilitiesGPS, camera, barcode scanner accessResponsive across devices, no hardware controls
Best forTask-specific, custom UI, field workers, embedded forms/widgetsData-centric, process-driven, enterprise CRM/ERP
Security trimmingManualBuilt-in — users only see what they're authorized to access
EmbeddableYes — into SharePoint, Teams, other platformsStandalone enterprise apps
User personalizationLimitedYes — pinned records, collapsed sections, recent records
ExamplesIncident reporting, field inspections, employee onboarding, real estate listing appFundraiser donation dashboard, sales pipeline, member relationship tracking
Copilot in Power Apps — Two Modes
Build with Copilot
Describe the app in natural language (e.g., "track hotel housekeeping tasks") and Copilot generates a Dataverse table and Canvas app. Refine by giving further instructions like "remove the room type column." Dramatically reduces time to get started.
Assist with Copilot control
Embed a Copilot control directly into your app so end users get an intelligent assistant inside the app. Users ask questions and get AI-generated answers based on connected data — ideal for customer service, field inspections, or internal operations.
Agent Builder in Power Apps
Creates AI-driven agents directly within Canvas apps using Copilot Studio Agent Builder. Agents leverage existing app metadata (data sources, workflows, interactions) to align with specific goals.
Metadata & goal alignment
Agent behavior is tightly coupled with the app's purpose. Example: an IT support agent guides users through checking ticket statuses or submitting requests.
Skill extraction
Equips agents with step-by-step instructions, knowledge repositories, and event triggers derived from the app's structure. Example: an inventory agent alerts users when stock is low, recommends reorder quantities, and provides supplier contact details.
Power Apps Studio — Core Building Blocks
Web-based interface at make.powerapps.com — no downloads needed. Click each element for details ↓

📝 Forms

View, edit, or create individual records from a data table

🎛️ Input Controls

Text boxes, buttons, drop-downs, toggles, sliders, date pickers

🤖 Intelligent Controls

AI Builder + hardware controls (camera, barcode, GPS, microphone)

𝑓𝑥 Functions

Excel-like formulas for logic, calculations, data manipulation

📐 Layout Containers

Auto layout, manual, and flexible height — responsive design

💬 Copilot Controls

Conversational AI embedded directly in the app for users

✅ AppChecker & Accessibility

Scan for formula errors, performance issues, and accessibility barriers

FormsFocus on individual records — typically selected from a Gallery. Three modes: View (read-only), Edit (update existing record), New (create a new entry). Fields can be customized in the Properties panel including layout orientation and which fields appear. Supports image fields for visual context (e.g., thumbnail URLs for asset management). The Flow button integrates Power Automate directly into the form — trigger workflows without leaving the interface.
Input ControlsThe building blocks of interactivity: text inputs, buttons, drop-downs, toggles, date pickers, sliders, and checkboxes. Embedded into Galleries, forms, and screens. Combined with Power Fx formulas, controls enable dynamic behavior without complex coding. Example: a checkbox for "include shipping" can trigger conditional logic or update related fields automatically.
Intelligent Controls — two categories:AI Builder Controls: Business Card Reader (extracts contact details), Receipt Processor (expense tracking), Form Processor (structured data entry), Object Detector (identifies items in images for inventory), Text Recognizer (converts printed/handwritten text to digital). Hardware/Media Controls: Camera, Barcode Reader, Microphone, Measuring Camera, plus Image, Video, Audio, and Microsoft Stream for multimedia capture and playback.
Functions (Power Fx)Excel-like formulas that take parameters, perform operations, and return values. Examples: Sqrt(25) = 5; SubmitForm(Form1) triggers form submission. Signals: real-time environment data like Location for GPS coordinates. Enumerators: predefined constants like Color.Red. Named operators: ThisItem or Parent to reference nested data in Galleries or forms. The Formula Bar shows the active formula for the selected control property.
Three container types:Auto layout — automatically positions and resizes children based on alignment rules (vertical or horizontal stacking). Eliminates manual X/Y coordinate placement. Best for forms or Galleries needing fluid layouts. Manual layout — full control over exact placement of each component. Essential for custom dashboards or fixed navigation bars. Flexible height — dynamically adjusts height based on content. Ideal for Galleries, comment sections, or data-driven forms where item count varies.
Copilot ControlsIntelligent assistants embedded in the app. Users ask natural language questions (e.g., "what are the top-selling products this month?") and receive AI-generated answers from connected data. Especially powerful for mobile users who need quick, on-the-go data access. Example: a field technician asks "what is the status of the current service request?" and gets a real-time update without navigating through multiple screens. Supports both typed and spoken queries.
AppCheckerAutomatically scans for formula errors, performance bottlenecks, and broken queries. Offers actionable fixes — e.g., flags an inefficient SharePoint query and recommends a more optimized approach. Accessibility CheckerIdentifies barriers for users with disabilities: missing screen reader support, keyboard navigation issues, color contrast compliance. Critical for enterprise apps like HR onboarding portals where accessibility is a requirement, not just best practice.
Canvas App Fundamentals
Start with a blank canvas — choose tablet or mobile layout. Drag and drop elements like building a PowerPoint slide. Connect to multiple data sources. Use Power Fx (Excel-like expressions) for logic. Run on browsers and mobile devices without additional configuration.
Power Apps Studio Interface
Tree View
Visual hierarchy of all screens and elements in the app. Helps maintain structure and clarity as the app grows. Accessible via the icon that looks like a branching diagram.
Components panel
Insert and manage individual UI components. Used alongside Tree View to organize screens.
Formula Bar
Shows the active formula for the selected control property (e.g., Items, OnSelect). Edit formulas here to bind data or trigger actions.
Properties panel
Adjust properties like width, height, padding, flexible width/height, minimum width, and display mode for each selected control.
Insert menu
Add new controls, containers, icons, galleries, forms, and media elements to the app canvas.
Preview mode
Test the app in browser without publishing. See how it looks and behaves before sharing.
AppChecker
Scans for formula errors, performance issues, and accessibility problems with actionable fixes.
Sharing a Canvas App
Share button
Specify individuals, groups, or security groups. Assign roles: User (run only) or Co-owner (can edit and share the app).
Co-owner
Can update the app and help evolve the solution. Useful in collaborative environments where multiple stakeholders refine functionality over time.
Data source permissions
Ensure shared users have the necessary permissions for connected data sources and gateways. Some are granted automatically; others require manual setup.
Access channels
Users can run the app in a browser or via the Power Apps mobile app on iOS or Android.
Canvas App Use Cases

Field work

  • Equipment inspections with camera
  • Barcode scanning for asset tracking
  • GPS-based location apps
  • Audio notes during field visits

HR & onboarding

  • Employee onboarding forms
  • Time off request systems
  • Training completion tracking
  • Equipment checkout management

Operations

  • Inventory management
  • Incident reporting
  • Procurement approvals
  • Vehicle inspection forms

Embedded/lightweight

  • Forms embedded in SharePoint
  • Widgets in Teams
  • Customer intake forms
  • Event RSVPs
Model-Driven App Fundamentals
Built from your data model in Microsoft Dataverse. UI is automatically generated (dashboards, charts, views, forms) from the underlying data structure. Think of them as "data model-driven apps" — a robust Dataverse model is essential. Assembled using the App Designer. Responsive across devices with no additional configuration.
Navigation & Productivity Features
Change apps
Switch seamlessly between different model-driven apps — ideal for multitasking across business domains like CRM and project management.
Collapse/Expand Sitemap
Show or hide tables and items to streamline the interface. Example: a sales rep collapses inventory sections while working on customer data.
Recent records
System tracks recently accessed records for quick re-access without searching.
Pinned records
Pin up to 25 important records (max 15 per table) for instant access. Especially useful for finance or HR roles that reference certain records frequently.
Page navigation
Clear list of all tables and dashboards in the current work area for efficient movement between data views.
Collapsible groups
App makers can create collapsible sections so users can show/hide groups as needed — perfect for managing complex datasets.
Working with Views — 8 Key Features
#FeatureWhat it does
1Show Chart buttonTransforms raw table data into visual charts for quick insight into trends and performance
2Row selectionSelect multiple records for bulk operations like editing or deactivating
3Edit buttonInline record updates without leaving the view
4Activate/DeactivateQuickly change status for products, records, or items
5Filter iconNarrow down results based on specific criteria
6Command BarCentral hub for advanced actions: assign records, share links, trigger Power Automate flows
7Search boxLocate specific entries instantly across the table
8Pagination controlsNavigate smoothly across large datasets
Working with Forms — Key Anatomy
General tab
Displays fields and details for the selected record from the data source table.
Related tab
Drop-down providing quick access to associated records (audit history, feedback, reservations) without leaving the form.
Context-sensitive menu bar
Top bar with actions: deactivate, delete, refresh, process, assign, share, email link, save, and Word templates.
Flow button
Integrates Power Automate directly in the form — trigger workflows like sending notifications, updating records, or assigning tasks without leaving the interface.
Availability/ownership
Shows who owns the record and whether the item is active or reserved — supports accountability and resource planning.
Reviews section
Displays user/customer feedback, helping teams make data-informed decisions.
Lab 4 — Canvas App: Time Off & Equipment Checkout Contoso Consulting
Build a Canvas app using Copilot that manages two workflows: Employee Time Off Requests and Equipment Checkout. Uses Copilot to generate the data model, then customizes the app in Power Apps Designer.
Task 1 — Build the Data Model with Copilot
1

Generate Time Off Request table

In Power Apps, click Create and use Copilot to generate a table for time off requests (Start/End times). Specify one table only.

2

Add required columns via Copilot prompts

Add choice column "Time Off Reason," choice column "Time Off Type," date column "Submission Date," choice column "Approval Status," multi-line text column "Request Details." Remove unwanted auto-generated fields (Request Name, Reason1, duplicate columns).

3

Add User table and create relationship

Add the existing Dataverse "User" table. Create a one-to-many relationship: User (one) → Time Off Request (many). Display name: "Requesting Employee."

4

Save and open the app

Click "Save and Open" to launch the generated Canvas app in Power Apps Studio. App is built from the data model automatically.

Task 2 — Build the Equipment Checkout Screen
1

Add new screen via Copilot

Use Copilot to add a new screen called "Equipment Checkout" to the existing app. Keep the generated screen.

2

Insert Sidebar layout

Drag and drop Insert → Layout → Sidebar. This creates a two-pane layout with a list on the left and details on the right.

3

Build the left pane (Equipment List Gallery)

Rename sidebar container to "Equipment Container." Insert a vertical Gallery connected to the Equipment table. Name it "Equipment List." Set layout to Title and Subtitle. Add a horizontal "Equipment Search Container" above the gallery with: a text input (hint text: "search," name: "Equip Search Input") and a Search icon. Set heights to 44. Use Formula Bar to set the Gallery's Items property to a filter formula from the lab.

4

Build the right pane (Details Container)

Rename main container to "Details Container." Add vertical container "Record Details." Inside it, insert an Edit Form connected to Equipment table → name it "Equipment Form." Set Item property via Advanced tab. Set default mode to Edit, columns to 2. Add horizontal container "Selected Record" (height: 50) above Record Details with a text label ("selected record title") and a Save icon button (height/width: 40). Set Save icon's OnSelect to SubmitForm(Equipment Form).

5

Finalize the header

In Header Container, insert a text label "Equipment Checkout Form." Set font weight to Semi-Bold, padding to 16 all sides, height to 40, flexible width on. Add a Home icon so users can navigate back to the main screen. Set Welcome screen image OnSelect to navigate to Equipment Checkout screen.

Time Off Request Table — Fields Reference
Field nameData typeNotes
Employee NameTextPrimary key (auto-set)
Start TimeDate/TimeRequest start
End TimeDate/TimeRequest end
Time Off ReasonChoiceAdded via Copilot prompt
Time Off TypeChoiceAdded via Copilot prompt
Submission DateDateAdded via Copilot prompt
Approval StatusChoiceAdded via Copilot prompt
StatusChoiceAdded via Copilot prompt
Request DetailsMulti-line textAdded via Copilot prompt
Key Terms Flash Reference
Canvas app
Blank-canvas app with full UI control, multiple data sources, and device capabilities (GPS, camera). Best for task-specific, custom-layout solutions.
Model-driven app
Data model-driven app built on Dataverse with auto-generated responsive UI. Best for process-driven, data-centric enterprise applications.
Gallery
Control that displays multiple records from a data source in lists or grids. Customizable layout, real-time data updates.
Form modes
Three modes for forms: View (read-only), Edit (update existing record), New (create a new record).
Power Fx
Excel-like low-code language for app logic. Functions, signals (GPS), enumerators (Color.Red), and named operators (ThisItem).
AppChecker
Scans for formula errors, performance bottlenecks, and broken queries with actionable fix suggestions.
Accessibility Checker
Identifies accessibility barriers: missing screen reader support, keyboard navigation issues, color contrast problems.
Copilot control
AI assistant embedded inside an app — end users ask natural language questions and receive answers from connected data.
Security trimming
Model-driven app feature ensuring users only see data and features they are authorized to access.
Agent Builder
Creates AI-driven agents within Canvas apps using Copilot Studio. Agents use app metadata for context-aware assistance and automation.

Click to reveal answers ↓

What are the key differences between Canvas apps and model-driven apps?
Canvas apps start from a blank canvas and give full control over layout and design. They support multiple data sources (SharePoint, Excel, Dataverse) and device capabilities like GPS and camera. Best for task-specific, custom UI solutions. Model-driven apps start from a Dataverse data model and auto-generate the UI. They only use Dataverse, include built-in security trimming, and are best for process-driven, data-centric enterprise applications like CRM and ERP systems.
What are the two ways Copilot is used in Power Apps?
First, as a builder tool — makers describe the app they want (e.g., "track hotel housekeeping tasks") and Copilot generates a Dataverse table and Canvas app, which can be refined with further natural language instructions. Second, as an embedded Copilot control — end users get an intelligent assistant inside the published app they can query in natural language to get data-driven answers without navigating menus or screens.
What are the three types of layout containers and when is each used?
Auto layout — automatically positions and resizes children by stacking vertically or horizontally. Best for forms or Galleries needing fluid, responsive layouts. Manual layout — full precise control over each component's exact position. Essential for custom dashboards or fixed-position navigation bars. Flexible height — dynamically adjusts height based on content volume. Ideal for Galleries, comment sections, or data forms where item count varies.
What is the difference between AppChecker and Accessibility Checker?
AppChecker automatically scans for formula errors, performance bottlenecks (e.g., inefficient SharePoint queries), and other functionality issues — offering actionable fix suggestions to ensure the app runs smoothly. Accessibility Checker identifies barriers for users with disabilities: missing screen reader support, keyboard navigation gaps, and color contrast problems. Together they ensure apps are both technically sound and inclusive for all users.
What are the eight key features when working with views in model-driven apps?
Show Chart button (data visualizations), Row Selection (bulk edit/deactivate), Edit button (inline record updates), Activate/Deactivate buttons (status changes), Filter icon (narrow results by criteria), Command Bar (advanced actions: assign, share, trigger flows), Search box (instant record lookup), and Pagination controls (navigate large datasets).
What are the AI Builder controls available in Power Apps and what does each do?
Business Card Reader — extracts contact details from a scanned card (ideal for sales/networking). Receipt Processor — simplifies expense tracking by reading receipt data. Form Processor — streamlines data entry for structured documents. Object Detector — identifies items in an image (inventory/retail). Text Recognizer — converts printed or handwritten text into digital format (document digitization and accessibility). These require no custom code to implement.
In Lab 4, what relationship was created between tables and what were the one and many sides?
A one-to-many relationship was created between the Dataverse User table (the "one" side) and the custom Time Off Request table (the "many" side). The display name for the relationship was "Requesting Employee." This means one User can have many Time Off Requests, but each request links back to exactly one user.
What is the Agent Builder in Power Apps and what two key capabilities does it provide?
Agent Builder (via Copilot Studio) creates AI-driven agents directly within Canvas apps. The two key capabilities are: (1) Metadata and goal alignment — agents use the app's existing data sources, workflows, and interactions to behave in context with the app's purpose (e.g., an IT support agent knows how to check ticket statuses). (2) Skill extraction and integration — agents are equipped with step-by-step instructions, knowledge repositories, and event triggers derived from the app structure (e.g., an inventory agent proactively alerts about low stock and recommends reorder quantities).