0% found this document useful (0 votes)
1 views55 pages

Section 3 Class Notes

This document covers the principles of responsive design for Canvas Apps, emphasizing the need for dynamic layouts that adapt to various devices and screen sizes. It details the use of layout containers, scaling options, and the implementation of responsive components, along with practical examples and case studies. Additionally, it introduces the integration of Copilot Control for natural language interaction and advanced logic using Power Fx for intelligent components.

Uploaded by

gimit.sachin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1 views55 pages

Section 3 Class Notes

This document covers the principles of responsive design for Canvas Apps, emphasizing the need for dynamic layouts that adapt to various devices and screen sizes. It details the use of layout containers, scaling options, and the implementation of responsive components, along with practical examples and case studies. Additionally, it introduces the integration of Copilot Control for natural language interaction and advanced logic using Power Fx for intelligent components.

Uploaded by

gimit.sachin
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter: Canvas Apps: Principles of Responsive Design

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.

1. The Scaling Toggle

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.

 Horizontal Containers: Align items side-by-side.

 Ver cal Containers: Stack items on top of each other.

 Manual Containers: Allow for tradi onal absolute posi oning but within a confined,
movable area.

3. Propor onal Sizing and "Fill"

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
In a responsive layout, you rarely use fixed widths (e.g., 400px). Instead, you use:

 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.

4. The [Link] Variable

Power Apps provides a built-in variable to detect the device type:

 Size 1: Mobile (Portrait)

 Size 2: Mobile (Landscape) / Small Tablet

 Size 3: Tablet / Small Laptop

 Size 4: Large Desktop

Prac cal Case Study: The "Field-to-Office" Inventory App

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.

The Solu on Design:

1. Architecture: The app uses a Ver cal Container as the main layout.

2. Logic: The Wrap property is enabled on the internal containers.

3. Responsive Trigger: The app's OnStart logic checks the [Link].

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.

Step-by-Step Example: Implemen ng a Responsive Header

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
This example shows how to create a header that spans 100% of the width, regardless of the
device.

1. Disable Scaling:

Go to Se ngs -> Display. Turn Off "Scale to fit." Click Apply.

2. Add a Container:

Insert a Horizontal Container from the Layout menu. Rename it conHeader.

3. Configure Container Dimensions:

o X: 0

o Y: 0

o Width: [Link] (This is the "Golden Rule" of responsiveness).

o Height: 75

4. Add Controls:

Insert a Label (App Title) and an Image (User Profile).

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.

Knowledge Check: Mul ple Choice Ques ons

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

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Correct Answer: B.

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?

 A) They move to a new column.

 B) They are automa cally deleted.

 C) They are hidden or cut off (unless a scrollbar is enabled).

 D) They shrink to 1 pixel.

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."

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Integra ng Copilot Control for Natural Language Interac on

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.

1. How the Copilot Control Func ons

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.

2. Grounding and Data Selec on

"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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Prerequisites for Integra on

To use the Copilot control, three condi ons must be met:

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."

Prac cal Case Study: The "Smart" Sales Dashboard

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.

The Solu on Design:

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.

Step-by-Step Example: Adding a Copilot Control to your App

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
2. Insert the Control: Go to the Insert pane, search for "Copilot," and drag the control onto
your screen.

3. Configure Data Source: In the proper es pane on the right:

o Data source: Select your Warehouse_Inventory table.

o Fields: Click "Edit" and select Product Name, Quan ty, Supplier, and Last Restock
Date.

4. Define the Title and Placeholder:

o Title: "Inventory Assistant"

o Descrip on: "Ask me about stock levels or supplier details."

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.

Knowledge Check: Mul ple Choice Ques ons

1. What is the primary purpose of 'Grounding' the Copilot control in a specific Dataverse
table?

 A) To make the app background look be er.

 B) To ensure the AI only provides answers based on the specific business data relevant to
the applica on.

 C) To speed up the internet connec on of the mobile device.

 D) To translate the app into different languages.

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

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 C) Enable a achments

 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?

 A) The Copilot will show the data anyway.

 B) The Copilot will automa cally grant them permission.

 C) The Copilot will respect Dataverse security and will not include that data in its
