Section 3 Class Notes
Section 3 Class Notes
Objec ve
In this chapter, you will master the architectural principles required to build Responsive Canvas
Apps. You will move beyond fixed-coordinate layouts to create applica ons that automa cally
adapt to various screen sizes, orienta ons, and devices (mobile, tablet, and desktop). By the
end of this chapter, you will be able to implement dynamic containers, u lize screen size
variables, and understand the "Reflow" logic essen al for professional-grade Microso Power
Apps.
Core Concepts
Responsive design in Canvas Apps ensures that the user interface (UI) "flows" into the available
space. This is cri cal for Exam AB-410 as intelligent applica ons o en need to be accessed by
field workers on mobile devices and execu ves on large dashboards.
By default, Canvas Apps are set to "Scale to fit." To build a truly responsive app, you must
disable this se ng:
Scale to fit: Stretches the app like a sta c image, o en leading to blurry UI or
le erboxing.
Responsive: Allows the app's width and height to match the actual dimensions of the
browser or device.
2. Layout Containers
Containers are the "building blocks" of responsiveness. Instead of manually se ng $X$ and $Y$
coordinates, you place controls inside containers that handle the posi oning.
Manual Containers: Allow for tradi onal absolute posi oning but within a confined,
movable area.
Flexible Width/Height: A toggle that tells a control to fill the remaining space in its
container.
Por ons: You can assign weights (e.g., a Sidebar set to "1" and a Main Content area set
to "3") to ensure the main area always takes up 75% of the screen.
The Challenge: "Contoso Logis cs" needs an app for warehouse workers (using iPhones) and
managers (using Ultra-wide monitors). The warehouse worker needs a single-column view to
scan barcodes, while the manager needs a three-column view showing maps, inventory levels,
and alerts simultaneously.
1. Architecture: The app uses a Ver cal Container as the main layout.
4. Outcome: On an iPhone, the containers stack ver cally (Single Column). On a Desktop,
they align horizontally (Three Columns), allowing the manager to see all "Intelligent
Insights" at once without scrolling.
1. Disable Scaling:
2. Add a Container:
o X: 0
o Y: 0
o Height: 75
4. Add Controls:
o Set the Label’s Flexible width to On. This pushes the User Profile image to the far
right of the screen.
5. Test:
Use the Preview mode and change the "Window size" to see the tle label expand and contract
while the user icon stays pinned to the right.
1. Which se ng must be turned OFF in the Power Apps Maker Portal to enable true
responsive design features?
A) Lock aspect ra o
B) Scale to fit
C) Enable rules
D) Dataverse Search
Explana on: "Scale to fit" forces the app to maintain a sta c ra o. Turning it off allows the
[Link] and [Link] to change dynamically based on the device's screen size.
2. A developer wants a bu on to always be 25% of the screen width. What formula should
they use for the bu on's Width property?
A) 25
B) [Link] * 0.25
C) [Link] = 4
D) Max([Link])
Correct Answer: B.
Explana on: By mul plying the [Link] (the container or screen the bu on is in) by 0.25,
the bu on will dynamically resize whenever the parent's dimensions change.
3. In a 'Ver cal Container,' what happens to the child controls if the 'Wrap' property is
disabled and the controls exceed the container's height?
Correct Answer: C.
Explana on: Without "Wrap" enabled, controls stay in their single-axis line. If they exceed the
parent's boundaries, they become inaccessible unless the container is set to "Overflow: Scroll."
Objec ve
In this chapter, you will learn how to bridge the gap between structured UI and conversa onal
AI by integra ng the Copilot Control into Canvas Apps. You will explore how to configure the
control to "ground" its responses in Dataverse tables and how to u lize the Copilot component
to allow users to ask natural language ques ons about their data. By the end of this chapter,
you will be able to transform a standard data-entry app into an "Intelligent Assistant" capable of
summarizing records and answering complex queries.
Core Concepts
The Copilot control is a pre-built Power Apps component that provides a chat-based interface.
Unlike a simple chatbot, it is context-aware and deeply integrated with the app's data source.
The control acts as a "Natural Language to Query" translator. When a user asks a ques on, the
following happens:
Intent Recogni on: The LLM determines what the user wants (e.g., "Show me late
shipments").
Data Retrieval: The control queries the linked Dataverse table using the user's security
permissions.
Response Genera on: The control summarizes the findings and presents them in a
conversa onal format.
"Grounding" is the process of limi ng the AI's knowledge to a specific set of data.
Data Source: You must select a specific Dataverse table (e.g., Invoices or Products) for
the Copilot to "watch."
Fields: You can select specific columns for the AI to include in its reasoning, ensuring it
doesn't get distracted by irrelevant metadata.
1. Environment Se ng: "Copilot" must be enabled in the Power Pla orm Admin Center.
2. Table Se ng: The "Track changes" and "Appear in search results" proper es must be
enabled on the Dataverse table.
3. App Se ng: The "Copilot component" must be enabled in the app's "Upcoming
features" or "General se ngs."
The Challenge: Sales representa ves at "Global Trade" o en have to manually filter through
5,000+ records to find which accounts have not been contacted in the last 30 days. This process
takes 15 minutes per day per rep.
1. Component: The developer adds a Copilot Control to the home screen of the Sales
Canvas App.
2. Grounding: The control is pointed at the Accounts table and the Ac vi es table.
3. Interac on: The rep simply types: "Which high-value accounts in the North region should
I call today?"
4. Outcome: The AI analyzes the Last Contact Date and Account Value fields, instantly
providing a bulleted list of 5 recommended calls, reducing a 15-minute task to 10
seconds.
This example guides you through adding a conversa onal assistant to an "Inventory
Management" app.
1. Enable the Feature: In the Power Apps Studio, go to Se ngs -> General. Find the toggle
for Copilot component and set it to On.
o Fields: Click "Edit" and select Product Name, Quan ty, Supplier, and Last Restock
Date.
5. Test the Interac on: Run the app and type: "Which products are currently below 10 units
in stock?" The control will query Dataverse and list the specific products for you.
1. What is the primary purpose of 'Grounding' the Copilot control in a specific Dataverse
table?
B) To ensure the AI only provides answers based on the specific business data relevant to
the applica on.
Correct Answer: B.
Explana on: Grounding ensures the AI doesn't give generic or "hallucinated" answers. It forces
the model to look specifically at the provided Dataverse table to find factual informa on.
2. Which table property MUST be enabled for the Copilot control to successfully retrieve and
search data?
A) Audit history
B) Track changes
D) Offline mode
Correct Answer: B.
Explana on: Dataverse Search (which Copilot relies on) requires 'Track changes' to be enabled
so that the search index stays updated with the latest record modifica ons.
3. If a user asks a Copilot control a ques on about data they do not have permission to see in
Dataverse, what will happen?
C) The Copilot will respect Dataverse security and will not include that data in its
response.
Correct Answer: C.
Explana on: Copilot controls in Power Apps are "Security Aware." They operate under the
context of the logged-in user, meaning the AI can only "see" and summarize records that the
user has permission to access via their Security Roles.
Objec ve
In this chapter, you will master the use of Power Fx, the low-code, declara ve logic language for
the Microso Power Pla orm. You will move beyond simple formulas to build "Intelligent
Components" that dynamically interact with AI models and complex datasets. By the end of this
chapter, you will be able to implement advanced data shaping, handle asynchronous AI
behaviors, and use Power Fx to "pre-process" data for be er AI grounding.
Core Concepts
Power Fx is the architectural glue that connects your UI to your data and AI services. For Exam
AB-410, understanding how to manipulate data streams using Power Fx is cri cal for building
performant, "grounded" intelligent applica ons.
Unlike tradi onal programming where you define a sequence of steps (Impera ve), Power Fx is
Declara ve.
Declara ve: You define a state (e.g., Color = If(Score > 80, Green, Red)). The system
automa cally recalculates the color whenever the score changes.
Large Language Models (LLMs) perform significantly be er when the data provided to them is
clean, relevant, and structured. Power Fx provides specialized func ons for "Shaping" data
before it is sent to a Copilot or AI model:
ShowColumns: Used to restrict the data sent to the AI to only necessary fields. This
reduces token consump on and prevents "distrac ng" the model with irrelevant
metadata (e.g., GUIDs or Modified On dates).
Concat: This is the most important func on for Retrieval-Augmented Genera on (RAG).
It allows you to fla en mul ple rows into a single string to provide the AI with a
"Summary of Context."
AI opera ons are asynchronous; there is a delay between a user's prompt and the AI's response.
Power Fx manages this "State" using:
Coalesce: Handling poten al null values if an AI fails to return a specific data point.
The Challenge: "Safe-Travel Insurance" needs an app that iden fies "High Risk" claims. An AI
model provides a "Probability of Fraud" score, but the UI must decide how to display this based
on real- me business thresholds that change daily based on management policy.
Code snippet
If(
[Link],
[Link]
This example demonstrates how to use Power Fx to bundle data from a filtered Gallery into a
single string to "ground" an AI prompt.
1. The Scenario: You have a Gallery named Gallery_Invoices. You want a "Summarize" bu on
that tells an AI to analyze only the items currently visible in that gallery (e.g., only "Overdue"
invoices).
2. The Power Fx Formula: Create a hidden label named lblAIContext and set its Text property to:
Code snippet
"Summarize these " & CountRows(Gallery_Invoices.AllItems) & " overdue invoices: " &
Concat(
Gallery_Invoices.AllItems,
CustomerName & " owes " & Text(Amount, "$#") & " due on " & Text(DueDate, "dd-mmm"),
"; "
4. The Result: The AI receives a clean, fla ened string: "Summarize these 2 overdue invoices:
Contoso owes $500 due on 01-May; Fabrikam owes $200 due on 03-May;"
A) Filter
B) Concat
C) Sum
D) LookUp
Correct Answer: B.
Explana on: The Concat func on takes a table and a formula, then joins the results into a single
string with a separator. This is the industry-standard way to prepare "Contextual Grounding" for
LLMs in Power Apps.
B) To reduce the number of tokens sent to the LLM by removing irrelevant system fields
like 'Created By' or 'Version Number.'
Correct Answer: B.
Explana on: LLMs have token limits and can be distracted by noise. ShowColumns ensures that
only the data required for reasoning is sent, improving both accuracy and cost-efficiency.
3. In a responsive intelligent app, a developer wants a label to display a warning ONLY if an AI-
generated 'Confidence Score' is below 0.75. Which Power Fx property should they use?
A) OnSelect
B) Visible
C) Items
D) DisplayMode
Correct Answer: B.
Objec ve
In this chapter, you will master the architectural principles required to build Responsive Canvas
Apps. You will move beyond fixed-coordinate layouts to create applica ons that automa cally
adapt to various screen sizes, orienta ons, and devices—from mobile handsets to ultra-wide
monitors. By the end of this chapter, you will be able to implement dynamic containers, u lize
screen size variables, and understand the "Reflow" logic essen al for professional-grade
Microso Power Apps.
Core Concepts
Responsive design in Canvas Apps ensures that the user interface (UI) "flows" into the available
space. This is cri cal for Exam AB-410 as intelligent applica ons o en need to be accessed by
field workers on mobile devices and execu ves on large dashboards.
By default, Canvas Apps are set to "Scale to fit." To build a truly responsive app, you must
disable this se ng:
Scale to fit (On): Stretches the app like a sta c image, o en leading to blurry UI or
"le erboxing" (black bars) on non-standard screens.
Scale to fit (Off): Allows the app's width and height to match the actual dimensions of
the browser or device, enabling the UI to rearrange itself.
2. Layout Containers
Containers are the primary "building blocks" of responsiveness. Instead of manually se ng $X$
and $Y$ coordinates, you place controls inside containers that handle the posi oning
automa cally.
Manual Containers: Allow for tradi onal absolute posi oning but within a confined,
movable area.
Flexible Width/Height: A toggle that tells a control to "fill" the remaining space in its
container.
Por ons: You can assign weights (e.g., a Sidebar set to "1" and a Main Content area set
to "3") to ensure the main area always takes up 75% of the screen.
Power Apps provides a built-in variable to detect the device type, which you can use to
hide/show elements or change font sizes:
The Challenge: "Contoso Logis cs" needs an app for warehouse workers (using iPhones) and
managers (using desktop monitors). The warehouse worker needs a single-column view to scan
barcodes easily, while the manager needs a three-column view showing maps, inventory levels,
and AI-driven alerts simultaneously.
Architecture: The app uses a Ver cal Container as the main layout parent.
Outcome: On an iPhone, the containers "wrap" and stack ver cally (Single Column). On
a Desktop, they align horizontally (Three Columns), allowing the manager to see all
"Intelligent Insights" at once without scrolling.
1. Disable Scaling:
2. Add a Container:
o Height: 75
4. Add Controls:
o This pushes the User Profile image to the far right of the screen automa cally.
5. Test:
Use the Preview mode (F5) and use the "Window size" handles to see the tle label
expand/contract while the profile icon stays pinned to the right.
1. Which se ng must be turned OFF in the Power Apps Maker Portal to enable true
responsive design features?
A) Lock aspect ra o
B) Scale to fit
C) Enable rules
D) Dataverse Search
Correct Answer: B.
2. A developer wants a bu on to always be exactly 25% of the screen width. What formula
should they use for the bu on's Width property?
A) 25
B) [Link] * 0.25
C) [Link] = 4
D) Max([Link])
Correct Answer: B.
Explana on: By mul plying the [Link] (the width of the container or screen the bu on is
in) by 0.25, the bu on will dynamically resize whenever the parent's dimensions change.
3. In a 'Horizontal Container,' what property allows child controls to move to a second row if
the screen becomes too narrow?
A) Gap
C) Wrap
D) Flexible width
Correct Answer: C.
Explana on: The Wrap property allows controls that exceed the container's width to "reflow" to
a new line, which is the cornerstone of moving from a horizontal desktop view to a ver cal
mobile view.
Objec ve
In this chapter, you will learn how to bridge the gap between structured user interfaces and
conversa onal AI by integra ng the Copilot Control into Canvas Apps. You will explore how to
configure the control to "ground" its responses in Dataverse tables and how to u lize the
Copilot component to allow users to ask natural language ques ons about their data. By the
end of this chapter, you will be able to transform a standard data-entry app into an "Intelligent
Assistant" capable of summarizing records and answering complex business queries.
Core Concepts
The Copilot control is a pre-built Power Apps component that provides a chat-based interface.
Unlike a general-purpose chatbot, it is context-aware and deeply integrated with the
applica on's underlying data.
The control acts as a "Natural Language to Query" (NL2SQL) translator. When a user asks a
ques on, the following happens:
Intent Recogni on: The Large Language Model (LLM) determines what the user wants
(e.g., "Show me overdue tasks").
Data Retrieval: The control queries the linked Dataverse table using the user's specific
security permissions.
Response Genera on: The control summarizes the findings and presents them in a
conversa onal format within the app.
"Grounding" is the process of limi ng the AI's knowledge to a specific, trusted set of data.
Data Source: You must select a specific Dataverse table (e.g., Invoices or Products) for
the Copilot to "watch."
Fields: You can select specific columns for the AI to include in its reasoning, ensuring it
focuses on relevant business data and ignores technical metadata.
To use the Copilot control in your applica on, three condi ons must be met:
1. Environment Se ng: "Copilot" features must be enabled in the Power Pla orm Admin
Center for the specific environment.
2. Table Se ng: The "Track changes" and "Appear in search results" proper es must be
enabled on the target Dataverse table to allow indexing.
3. App Se ng: The "Copilot component" must be enabled in the app's "Upcoming
features" or "General se ngs" within the Power Apps Studio.
The Challenge: Sales representa ves at "Global Trade" o en have to manually filter through
thousands of records to find which accounts have not been contacted in the last 30 days. This
process takes significant me and o en leads to missed opportuni es.
1. Component: The developer adds a Copilot Control to the home screen of the Sales
Canvas App.
3. Interac on: The representa ve simply types: "Which high-value accounts in the North
region should I follow up with today?"
4. Outcome: The AI analyzes the Last Contact Date and Annual Revenue fields, instantly
providing a priori zed list of five recommended calls.
This example guides you through adding a conversa onal assistant to an "Inventory
Management" applica on.
1. Enable the Feature: In the Power Apps Studio, go to Se ngs -> General. Find the toggle
for Copilot component and set it to On.
o Fields: Click "Edit" and select Product Name, Quan ty, Supplier, and Last Restock
Date.
4. Define UI Elements:
5. Test the Interac on: Run the app and type: "Which products are currently below 10 units
in stock?" The control will query Dataverse and list the specific products for you
immediately.
1. What is the primary purpose of 'Grounding' the Copilot control in a specific Dataverse
table?
B) To ensure the AI only provides answers based on the specific business data relevant to
the applica on.
Correct Answer: B.
Explana on: Grounding ensures the AI doesn't give generic or "hallucinated" answers. It forces
the model to look specifically at the provided Dataverse table to find factual informa on
relevant to the user's business context.
2. Which table property MUST be enabled for the Copilot control to successfully retrieve and
search data?
B) Track changes
C) Enable a achments
D) Offline mode
Correct Answer: B.
Explana on: Dataverse Search (which Copilot relies on for retrieval) requires 'Track changes' to
be enabled so that the search index stays updated with the latest record modifica ons in real-
me.
3. If a user asks a Copilot control a ques on about data they do not have permission to see in
Dataverse, what will happen?
B) The Copilot will automa cally grant them the necessary permissions.
C) The Copilot will respect Dataverse security and will not include that data in its
response.
Correct Answer: C.
Explana on: Copilot controls in Power Apps are "Security Aware." They operate under the
context of the logged-in user, meaning the AI can only "see" and summarize records that the
user is already authorized to access via their assigned Security Roles.
Objec ve
In this chapter, you will master the use of Power Fx, the low-code, declara ve logic language for
the Microso Power Pla orm. You will move beyond simple arithme c to build "Intelligent
Components" that dynamically interact with AI models and complex datasets. By the end of this
chapter, you will be able to implement advanced data shaping, handle asynchronous AI
behaviors, and use Power Fx to "pre-process" data for be er AI grounding.
Core Concepts
Power Fx is the architectural glue that connects your UI to your data and AI services. For Exam
AB-410, understanding how to manipulate data streams using Power Fx is cri cal for building
performant, "grounded" intelligent applica ons.
Unlike tradi onal programming where you define a sequence of steps (Impera ve), Power Fx is
Declara ve.
Declara ve: You define a state (e.g., Color = If(Score > 80, Green, Red)). The system
automa cally recalculates the color whenever the score changes.
Large Language Models (LLMs) perform significantly be er when the data provided to them is
clean, relevant, and structured. Power Fx provides specialized func ons for "Shaping" data
before it is sent to a Copilot or AI model:
ShowColumns: Used to restrict the data sent to the AI to only necessary fields. This
reduces token consump on and prevents "distrac ng" the model with irrelevant
metadata (e.g., GUIDs).
Concat: This is the most important func on for Retrieval-Augmented Genera on (RAG).
It allows you to fla en mul ple rows into a single string to provide the AI with a
"Summary of Context."
AI opera ons are asynchronous; there is a delay between a user's prompt and the AI's response.
Power Fx manages this "State" using:
Coalesce: Handling poten al null values if an AI fails to return a specific data point.
The Challenge: "Safe-Travel Insurance" needs an app that iden fies "High Risk" claims. An AI
model provides a "Probability of Fraud" score, but the UI must decide how to display this based
on real- me business thresholds that change daily based on management policy.
Code snippet
If(
[Link],
[Link]
This example demonstrates how to use Power Fx to bundle data from a filtered Gallery into a
single string to "ground" an AI prompt.
1. The Scenario: You have a Gallery named Gallery_Invoices. You want a "Summarize" bu on
that tells an AI to analyze only the items currently visible in that gallery (e.g., only "Overdue"
invoices).
2. The Power Fx Formula: Create a hidden label named lblAIContext and set its Text property to:
Code snippet
"Summarize these " & CountRows(Gallery_Invoices.AllItems) & " overdue invoices: " &
Concat(
Gallery_Invoices.AllItems,
CustomerName & " owes " & Text(Amount, "$#") & " due on " & Text(DueDate, "dd-mmm"),
"; "
3. The Result: The AI receives a clean, fla ened string: "Summarize these 2 overdue invoices:
Contoso owes $500 due on 01-May; Fabrikam owes $200 due on 03-May;"
1. Which Power Fx func on is most efficient for "fla ening" mul ple Dataverse records into a
single text block to be used as context for an AI prompt?
A) Filter
B) Concat
C) Sum
Correct Answer: B.
Explana on: The Concat func on takes a table and a formula, then joins the results into a single
string with a separator. This is the industry-standard way to prepare "Contextual Grounding" for
LLMs in Power Apps.
B) To reduce the number of tokens sent to the LLM by removing irrelevant system fields
like 'Created By.'
Correct Answer: B.
Explana on: LLMs have token limits and can be distracted by noise. ShowColumns ensures that
only the data required for reasoning is sent, improving both accuracy and cost-efficiency.
3. In a responsive intelligent app, a developer wants a label to display a warning ONLY if an AI-
generated 'Confidence Score' is below 0.75. Which Power Fx property should they use?
A) OnSelect
B) Visible
C) Items
D) DisplayMode
Correct Answer: B.
Objec ve
In this chapter, you will learn how to integrate pre-trained and custom AI models into your
Canvas Apps using AI Builder. You will explore the two primary categories of models: Text
Models (for language understanding) and Vision Models (for image analysis). By the end of this
chapter, you will be able to build applica ons that can "see" objects in the real world and
"understand" the sen ment or key informa on within wri en text.
Core Concepts
AI Builder is a turnkey solu on within the Power Pla orm that allows developers to add
intelligence to their apps without wri ng complex machine learning code.
Text models allow your applica on to process and interpret human language. Common
implementa ons include:
Sen ment Analysis: Categorizing text as Posi ve, Nega ve, or Neutral.
Key Phrase Extrac on: Iden fying the main points in a long document.
Category Classifica on: Automa cally tagging text (e.g., rou ng a support email to
"Hardware" or "Billing").
En ty Extrac on: Recognizing specific data points like dates, phone numbers, or product
names.
Vision models enable your app to interact with visual data from a camera or uploaded files.
Object Detec on: Iden fying and coun ng specific items within an image (e.g., coun ng
parts on a shelf).
Business Card Reader: A specialized model for extrac ng contact informa on from
business cards.
Pre-trained Models: Ready to use "out of the box" for generic tasks like sen ment
analysis or receipt processing.
Custom Models: Trained by you using your specific business data (e.g., training an object
detector to recognize your specific brand of machinery).
1. Vision Integra on: The developer adds an Object Detec on model trained on
Northwind’s specific valve types.
2. Text Integra on: A Text Recogni on (OCR) model is added to read the stamped serial
numbers.
3. Process: An inspector points their tablet at a crate of valves. The app instantly counts
the valves and logs each serial number into Dataverse simultaneously.
4. Outcome: Inspec on me is reduced by 90%, and data accuracy reaches near 100%.
This example demonstrates how to use the pre-trained Sen ment Analysis model to flag
nega ve reviews.
1. Insert the Model Ac on: In your Power App, go to the Data tab and add the Sen ment
Analysis (AI Builder) data source.
2. Add a Trigger: Place a Text Input control (named txtFeedback) and a Bu on.
3. Configure the Logic: Set the bu on's OnSelect property to store the AI's result in a
variable:
Code snippet
varAnalysis,
'Sen mentAnalysis'.Predict([Link])
4. Display the Result: Add a Label and set its Text property to:
Code snippet
```
```powerapps
```
---
**1. Which AI Builder model would be most appropriate for a warehouse app that needs to
iden fy and count different types of tools in a single photograph?**
* B) Object Detec on
* D) En ty Extrac on
> **Explana on:** Object Detec on is specifically designed to recognize, locate, and count
mul ple dis nct items within an image.
**2. What is the main difference between a 'Pre-trained' model and a 'Custom' model in AI
Builder?**
* B) Custom models require you to provide and label your own data for training, while pre-
trained models are ready to use immediately.
> **Explana on:** Custom models allow you to tailor the AI to your unique business needs (like
recognizing proprietary parts), whereas pre-trained models handle general tasks (like reading a
generic receipt).
**3. In a Canvas App, which func on is typically used to trigger an AI Builder model and receive
a result?**
* A) `Filter()`
* B) `SubmitForm()`
* C) `Predict()`
* D) `Navigate()`
> **Explana on:** The `.Predict()` func on is the standard method used to send data (
h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Model-Driven Apps: Strategic Use of Forms and Views
Objec ve
In this chapter, you will learn how to design high-performance user interfaces by strategically
configuring Forms and Views in Model-Driven Apps. You will move beyond basic data entry to
create "Informa on Hubs" that priori ze cri cal data for AI agents and human users. By the end
of this chapter, you will be able to implement role-based form sets, op mize views for
Dataverse Search, and understand how the "Form-First" architecture supports intelligent
automa on.
Core Concepts
Unlike Canvas Apps, which start with a blank screen, Model-Driven Apps are Metadata-Driven.
The UI is generated automa cally based on your Dataverse table structure. The two most cri cal
components of this UI are Forms (for individual records) and Views (for lists of records).
Forms are the primary interface for crea ng and edi ng records. For an "Intelligent App," the
goal is to reduce cogni ve load.
Quick Create Forms: A simplified, fly-out form for adding new records without leaving
the current screen.
Quick View Forms: Used to display read-only data from a related parent record (e.g.,
showing a customer's address while viewing an open support cket).
Views define how lists of records are displayed. They are essen al for grounding AI models.
Public Views: Standard views available to all users (e.g., "Ac ve Projects").
To support intelligent features, forms should be organized into logical Tabs and Sec ons.
Header Fields: Place high-priority metadata (like Status or Owner) in the form header so
they are visible even when the user scrolls.
Timeline Control: Essen al for AI agents to "read" the history of notes, emails, and
ac vi es related to a record.
The Challenge: "City Health" manages 10,000 pa ent records. Doctors are overwhelmed by
"data clu er" on forms, o en missing cri cal allergy informa on hidden at the bo om of the
page.
1. Form Op miza on: The developer creates a specialized Main Form for Doctors.
2. Header Strategy: "Primary Allergy" and "Blood Type" are moved into the Form Header.
3. View Strategy: A new Public View named "Pa ents with Cri cal Alerts" is created, using
a filter to only show records where the "Urgency" field is set to High.
4. AI Impact: By placing the Timeline control front-and-center, a Copilot agent can instantly
summarize the last three doctor consulta ons, providing a "Pa ent Briefing" in seconds.
This example guides you through crea ng a simplified form for logging "New Leads" instantly.
1. Enable Quick Create: Navigate to your Table (e.g., Lead) -> Proper es. Under the
Advanced op ons, check "Enable quick create forms." Save and Publish.
2. Design the Form: Go to the Forms tab -> New Form -> Quick Create Form.
3. Add to the App: Open your App Designer. Ensure the Lead table and the new Quick
Create Form are included in the app defini on.
4. Verifica on (User Experience): In the live app, click the "+" icon in the global naviga on
bar. Select "Lead." Your simplified form should slide out from the right, allowing for
"Zero-Fric on" data entry.
1. Which type of form is specifically designed to allow users to quickly add a new record
without naviga ng away from their current page?
A) Main Form
B) Card Form
Correct Answer: C.
Explana on: Quick Create forms are purpose-built for fast data entry via a side-panel, keeping
the user in their current work context.
2. A developer wants to make sure an AI agent can search for records based on a custom 'Part
Number' field. Where must they add this field for it to be indexed by Dataverse Search?
C) In a Business Rule.
Correct Answer: B.
Explana on: Dataverse Search (and the AI features that rely on it) uses the 'Find Columns'
defined in the Quick Find View to determine which data points are indexed for search.
B) Main Forms allow for data edi ng, while Quick View Forms are read-only and display
data from a related record.
C) Quick View Forms are faster to load but cannot show text.
D) There is no difference.
Correct Answer: B.
Explana on: Quick View forms are a "window" into a related record (like seeing a Parent
Account's phone number while looking at a Contact). They are strictly read-only.
In this chapter, you will learn how to design and implement Intelligent Dashboards that serve
as the command center for Model-Driven Applications. You will explore the integration of real-
time Dataverse charts, Power BI visualizations, and AI-driven insights. By the end of this
chapter, you will be able to create data-rich environments that allow users and AI agents to
identify trends, monitor KPIs, and move from "Data Observation" to "Actionable Intelligence."
Core Concepts
Dashboards in Model-Driven apps aggregate data from across the system into a single, high-
impact view. To be truly "Intelligent," a dashboard must do more than show history; it must
provide context for future decisions.
System Dashboards: Created by administrators and available to all users within the app.
These are the "Official Truth" for the organization.
Personal Dashboards: Created by individual users to track their specific tasks and KPIs.
One of the most powerful features of native dashboards is the ability to Drill-Down. A user can
click on a "Sales by Region" chart, select "North Region," and the dashboard will instantly filter
the underlying list to show only the records contributing to that specific chart segment. This
h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
provides the "Grounding" needed for an AI agent to explain why a number is trending in a certain
direction.
The Challenge: "Contoso Global" struggles with warehouse bottlenecks. Managers often don't
realize a loading dock is over-capacity until trucks are already backed up onto the highway.
1. Metric Integration: A dashboard is built combining native Dataverse charts and a Power
BI report.
3. Visualization: A "Heat Map" chart is added to the dashboard, showing "Dock Occupancy
vs. Capacity."
4. Actionable Intelligence: When the AI predicts three ships arriving simultaneously, the
dashboard highlights the "Dock 4" segment in Red. The manager clicks the segment and
instantly sees the specific shipment records to re-route them to an emptier dock.
2. Open the Dashboard Designer: In the Solution, go to Dashboards -> New ->
Dashboard. Choose a 3-column layout.
o Select the Project table and the "Project Budget by Status" chart you just created.
h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
4. Add a List (View):
o In the tile next to the chart, click the List icon.
5. Publish: Save and Publish all customizations. Now, when a user clicks a bar in the
chart, the list next to it will automatically filter to show those specific projects.
1. What is the primary benefit of using a 'System Dashboard' over a 'Personal Dashboard'?
B) System Dashboards are available to all users and ensure everyone is looking at the
same standardized KPIs.
Explanation: System Dashboards provide organizational alignment by ensuring all users have
access to the same "Source of Truth" configurations.
2. Which dashboard component would you use if you need to analyze trends across millions
of historical records stored outside of Dataverse?
A) Native Dataverse Chart
B) Power BI Embedded
D) Timeline Control
Correct Answer: B.
Explanation: Power BI is designed for heavy-duty data analysis and can connect to various
external data sources, whereas native charts are best for real-time Dataverse record visualization.
3. In a 'Drill-Down' scenario, what happens when a user clicks on a specific slice of a pie
chart in a dashboard?
Correct Answer: C.
Explanation: Drill-down is a core navigational feature that allows users to move from high-level
summaries to the specific "grounded" records that make up the data point.
Objec ve
In this chapter, you will learn to modernize the user experience of Model-Driven Apps by
customizing the Command Bar. You will move beyond sta c bu ons to create dynamic,
"Intelligent Ac ons" using Power Fx. By the end of this chapter, you will be able to implement
condi onal visibility logic, trigger complex formulas directly from a record, and understand how
command bar ac ons can be used to bridge the gap between user intent and automated AI
workflows.
Core Concepts
The Command Bar (formerly known as the Ribbon) is the primary loca on for global and record-
specific ac ons. Customizing it with Power Fx allows developers to use the same Excel-like
language used in Canvas Apps to drive Model-Driven logic.
Main Grid: Ac ons that apply to a list of records (e.g., "Bulk Approve").
Main Form: Ac ons that apply to the specific record currently being viewed (e.g.,
"Calculate Risk").
Subgrid View: Ac ons available when viewing related records within a parent form.
Associated View: Ac ons for records navigated to via the related menu.
Tradi onally, command bar customiza on required complex JavaScript and XML. With Power Fx,
you can now:
Ac on Logic: Define what happens when the bu on is clicked (e.g., upda ng a field,
naviga ng to a screen, or calling an AI model).
Visibility Logic: Define when a bu on should appear based on data (e.g., only show
"Approve" if Status = Pending).
When a command is triggered, it has access to the [Link]. This is the "Grounding"
mechanism that tells the Power Fx formula exactly which record is being acted upon, allowing
for precise, record-level automa on.
The Challenge: Sales managers at "Apex Corp" spend too much me reading long interac on
histories in the Timeline. They want a bu on on the Lead form that instantly summarizes the
last 5 ac vi es using AI.
1. Command Crea on: A new bu on labeled "AI Summary" is added to the Main Form of
the Lead table.
2. Visibility Logic: The bu on is set to only appear if the Lead has more than 3 associated
ac vi es.
3. Ac on Logic: When clicked, the bu on triggers a Power Fx formula that collects the
ac vi es, sends them to an AI Builder model, and updates a "Execu ve Summary" field
on the Lead record.
4. Outcome: Managers get an instant briefing without leaving the form, saving
approximately 10 minutes per lead.
This example demonstrates how to create a bu on that toggles a record's priority and refreshes
the UI instantly.
1. Open the Command Designer: In the App Designer, select your Table (e.g., Case) -> Click
the "..." next to the table name -> Edit command bar. Select the Main form.
Code snippet
(This ensures the bu on only shows if the case is not already high priority).
4. Define Ac on (Power Fx): In the "Ac on" dropdown, select Run formula.
Code snippet
```
5. **Publish:**
Save and Publish. In your app, opening a low-priority case will now show the bu on. Clicking
it updates the Dataverse record and shows a success banner immediately.
---
**1. Which Power Fx property is used to access the data of the specific record currently being
viewed in a Model-Driven Form?**
* A) User().Email
* B) [Link]
* C) First(Accounts)
* D) [Link]
> **Explana on:** `[Link]` provides the execu on context for the specific record
selected in a grid or opened in a form, allowing the formula to act on that specific data point.
* A) In a Business Rule.
* C) In a Power BI dashboard.
> **Explana on:** Command bar customiza on allows for "Condi onal Visibility." By wri ng a
Power Fx formula in the visibility property, the bu on dynamically appears or disappears based
on the record's current data.
**3. What is the primary benefit of using Power Fx for Command Bar customiza on instead of
the tradi onal Ribbon Workbench (JavaScript/XML)?**
* B) It allows developers to use a familiar, low-code language that is easier to maintain and
faster to implement than custom code.
> **Explana on:** Power Fx democra zes command bar customiza on, allowing app creators
Objec ve
In this chapter, you will master the implementa on of Custom Pages, the architectural bridge
that enables Converged Apps. You will learn how to embed the pixel-perfect flexibility of Canvas
Apps directly within the data-driven framework of Model-Driven Apps. By the end of this
chapter, you will be able to design seamless user journeys that combine structured Dataverse
forms with highly specialized, intelligent UI components.
Core Concepts
Custom Pages represent the "Converged" future of the Power Pla orm. They allow developers
to use the Canvas designer to create specific screens—such as complex dashboards, AI wizards,
or specialized data entry tools—and host them inside a Model-Driven App.
In a converged app, the Model-Driven shell provides the naviga on, security, and global search,
while the Custom Page provides a dedicated workspace for specialized tasks.
Model-Driven Shell: Handles the Sitemap, Command Bar, and standard CRUD
opera ons.
Custom Page: A standalone canvas-based screen that lives inside the Model-Driven
infrastructure.
To be effec ve, a Custom Page must communicate with the Model-Driven App. This is achieved
using the App Object and specific Power Fx func ons:
Param(): Used to retrieve record IDs (GUIDs) passed from the Model-Driven form to the
Custom Page.
Navigate(): Allows the user to move from the Custom Page back to a specific record or
view in the Model-Driven App.
Mul -Table Inputs: A single screen that updates data across five different Dataverse
tables simultaneously.
The Challenge: Insurance adjusters at "Safe-Harbor" use a Model-Driven app to manage claims.
However, comparing "Before" and "A er" photos of property damage is difficult in standard
forms. They need a specialized comparison tool that can also run an AI damage assessment.
1. Integra on: A Custom Page is created to act as the "Image Analysis Center."
2. Naviga on: A bu on on the standard Claim form opens the Custom Page, passing the
ClaimID.
3. Intelligence: The Custom Page uses a Canvas-based Image Gallery to show photos side-
by-side and triggers an AI Builder Object Detec on model to highlight structural cracks.
4. Convergence: Once the analysis is done, the adjuster clicks "Save," and the Custom Page
updates the Model-Driven record and closes itself, returning the user to the main form.
This example shows how to trigger a Custom Page to appear as a pop-up dialog within a Model-
Driven App.
1. Create the Custom Page: In your Solu on, go to New -> App -> Page. Design your
Canvas-based UI (e.g., a "Feedback Collector"). Save and Publish as pg_Feedback.
2. Add the Page to the App: Open the App Designer for your Model-Driven App. Go to
Pages -> Add -> Custom Page. Select pg_Feedback.
3. Trigger with Power Fx (Command Bar): Edit the Command Bar of your target table (e.g.,
Account). Add a new bu on "Give Feedback" and set the Ac on to Run formula:
Navigate(
pg_Feedback,
4. Verifica on: In the live app, click the bu on. The Custom Page will slide over the current
record as a centered dialog, providing a "Pixel-Perfect" experience without naviga ng
away from the Account.
Correct Answer: B.
Explana on: Custom Pages provide the "Canvas" flexibility needed for specialized tasks while
staying within the secure and scalable Model-Driven environment.
2. Which Power Fx func on is used within a Custom Page to retrieve a record ID passed from a
Model-Driven form?
A) LookUp()
B) Filter()
h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
C) Param()
D) Set()
Correct Answer: C.
Explana on: The Param("recordId") func on is used to capture context (like the GUID of the
current record) sent by the Model-Driven app to the Custom Page.
3. In a converged app experience, where do you add a Custom Page so that it can be navigated
to via the app's sidebar?
B) In the Model-Driven App Designer under the 'Naviga on' or 'Sitemap' sec on.
Correct Answer: B.
Explana on: Just like tables and dashboards, Custom Pages must be added to the app's
sitemap/naviga on within the App Designer to be visible in the sidebar.
Objec ve
In this chapter, you will learn how to unlock the full poten al of mobile hardware within
Microso Power Apps. You will explore how to integrate GPS Loca on, Camera controls, and
Barcode scanning to build "Intelligent Field Applica ons." By the end of this chapter, you will be
able to design apps that capture high-quality real-world data, enabling AI models to process
geographic, visual, and logis cal informa on in real- me.
Core Concepts
Mobile-first intelligent applica ons rely on the "Sensor Layer" of the device. In the Power
Pla orm, these are surfaced as na ve controls or signals that can be used directly in Power Fx
formulas.
A ributes: Loca [Link] tude, Loca [Link], and Loca [Link] tude.
Resolu on & Quality: You can adjust the StreamRate to capture a sequence of images
for real- me analysis.
AI Use Case: Capturing an image of a broken part and sending it to an AI Builder Object
Detec on model for instant iden fica on.
The Barcode Reader control uses the device’s camera to decode various formats (UPC, QR
Codes, Data Matrix).
Architecture: The control returns a Value (the decoded text) and a Type (the format of
the barcode).
The Challenge: "Urban-Maintenance Co" manages 500 city parks. Inspectors o en waste me
looking for the correct asset (like a specific irriga on valve) and then manually typing in serial
numbers, leading to frequent data entry errors.
1. GPS Grounding: The app uses Loca [Link] tude to automa cally filter the Dataverse
"Assets" list to show only items within 50 meters of the inspector.
2. Visual Verifica on: The inspector uses the Camera control to take a photo of the asset.
An AI Builder Category Classifica on model confirms if it is the correct valve type.
3. Barcode Sync: The inspector scans the asset's QR code. The app instantly pulls the
maintenance history from Dataverse and populates a "Repair Log."
4. Outcome: Error rates dropped by 95%, and the average inspec on me was cut by 20
minutes per site.
This example shows how to use the Barcode Reader to find a specific record in Dataverse.
1. Insert the Control: In the Canvas designer, go to Insert -> Media -> Barcode reader.
Rename it brInventory.
2. Define the Ac on (OnScan): Set the OnScan property to look up the product and store it
in a variable.
Code snippet
Set(
varScannedProduct,
LookUp(
SKU_Code = First([Link]).Value
Code snippet
```
```powerapps
Collect(colPhotos, [Link])
```
5. **Test on Mobile:**
Publish the app and open it on the **Power Apps Mobile Player**. Point the camera at a
barcode. The app will decode the value, find the Dataverse record, and allow you to take a
corrobora ng photo.
---
* A) [Link]
* C) [Link] on
* D) [Link]
> **Explana on:** The `Loca on` signal provides the `La tude` and `Longitude` of the device.
This is essen al for building loca on-aware intelligent applica ons.
**2. A developer wants to ensure an AI model only processes images of a high enough quality.
Which property of the Camera control allows them to adjust the image resolu on?**
* A) StreamRate
* B) Zoom
* C) Contrast
* D) Resolu on
> **Explana on:** The `Resolu on` property (along with `ImageQuality`) allows the developer
to balance the file size and the clarity of the image being sent to AI Builder.
**3. What is the primary benefit of using a 'Barcode Reader' control for an AI-First
applica on?**
* B) it provides a 100% accurate, unique iden fier that "grounds" the AI's search in a specific
record, elimina ng the need for the user to type.
h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
* C) It allows the app to work without a ba ery.
> **Explana on:** Barcode scanning is a high-fidelity input method. By elimina ng manua
Objec ve
In this chapter, you will synthesize your knowledge of Canvas Apps, responsive design, and
na ve device capabili es to build a high-performance "Field Service Agent" interface. You will
learn how to design a front-end that facilitates "Grounding" for AI models by capturing high-
fidelity field data (GPS, photos, and barcodes). By the end of this chapter, you will be able to
construct a mul -screen experience that serves as a seamless bridge between a physical job site
and a digital AI orchestrator.
Core Concepts
A "Field Service Agent" app is more than a digital form; it is a Data Capture Node. In the AB-410
framework, the front-end must be designed to reduce the "Signal-to-Noise Ra o" for AI
processing.
Step 1: Contextual Awareness: Use GPS to iden fy the asset automa cally.
Step 2: Intelligent Observa on: Use the camera and AI Builder to iden fy issues.
Step 3: Verifica on: Use barcode scanning to confirm the resolu on.
Because field workers o en face poor connec vity, the front-end must handle data gracefully:
Local Collec ons: Store captured photos and scans in a local collec on (Collect()) before
pushing them to Dataverse.
Visual Feedback: Use loading indicators and success no fica ons (No fy()) to confirm AI
processing status.
[Link] provides the raw visual data for the AI Builder Object Detec on model.
The Challenge: "Solar-Tech Solu ons" has 50,000 solar panels spread across desert regions.
Technicians o en struggle to iden fy specific panel models and their corresponding wiring
diagrams. Incorrect repairs lead to a 15% rework rate.
1. Dashboard: A responsive dashboard shows the technician's "Route for the Day" using a
Map component.
2. Asset Iden fica on: Upon arrival, the app uses GPS Geofencing to unlock the "Repair
Module" only when the tech is within 10 meters of the faulty panel.
3. AI Vision: The tech takes a photo of the panel's inverter. The app sends the photo to an
AI Builder Model which iden fies the specific hardware version and instantly surface the
correct PDF repair guide.
4. Verifica on: A er the repair, the tech scans a QR code on the new part to update the
Dataverse inventory.
5. Outcome: Rework rates dropped to 2%, and technicians reported significantly higher
confidence in their repairs.
This example walks through building the core func onal screen of the Field Service Agent app.
Code snippet
"Current Loca on: " & Loca [Link] tude & ", " & Loca [Link]
Code snippet
UpdateContext({varProcessing: true});
UpdateContext({varProcessing: false})
```
```powerapps
Patch(
'Service Tickets',
varCurrentTicket,
```
Run the app in the **Power Apps Mobile** player. Move to a loca on, capture an image, let the
AI iden fy the part, and scan a barcode to close the cket.
---
**1. Why is the 'Loca on' signal considered a 'Grounding' mechanism in a Field Service Agent
app?**
* B) It provides the AI orchestrator with geographic coordinates that narrow down the search
for relevant assets in the Dataverse "Knowledge Forest."
> **Explana on:** By providing GPS data, the app "grounds" the interac on, allowing the AI to
filter thousands of possible assets down to only those physically near the technician.
**2. Which Power Fx func on should be used to display a spinner while an AI Builder model is
processing an image taken by the camera?**
* A) Navigate()
* D) Filter()
> **Explana on:** Asynchronous opera ons like AI processing require visual feedback. Using
`UpdateContext` to toggle a variable like `varLoading` allows you to show/hide a loading spinner
while the AI works in the background.
**3. In a responsive 'Field Service' app, what happens if the 'Flexible Height' property is enabled
on a Gallery inside a Ver cal Container?**
* B) The gallery will expand to fill all remaining ver cal space in the container, regardless of the
device's screen size.
> **Explana on:** Flexible sizing is the cornerstone of responsive design. It ensur