response.

 D) The app will crash immediately.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Power Fx: Advanced Logic for Intelligent Components

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.

1. Declara ve vs. Impera ve Logic

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.

 AI Context: This is vital when working with AI outputs. If an AI model updates a


"Sen ment" field in Dataverse, your Power Fx-driven UI updates instantly without
requiring a page refresh.

2. Advanced Data Shaping for AI Grounding

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).

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 AddColumns: Used to provide the AI with "pre-computed" context. Instead of asking the
AI to calculate a total, you provide the calculated total using Power Fx.

 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."

3. Handling AI State and Asynchronous Logic

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:

 Boolean Variables: Using UpdateContext({varIsProcessing: true}) to trigger loading


spinners.

 Coalesce: Handling poten al null values if an AI fails to return a specific data point.

Prac cal Case Study: Dynamic Risk Assessment UI

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.

The Solu on Design:

1. Variable-Driven Threshold: The business stores a ThresholdValue in a Dataverse


configura on table.

2. Power Fx Logic: A "Status Indicator" icon's Color property is set using:

Code snippet

If(

Value(AI_Score_Label.Text) > ThresholdValue,

[Link],

[Link]

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Outcome: The UI adapts instantly. If a manager updates the threshold from 70% to 85%
in the backend, all claim indicators in the app re-evaluate immediately, ensuring the AI
insights are always aligned with current policy.

Step-by-Step Example: Building a "Contextual Feed" for AI

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 Logic Flow:

 Concat iterates through the items.

 It formats each row into a readable sentence.

 It joins them with a semicolon.

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;"

Knowledge Check: Mul ple Choice Ques ons

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
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

 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.

2. Why should a developer use 'ShowColumns' before passing a collec on to an AI


component?

 A) To make the text appear in bold.

 B) To reduce the number of tokens sent to the LLM by removing irrelevant system fields
like 'Created By' or 'Version Number.'

 C) To translate the data into a different language.

 D) To increase the security of the local device.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Explana on: The Visible property accepts a Boolean (True/False). By se ng it to
Value(AI_Score.Text) < 0.75, the label will automa cally appear or disappear based on the AI's
output logic.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Canvas Apps: Principles of Responsive Design

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.

1. The Scaling Toggle

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.

 Horizontal Containers: Align items side-by-side.

 Ver cal Containers: Stack items on top of each other.

 Manual Containers: Allow for tradi onal absolute posi oning but within a confined,
movable area.

3. Propor onal Sizing and "Fill"

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
In a responsive layout, you rarely use fixed widths (e.g., 400px). Instead, you use:

 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.

4. The [Link] Variable

Power Apps provides a built-in variable to detect the device type, which you can use to
hide/show elements or change font sizes:

 Size 1: Mobile (Portrait)

 Size 2: Mobile (Landscape) / Small Tablet

 Size 3: Tablet / Small Laptop

 Size 4: Large Desktop

Prac cal Case Study: The "Field-to-Office" Inventory App

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.

The Solu on Design:

 Architecture: The app uses a Ver cal Container as the main layout parent.

 Logic: The Wrap property is enabled on the internal containers.

 Responsive Trigger: The app's Width property is set to [Link].

 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.

Step-by-Step Example: Implemen ng a Responsive Header

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
This example shows how to create a header that spans 100% of the width, regardless of the
device.

1. Disable Scaling:

Go to Se ngs -> Display. Turn Off "Scale to fit." Click Apply.

2. Add a Container:

Insert a Horizontal Container from the Layout menu. Rename it conHeader.

3. Configure Container Dimensions:

o Width: [Link] (The "Golden Rule" of responsiveness).

o Height: 75

4. Add Controls:

Insert a Label (App Title) and an Image (User Profile).

o Select the Label and set Flexible width to On.

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.

Knowledge Check: Mul ple Choice Ques ons

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Explana on: "Scale to fit" forces the app to maintain a sta c ra o like a picture. 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 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

 B) Align (Ver cal)

 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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Integra ng Copilot Control for Natural Language Interac on

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.

1. How the Copilot Control Func ons

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.

2. Grounding and Data Selec on

"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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Prerequisites for Integra on

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.

Prac cal Case Study: The "Smart" Sales Dashboard

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.

The Solu on Design:

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 and Ac vi es tables.

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.

Step-by-Step Example: Adding a Copilot Control to your App

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
2. Insert the Control: Go to the Insert pane, search for "Copilot," and drag the control onto
your screen layout.

3. Configure Data Source: In the proper es pane on the right:

o Data source: Select your Warehouse_Inventory table.

o Fields: Click "Edit" and select Product Name, Quan ty, Supplier, and Last Restock
Date.

4. Define UI Elements:

o Title: "Inventory Assistant"

o Descrip on: "Ask me about stock levels or supplier details."

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.

Knowledge Check: Mul ple Choice Ques ons

1. What is the primary purpose of 'Grounding' the Copilot control in a specific Dataverse
table?

 A) To make the app background visually appealing.

 B) To ensure the AI only provides answers based on the specific business data relevant to
the applica on.

 C) To speed up the internet connec on of the mobile device.

 D) To translate the app into different languages automa cally.

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?

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 A) Audit history

 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?

 A) The Copilot will show the data regardless of permissions.

 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.

 D) The app will display a system error and crash.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Power Fx: Advanced Logic for Intelligent Components

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.

1. Declara ve vs. Impera ve Logic

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.

 AI Context: This is vital when working with AI outputs. If an AI model updates a


"Sen ment" field in Dataverse, your Power Fx-driven UI updates instantly without
requiring a page refresh.

2. Advanced Data Shaping for AI Grounding

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).

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 AddColumns: Used to provide the AI with "pre-computed" context. Instead of asking the
AI to calculate a total, you provide the calculated total using Power Fx.

 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."

3. Handling AI State and Asynchronous Logic

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:

 Boolean Variables: Using UpdateContext({varIsProcessing: true}) to trigger loading


spinners.

 Coalesce: Handling poten al null values if an AI fails to return a specific data point.

Prac cal Case Study: Dynamic Risk Assessment UI

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.

The Solu on Design:

1. Variable-Driven Threshold: The business stores a ThresholdValue in a Dataverse


configura on table.

2. Power Fx Logic: A "Status Indicator" icon's Color property is set using:

Code snippet

If(

Value(AI_Score_Label.Text) > ThresholdValue,

[Link],

[Link]

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Outcome: The UI adapts instantly. If a manager updates the threshold from 70% to 85%
in the backend, all claim indicators in the app re-evaluate immediately, ensuring the AI
insights are always aligned with current policy.

Step-by-Step Example: Building a "Contextual Feed" for AI

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;"

Knowledge Check: Mul ple Choice Ques ons

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

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 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.

2. Why should a developer use 'ShowColumns' before passing a collec on to an AI


component?

 A) To make the text appear in bold.

 B) To reduce the number of tokens sent to the LLM by removing irrelevant system fields
like 'Created By.'

 C) To translate the data into a different language.

 D) To increase the security of the local device.

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.

Explana on: The Visible property accepts a Boolean (True/False). By se ng it to


Value(AI_Score.Text) < 0.75, the label will automa cally appear or disappear based on the AI's
output logic.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Using AI Builder in Canvas Apps: Text and Vision Models

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.

1. Text Models: Understanding Language

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.

2. Vision Models: Seeing the World

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).

 Text Recogni on (OCR): Extrac ng printed or handwri en text from photos.

 Business Card Reader: A specialized model for extrac ng contact informa on from
business cards.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Pre-trained vs. Custom Models

 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).

Prac cal Case Study: Automated Quality Control

The Challenge: "Northwind Manufacturing" produces custom engine valves. Inspectors


currently spend 4 hours a day manually checking valves for serial numbers and coun ng them
for inventory reports, which is prone to human error.

The Solu on Design:

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%.

Step-by-Step Example: Adding Sen ment Analysis to a Feedback App

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

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Set(

varAnalysis,

'Sen mentAnalysis'.Predict([Link])

4. Display the Result: Add a Label and set its Text property to:

Code snippet

"The customer feels: " & [Link] ment

```

5. **Condi onal Forma ng:**

Set the label's `Color` property to:

```powerapps

If([Link] ment = "nega ve", [Link], [Link])

```

---

### Knowledge Check: Mul ple Choice Ques ons

**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?**

* A) Sen ment Analysis

* B) Object Detec on

* C) Key Phrase Extrac on

* D) En ty Extrac on

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
> **Correct Answer: B.**

> **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?**

* A) Pre-trained models are more expensive.

* B) Custom models require you to provide and label your own data for training, while pre-
trained models are ready to use immediately.

* C) Pre-trained models only work in English.

* D) Custom models cannot be used in Canvas Apps.

> **Correct Answer: B.**

> **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()`

> **Correct Answer: C.**

> **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).

1. Strategic Form Design

Forms are the primary interface for crea ng and edi ng records. For an "Intelligent App," the
goal is to reduce cogni ve load.

 Main Forms: The primary interface for record interac on.

 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).

2. Views: The Gateway to Data

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").

 Personal Views: Created by users for their specific needs.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 Find Columns vs. View Columns: For Exam AB-410, remember that "Find Columns"
(defined in the Quick Find View) are what Dataverse Search indexes to provide AI-driven
search results.

3. The "AI-Ready" UI Pa ern

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.

Prac cal Case Study: The "Priority One" Healthcare Portal

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.

The Solu on Design:

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.

Step-by-Step Example: Crea ng a High-Conversion Quick Create Form

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
o Add only 4-5 essen al fields: Topic, First Name, Last Name, Email.

o Keep it to a single sec on to ensure it fits on the side panel.

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.

Knowledge Check: Mul ple Choice Ques ons

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

 C) Quick Create Form

 D) Quick View 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?

 A) As a Header field on the Main Form.

 B) In the 'Find Columns' of the table's Quick Find View.

 C) In a Business Rule.

 D) In a Power Automate flow.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. What is the primary architectural difference between a 'Main Form' and a 'Quick View
Form'?

 A) Main Forms are only for mobile devices.

 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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Building Intelligent Dashboards within Model-Driven Apps
Objective

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.

1. System Dashboards vs. Personal Dashboards

 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.

2. Components of an Intelligent Dashboard

A modern dashboard utilizes several distinct components to provide a 360-degree view:


 Charts: Native Dataverse visualizations (Bar, Pie, Line) that offer real-time drill-down
capabilities.

 Lists (Views): Real-time streams of records (e.g., "High Priority Cases").


 Power BI Embedded: Advanced analytical reports that can process millions of rows and
offer cross-filtering.
 AI Insights: Visualizations from AI Builder (e.g., a chart showing "Predicted Late
Shipments").
3. The "Drill-Down" Architecture

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.

Practical Case Study: The "Predictive" Supply Chain Command Center

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.

The Solution Design:

1. Metric Integration: A dashboard is built combining native Dataverse charts and a Power
BI report.

2. AI Layer: An AI Builder Prediction model calculates the "Estimated Arrival Time" of


incoming shipments.

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.

Step-by-Step Example: Adding a Real-Time Chart to a Dashboard


This example demonstrates how to create a visualization of "Project Status" and add it to a
System Dashboard.
1. Create the Chart: Navigate to your Table (e.g., Project) -> Charts -> New.

o Legend Entries (Series): Select Budget.

o Horizontal (Category) Axis: Select Status.

o Save as "Project Budget by Status."

2. Open the Dashboard Designer: In the Solution, go to Dashboards -> New ->
Dashboard. Choose a 3-column layout.

3. Insert the Component:

o Select a tile and click the Chart icon.

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.

o Select the Project table and the "Active Projects" view.

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.

Knowledge Check: Multiple Choice Questions

1. What is the primary benefit of using a 'System Dashboard' over a 'Personal Dashboard'?

 A) System Dashboards are faster.

 B) System Dashboards are available to all users and ensure everyone is looking at the
same standardized KPIs.

 C) Personal Dashboards cannot include charts.

 D) System Dashboards are only for mobile devices.


Correct Answer: B.

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

 C) Quick View Form

 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?

 A) The dashboard closes.


h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-
applica ons/?referralCode=857964209E5CBDF3B947
 B) The app deletes the data in that slice.
 C) The associated list/view on the dashboard filters to display the specific records
represented by that slice.
 D) The chart changes into a text document.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Command Bar Customiza on with Power Fx

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.

1. Command Bar Loca ons

Commands are scoped to different areas of the applica on:

 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.

2. The Power Fx Advantage

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).

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Execu on Context

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.

Prac cal Case Study: The "One-Click" AI Summarizer

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.

The Solu on Design:

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.

Step-by-Step Example: Crea ng a "High-Priority" Toggle Bu on

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.

2. Add a Command: Click New -> Command.

o Label: "Set High Priority"

o Icon: Select a "Warning" or "Star" icon.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
3. Define Visibility (Power Fx): In the "Visibility" dropdown, select Show on condi on from
formula.

Code snippet

[Link] <> 'Priority (Cases)'.'High'

(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

Patch(Cases, [Link], {Priority: 'Priority (Cases)'.'High'});

No fy("Case has been escalated to High Priority", No fica [Link])

```

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.

---

### Knowledge Check: Mul ple Choice Ques ons

**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]

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
> **Correct Answer: B.**

> **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.

**2. A developer wants a 'Delete' bu on to be hidden if a record's 'Status' is set to 'Approved.'


Where should they write this logic?**

* A) In a Business Rule.

* B) In the 'Visible' property of the command, using a Power Fx formula.

* C) In a Power BI dashboard.

* D) In the table's schema.

> **Correct Answer: B.**

> **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)?**

* A) Power Fx makes the bu ons change color.

* B) It allows developers to use a familiar, low-code language that is easier to maintain and
faster to implement than custom code.

* C) It allows bu ons to be used without an internet connec on.

* D) Power Fx is only for mobile apps.

> **Correct Answer: B.**

> **Explana on:** Power Fx democra zes command bar customiza on, allowing app creators

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Integra ng Custom Pages for Converged App Experiences

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.

1. The Architecture of Convergence

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.

2. Communica on via the "App Object"

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.

3. Strategic Use Cases for Custom Pages

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Custom Pages should be used when the standard Model-Driven UI is insufficient:

 AI Orchestra on: A specialized "Wizard" interface for complex AI Builder processing.

 Visual Editors: Drag-and-drop interfaces for floor plans or sea ng charts.

 Mul -Table Inputs: A single screen that updates data across five different Dataverse
tables simultaneously.

Prac cal Case Study: The "Smart" Claims Adjuster Portal

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.

The Solu on Design:

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.

Step-by-Step Example: Opening a Custom Page as a Centered Dialog

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:

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Code snippet

Navigate(

pg_Feedback,

Target: Microso .[Link],

Posi on: Microso .[Link] [Link]

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.

Knowledge Check: Mul ple Choice Ques ons

1. What is the primary architectural advantage of using a 'Custom Page' in a Model-Driven


App?

 A) It makes the app run without an internet connec on.

 B) It allows for pixel-perfect, custom UI design within the structured Model-Driven


framework.

 C) It automa cally deletes old Dataverse records.

 D) It replaces the need for Security Roles.

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?

 A) In the Dataverse table schema.

 B) In the Model-Driven App Designer under the 'Naviga on' or 'Sitemap' sec on.

 C) In a Power Automate Cloud Flow.

 D) Inside an Excel spreadsheet.

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.

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Leveraging Na ve Device Capabili es (GPS, Camera, Barcode)

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.

1. GPS and Loca on Services

The Loca on signal provides the device's current coordinates.

 A ributes: Loca [Link] tude, Loca [Link], and Loca [Link] tude.

 AI Use Case: "Geofencing" an AI agent so it only provides relevant site-specific


documenta on when a technician is physically present at a specific GPS coordinate.

2. The Camera Control

The Camera control allows users to capture photos or videos.

 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.

3. Barcode and QR Scanning

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).

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 AI Use Case: Scanning a pallet QR code to instantly "ground" a Copilot agent in that
specific shipment's history and contents.

Prac cal Case Study: The "Smart" Facility Inspector

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.

The Solu on Design:

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.

Step-by-Step Example: Building a "Scan-to-Verify" Workflow

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(

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Warehouse_Inventory,

SKU_Code = First([Link]).Value

3. Display the Result: Insert a Label to show the product name:

Code snippet

"Product Found: " & [Link]

```

4. **Add a Camera Control for Documenta on:**

Insert a **Camera** control. Set its `OnSelect` property to:

```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.

---

### Knowledge Check: Mul ple Choice Ques ons

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
**1. Which Power Fx signal is used to retrieve the current physical coordinates of a mobile
device?**

* A) [Link]

* B) Loca [Link] tude

* C) [Link] on

* D) [Link]

> **Correct Answer: B.**

> **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

> **Correct Answer: D.**

> **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?**

* A) It makes the app look more modern.

* 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.

* D) It automa cally translates barcodes into different languages.

> **Correct Answer: B.**

> **Explana on:** Barcode scanning is a high-fidelity input method. By elimina ng manua

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
Chapter: Case Study: Developing the "Field Service Agent" Front-End

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.

1. The "Focused" UX Pa ern

Field workers operate in high-distrac on environments. The front-end should follow a


Progressive Disclosure pa ern:

 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.

2. Synchronous vs. Asynchronous UI

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.

3. Hardware Integra on Logic

The front-end must handle hardware "events" using Power Fx:

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 Loca [Link] tude and Loca [Link] are used to "ground" the AI in the specific
geography of the service cket.

 [Link] provides the raw visual data for the AI Builder Object Detec on model.

Prac cal Case Study: The "Solar-Grid" Repair Bot

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.

The Solu on Design:

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.

Step-by-Step Example: Building the "Iden fy & Document" Screen

This example walks through building the core func onal screen of the Field Service Agent app.

1. Create the Responsive Layout:

 Disable Scale to fit in App Se ngs.

 Add a Ver cal Container (Width: [Link], Height: [Link]).

2. Add the GPS Iden fica on Header:

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
 Inside the container, add a Label. Set its Text property:

Code snippet

"Current Loca on: " & Loca [Link] tude & ", " & Loca [Link]

3. Implement the AI Camera Component:

 Insert a Camera control.

 Insert a Bu on labeled "Analyze Part." Set its OnSelect property:

Code snippet

UpdateContext({varProcessing: true});

Set(varAIResult, 'ObjectDetec onModel'.Predict([Link]));

UpdateContext({varProcessing: false})

```

**4. Add the Verifica on Scan:**

* Insert a **Barcode Reader** control.

* Set its `OnScan` property to update the Dataverse record:

```powerapps

Patch(

'Service Tickets',

varCurrentTicket,

'Part Installed': First([Link]).Value,

Status: 'Status (Service Tickets)'.Completed

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
)

```

**5. Test the Flow:**

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.

---

### Knowledge Check: Mul ple Choice Ques ons

**1. Why is the 'Loca on' signal considered a 'Grounding' mechanism in a Field Service Agent
app?**

* A) It makes the app run faster in the desert.

* B) It provides the AI orchestrator with geographic coordinates that narrow down the search
for relevant assets in the Dataverse "Knowledge Forest."

* C) It allows the technician to play games while on break.

* D) It automa cally charges the device's ba ery.

> **Correct Answer: B.**

> **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()

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947
* B) No fy()

* C) UpdateContext() (to toggle a boolean variable)

* D) Filter()

> **Correct Answer: C.**

> **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?**

* A) The gallery will disappear.

* B) The gallery will expand to fill all remaining ver cal space in the container, regardless of the
device's screen size.

* C) The gallery will only show one record.

* D) The app will crash.

> **Correct Answer: B.**

> **Explana on:** Flexible sizing is the cornerstone of responsive design. It ensur

h ps://[Link]/course/microso -ab-410-cer fica on-intelligent-


applica ons/?referralCode=857964209E5CBDF3B947

You might also like