Courseiva

Microsoft Certified: Intelligent Applications Builder Associate (AB-410) (AB-410) (AB-410) — Questions 1–75

278 questions total · 4 pages · All types, answers revealed

Page 1 of 4

Page 2
1
MCQhard

You need to update a flow that is used by hundreds of employees. You want to test the update without affecting the production version. What should you use?

A.Environment-based deployment
B.Temporary variables
C.Disable the flow during editing
D.Save as a new flow
E.Solution layers
AnswerA

Environment-based deployment isolates the updated flow in a separate Power Platform environment, letting testers validate changes without touching the production environment used by hundreds of employees. This directly satisfies the stem's constraint of testing updates without affecting the live version.

Why this answer

Environment-based deployment in Power Platform allows you to promote a flow through separate environments (e.g., Dev → Test → Prod) using solutions, so the production version used by hundreds of employees remains untouched while you validate the update in a non-production environment. This is the standard ALM pattern for testing changes safely before release.

Exam trap

AB-410 often tests whether candidates confuse 'editing in place' or 'saving a copy' with proper ALM isolation, so the trap is picking Disable the flow or Save as a new flow instead of recognizing that environment-based deployment is the only option that protects production users.

How to eliminate wrong answers

Option B is wrong because temporary variables only hold transient data during a single run and do nothing to isolate a flow version from production users. Option C is wrong because disabling the flow during editing stops all production executions, causing an outage rather than enabling safe testing. Option D is wrong because saving as a new flow creates a disconnected copy that loses the original connections, solution context, and ownership, and does not provide a controlled test-to-production promotion path.

Option E is wrong because solution layers describe how managed and unmanaged customizations stack on a component; they are not a mechanism for testing an update in isolation from production.

2
MCQeasy

You need to create a column that stores the total cost of a project, which is derived from the sum of all associated expense records. Which column type should you use?

A.Lookup column
B.Calculated column
C.Choice column
D.Rollup column
AnswerD

A rollup column aggregates values from related records in a one-to-many relationship, applying functions such as SUM across child expense rows. It stores the computed total cost on the parent project record, matching the stem's requirement for a derived sum of associated expenses.

Why this answer

A Rollup column aggregates values from related child records — such as summing expense records linked to a project — and stores the computed result on the parent record. This is exactly the scenario described: total cost derived from summing associated expense records. Rollup columns support SUM, COUNT, MIN, MAX, and AVG over a 1:N relationship.

Exam trap

AB-410 often tests the difference between Calculated and Rollup columns, and candidates pick Calculated because it sounds like it computes values, missing that Calculated cannot aggregate across related child records.

How to eliminate wrong answers

Option A is wrong because a Lookup column stores a reference to a single related record, not an aggregate. Option B is wrong because a Calculated column computes values from columns on the same record (or its parent via a lookup), not from a collection of child records. Option C is wrong because a Choice column stores a selection from a predefined option set, unrelated to aggregation.

3
MCQhard

You need to ensure that a canvas app user can only save their changes if all required fields are filled. What is the most efficient way to validate this?

A.Set the button DisplayMode based on Form.Valid
B.Use a timer
C.Use a variable
D.Write a manual check for each field
AnswerA

Binding the save button's DisplayMode to Form.Valid disables it until every required field passes validation, enforcing the constraint at the control level without extra code or error-handling logic. This is the most efficient approach because Power Apps evaluates Form.Valid automatically as users edit fields.

Why this answer

In Power Apps canvas apps, the Form control exposes a Valid property that is true only when all required fields are filled and all validation rules pass. Binding the submit button's DisplayMode to If(Form1.Valid, DisplayMode.Edit, DisplayMode.Disabled) prevents saving until the form is valid, which is the most efficient built-in approach. This leverages the form's own validation engine instead of duplicating logic.

Exam trap

AB-410 often tests whether candidates overcomplicate validation with variables or timers instead of using the Form control's built-in Valid property.

How to eliminate wrong answers

Option B is wrong because a timer cannot evaluate field validity and would not prevent invalid saves. Option C is wrong because a variable alone does not automatically track form validity unless it is updated by validation logic, which is redundant. Option D is wrong because manually checking each field duplicates the form's built-in validation, increases maintenance, and is error-prone.

4
MCQmedium

You want your Copilot to trigger a specific business logic in a flow only when the user asks a specific question. How do you map this?

A.Create a new trigger in Power Automate
B.Create a Dataverse entity
C.Create a Topic in Copilot Studio
D.Add the flow to the environment
AnswerC

A Topic in Copilot Studio defines trigger phrases and a conversation flow, so specific user questions route to the intended business logic. This gives deterministic, question-specific invocation rather than relying on generative orchestration to infer intent.

Why this answer

In Copilot Studio, a Topic defines a conversation path triggered by specific user utterances, and it can invoke Power Automate flows as actions within that topic. To trigger business logic only when the user asks a specific question, you create a Topic whose trigger phrases match that question and call the flow from within the topic. This gives you precise, intent-based control over when the flow runs.

Exam trap

AB-410 often tests whether candidates know that Copilot-to-flow routing is defined by Topics (intent triggers), not by flow triggers — the trap is picking 'create a trigger in Power Automate' because triggers are the familiar flow concept.

How to eliminate wrong answers

Option A is wrong because creating a new trigger in Power Automate does not connect the flow to Copilot's natural-language understanding — Copilot needs a Topic to recognize the user's intent and route to the flow. Option B is wrong because a Dataverse entity stores data; it does not define conversational triggers or route user questions to business logic. Option D is wrong because adding a flow to the environment only makes it available; it does not wire the flow to a specific user question — that mapping happens in a Topic.

5
MCQhard

A company has a Dataverse environment with a custom table 'Order' that includes a Lookup column to the 'Account' table. The company wants to ensure that when an Order is created, the 'Account' record's 'CreditLimit' is checked and the Order is rejected if the order total exceeds the credit limit. The validation must occur regardless of whether the Order is created via the model-driven app, API, or import. What should they implement?

A.A business rule on the Order table
B.A Power Automate cloud flow triggered on Order creation
C.A JavaScript web resource on the Order form's OnSave event
D.A synchronous plug-in registered on the Pre-Operation stage of the Order Create message
AnswerD

A synchronous plug-in on the Pre-Operation stage runs within the database transaction before the Order record is created. It can retrieve the related Account's CreditLimit and compare it to the Order total. If the limit is exceeded, it can throw an InvalidPluginExecutionException to cancel the operation. This ensures validation regardless of the data entry method, as all create operations trigger the plug-in.

Why this answer

A synchronous plug-in on the Pre-Operation stage of the Create message is the only option that runs server-side within the transaction and applies to all data creation methods. It can retrieve related data and cancel the operation if validation fails, ensuring the credit limit is enforced consistently.

Exam trap

The trap here is thinking a business rule or JavaScript can enforce validation for all data entry paths; they only work in the app form context.

6
MCQmedium

Which type of chart can you create in a Model-driven app?

A.System chart
B.Workflow chart
C.Excel diagram
D.Power BI report
AnswerA

System charts are a built-in chart type available in model-driven apps, configured against table data and rendered on dashboards or views. They are defined in the solution and available across the environment, unlike personal charts.

Why this answer

Model-driven apps support system charts, which are defined on tables and can be added to forms, views, and dashboards. System charts are the native charting mechanism in the Power Platform model-driven experience. They can be created in the chart designer and shared across the organization.

Exam trap

AB-410 often tests the boundary between native model-driven charts and external visualization tools; candidates pick Power BI because it is a familiar reporting tool, but it is not a native chart type in model-driven apps.

How to eliminate wrong answers

Option B is wrong because 'Workflow chart' is not a chart type in model-driven apps; workflows are automation, not visualization. Option C is wrong because 'Excel diagram' is not a model-driven app chart type; Excel integration exists for exporting data but not as a chart control. Option D is wrong because Power BI reports are embedded via dashboards or tiles, not created as native model-driven app charts; they are a separate service.

7
MCQeasy

You are creating a new custom table in Dataverse to store customer feedback. You need to ensure that each feedback record is associated with a specific account. Which type of column should you add to the feedback table to create this association?

A.A currency column.
B.A choice column.
C.A text column.
D.A lookup column.
AnswerD

A lookup column creates a many-to-one relationship from the feedback table to the account table. It allows selecting a single account record and stores a reference to that record. This enforces referential integrity and enables navigation to the account from the feedback record. It is the standard way to associate a record with another table in Dataverse.

Why this answer

A lookup column is used to create a relationship between two tables, specifically a many-to-one relationship. In this scenario, adding a lookup column to the feedback table that targets the account table allows each feedback record to be associated with one account. This is the standard Dataverse mechanism for relating records across tables, and it supports referential integrity and navigation.

Exam trap

The trap here is thinking that a text or choice column can store a reference to another table, but only a lookup column creates a true relationship.

8
MCQmedium

You are building a Power Automate flow that must call a custom AI Builder model to extract key-value pairs from scanned receipts. The model has been trained and published. You need to pass the receipt image to the model and retrieve the extracted fields. Which action should you add to the flow?

A.Create text with GPT
B.Get text from image
C.Extract information from documents
D.Predict
AnswerC

The 'Extract information from documents' action is specifically for AI Builder document processing models, including custom models trained to extract key-value pairs from forms and receipts. It accepts a document as input and returns the extracted fields as structured JSON. This directly meets the requirement to process scanned receipts and retrieve key-value pairs.

Why this answer

To use a custom AI Builder document processing model, you must invoke the 'Extract information from documents' action. It is designed to take a document (like a receipt) and return the extracted key-value pairs. Other actions either perform different AI tasks or are for OCR without structure, which would require additional parsing.

Exam trap

The trap here is assuming that any AI Builder action can be used interchangeably, but document processing models require the specific 'Extract information from documents' action.

9
MCQmedium

You are building a canvas app that connects to a Microsoft Dataverse table named Project Tasks. The app needs to display only tasks where the Status column equals Active and the Due Date is within the next 30 days. You must implement this filtering in a way that delegates to Dataverse and returns accurate results regardless of table size. Which approach should you use?

A.Add a filter to the Dataverse view associated with the table and rely on the app to automatically apply it when the gallery loads.
B.Load all rows into a collection on OnStart using ClearCollect, then filter the collection in the gallery Items property.
C.Set the gallery Items property to Filter('Project Tasks', Status = 'Active' && 'Due Date' <= Today() + 30).
D.Use the Search function in the gallery Items property with a text string matching the Status and Due Date values.
AnswerC

This uses a delegable Filter expression with a Dataverse connector. Dataverse supports delegation for comparison operators and the Today function in this context, so the filtering is performed server-side and returns complete, accurate results even when the table contains many records. Using Filter on the data source directly in Items is the recommended pattern for large Dataverse tables.

Why this answer

The correct approach is to write a delegable Filter expression directly against the Dataverse table in the gallery Items property. Dataverse supports delegation for equality and date comparisons, so the server performs the filtering and returns all matching rows. This avoids row-limit issues and ensures the app shows accurate data regardless of table size.

Exam trap

The trap here is assuming that preloading data into a collection makes filtering faster or more reliable, when it actually inherits the connector's row limit and can silently omit records.

10
MCQhard

You are building a Power Automate flow that uses the AI Builder 'Extract information from invoices' action. The flow processes invoices from multiple vendors, and you need to ensure that the extracted data is stored in a structured format. Which output property of the AI Builder action should you use to access the extracted fields?

A.The 'Response' dynamic content, which contains a JSON object with all extracted fields.
B.The 'Confidence Score' dynamic content, which indicates the accuracy of the extraction.
C.The 'File Content' dynamic content, which contains the raw file bytes.
D.The 'Model ID' dynamic content, which identifies the AI model used.
AnswerA

The AI Builder invoice processing action returns a 'Response' output that is a JSON object containing all extracted fields, such as invoice ID, date, total amount, and vendor name. You can use this dynamic content in subsequent actions, and parse it with Parse JSON to access individual fields. This is the correct way to retrieve structured data from the action.

Why this answer

The AI Builder invoice processing action outputs a 'Response' property that contains a JSON object with all extracted fields. This is the structured data you need to store or process further. Other outputs like file content, model ID, or confidence score do not provide the extracted invoice details, so they are not suitable for this requirement.

Exam trap

The trap here is confusing the action's metadata outputs (like Model ID or Confidence Score) with the actual extracted data.

11
MCQhard

A Power Automate flow is failing because an AI-powered extraction step occasionally returns null values. Which expression should you use to provide a default value of 'Unknown'?

A.coalesce(outputs('AI_Step')?['result'], 'Unknown')
B.if(empty(outputs('AI_Step')), 'Unknown', outputs('AI_Step'))
C.default(outputs('AI_Step'), 'Unknown')
D.replace(null, 'Unknown')
AnswerA

coalesce returns the first non-null argument, so when the AI step's result is null it substitutes 'Unknown'. This satisfies the default-value requirement without branching logic, and also handles empty-string cases depending on the flow's evaluation.

Why this answer

The coalesce() expression returns the first non-null argument, so coalesce(outputs('AI_Step')?['result'], 'Unknown') yields the AI result when present and 'Unknown' when it is null. This is the idiomatic Power Automate way to supply a fallback for null values from an action output.

Exam trap

AB-410 often tests whether candidates know the correct null-handling function, so the trap is choosing a plausible-sounding but nonexistent function like default() or misusing empty() on the wrong scope.

How to eliminate wrong answers

Option B is wrong because if(empty(outputs('AI_Step')), ...) checks whether the entire action output object is empty, not whether the 'result' property is null — and empty() on an object behaves differently than a null check. Option C is wrong because default() is not a valid Power Automate expression function; there is no such function in Workflow Definition Language. Option D is wrong because replace(null, 'Unknown') attempts to replace a substring in a null value, which will error or return null rather than substitute a default.

12
MCQmedium

You are creating a Power Automate flow that processes many rows. You want to increase performance by processing items concurrently. Where do you configure this?

A.Action performance tab
B.Apply to each settings
C.Trigger settings
D.Flow settings
AnswerB

Concurrency for Apply to each is configured in its settings, where you enable concurrency control and set the degree of parallelism. This satisfies the stem's requirement to process many rows concurrently, since the default runs iterations sequentially.

Why this answer

Concurrency for 'Apply to each' loops is configured in the loop's Settings, where you enable 'Concurrency Control' and set a degree of parallelism (1–50). This allows multiple iterations to run at the same time, significantly improving performance when processing many independent items.

Exam trap

AB-410 often tests whether candidates know concurrency is configured inside the Apply to each action's Settings, not in global flow or trigger settings — a common point of confusion.

How to eliminate wrong answers

Option A is wrong because there is no 'Action performance tab' in Power Automate — performance tuning for loops lives in the loop's own settings. Option C is wrong because trigger settings control how/when the flow starts (e.g., polling interval), not loop concurrency. Option D is wrong because 'Flow settings' is not where per-loop concurrency is set; it is a property of the Apply to each action itself.

13
Multi-Selecthard

Which THREE components can be included in a Dataverse solution?

Select 3 answers
A.User personal dashboards
B.Tables
C.Security roles
D.Power Automate flows
E.System user records
AnswersB, C, D

Tables are solution-aware Dataverse metadata, so they can be packaged, versioned and transported between environments as solution components. Including the table carries its columns, relationships and keys, satisfying the stem's requirement for a component that a Dataverse solution can contain.

Why this answer

Tables (B) are a core Dataverse solution component, since solution-aware tables (including their columns, relationships, forms, and views) are packaged and transported between environments. Security roles (C) are also valid solution components, allowing role definitions and their privileges to be included and deployed with the solution. Power Automate flows (D) can be added to a Dataverse solution as cloud flows, making them solution-aware so they move with the solution across environments.

User personal dashboards (A) are not solution components because personal dashboards belong to individual users rather than being packaged in a solution. System user records (E) are environment-specific data records and are not included as solution components.

Exam trap

AB-410 often tests solution component boundaries, and candidates incorrectly assume user personal dashboards or system user records are transportable, confusing environment data with solution metadata.

14
MCQhard

You are designing a Dataverse solution for a municipal permits office. The Permits table must record the date a permit application was received and the date the inspection was completed. Auditors require that the received date never changes after the record is created, but the inspection date must be editable by inspectors. You also need to report on the number of days between receipt and inspection. Which configuration should you use?

A.Set the received date column to Date and Time with a behavior of User Local, and configure an alternate key on the received date column.
B.Set both columns to Date Only and apply a business rule that locks both columns after save.
C.Set the received date column to Date Only with a behavior of Time-Zone Independent, mark it as read-only on the form, and use a calculated column to derive the elapsed days.
D.Set the received date column to Date Only, and create a synchronous PreOperation plug-in on Update that throws an exception if the received date value differs from the pre-image.
AnswerD

A synchronous PreOperation plug-in on Update can compare the incoming received date to the pre-image value and throw InvalidPluginExecutionException if they differ, which cancels the transaction. This enforces immutability for every update path, including the Web API and flows, while leaving the inspection date freely editable. A calculated column can then compute elapsed days from the two dates.

Why this answer

Immutability of a column after creation requires server-side enforcement, because form-level read-only settings and business rules do not apply to Web API or flow updates. A synchronous PreOperation plug-in on Update that compares the incoming value to the pre-image and throws an exception cancels any attempt to change the received date, while the inspection date remains editable for inspectors.

Exam trap

The trap here is relying on a read-only form control or a business rule lock to make a column immutable, when those controls are bypassed by the Web API and by flows.

15
MCQeasy

You are creating a canvas app that must display a list of customers from a Dataverse table. Users need to tap a customer to open a detail screen showing that customer's full record. Which property should you configure to pass the selected customer to the detail screen?

A.Set the gallery's OnSelect property to Navigate with a context variable containing the selected record.
B.Bind the detail screen's form to the gallery's Items property.
C.Create a global variable with Set in the App.OnStart property and update it when a customer is tapped.
D.Set the gallery's Default property to the selected record so the detail screen inherits it.
AnswerA

Navigate can pass a context record to the target screen, and the detail screen reads it with a context reference. This is the standard way to carry the selected item's data forward without a separate lookup. Setting OnSelect on the gallery to Navigate with the selected record gives the detail screen exactly the data it needs.

Why this answer

To show a single selected record on a detail screen, the gallery's OnSelect should call Navigate and pass the selected item as a context record. The detail screen then references that context variable in its form or labels. This is the standard navigation pattern for master-detail layouts in canvas apps.

Exam trap

The trap here is confusing control properties like Default with navigation, when passing records between screens is done through Navigate and context variables.

16
MCQeasy

You are creating a Power Automate cloud flow that must be triggered whenever a new email arrives in a shared mailbox. The flow should then extract the email body and send it to an AI Builder model for sentiment analysis. Which trigger should you use?

A.When a file is created (properties only)
B.When a HTTP request is received
C.When an item is created
D.When a new email arrives (V3)
AnswerD

The 'When a new email arrives (V3)' trigger in the Outlook connector is designed to fire when a new email is received. It supports specifying a shared mailbox by entering the mailbox address in the advanced options. This directly meets the requirement to trigger on new emails in a shared mailbox and provides the email body for further processing.

Why this answer

The flow needs to start when a new email arrives in a shared mailbox. The Outlook trigger 'When a new email arrives (V3)' is purpose-built for this, and it allows specifying a shared mailbox address. Other triggers are for files, list items, or HTTP calls, none of which directly monitor email arrival.

Exam trap

The trap here is overlooking that the Outlook trigger supports shared mailboxes via its advanced options, and instead assuming a separate trigger or workaround is needed.

17
MCQeasy

Which tool would you use to create a Prompt template that extracts information from a document?

A.AI Builder Prompt builder
B.Power Apps Studio
C.Flow designer
D.Dataverse form designer
AnswerA

AI Builder's prompt builder lets makers author natural-language prompts grounded in a document input, then extract structured fields from it. This directly satisfies the requirement to create a prompt template that pulls information out of a document.

Why this answer

AI Builder's Prompt builder is the dedicated tool for creating prompt templates that use natural language instructions to extract, summarize, or generate information from documents and other inputs. It lets you define a prompt, select a model, and test it against sample data, then use the resulting prompt in Power Automate or Power Apps. This is exactly the tool for building a document-information-extraction prompt.

Exam trap

AB-410 often tests whether candidates know that prompt templates are authored in AI Builder Prompt builder, not in Power Apps Studio or Flow designer — those tools consume prompts but do not create them.

How to eliminate wrong answers

Option B is wrong because Power Apps Studio is for building canvas or model-driven apps — it can consume AI Builder prompts but is not where you author prompt templates. Option C is wrong because Flow designer is for building automation workflows; it can call a prompt, but the prompt itself is authored in AI Builder. Option D is wrong because Dataverse form designer is for laying out table forms, not for creating AI prompts or document extraction logic.

18
MCQmedium

You are building a Power Automate cloud flow that must create a new item in a Microsoft Dataverse table only when an AI Builder sentiment analysis model returns a positive score above 0.8. The flow currently creates the record for every processed email. Which action sequence should you insert to enforce this condition efficiently?

A.Add an Apply to each loop around the AI Builder action and use a Filter array action to keep only items where the score is above 0.8 before the Dataverse action.
B.Configure the AI Builder sentiment analysis action's threshold setting to 0.8 and set the action to return only positive results, then place the Dataverse action immediately after.
C.Use a Switch action with cases for positive, neutral, and negative, and place the Dataverse action in the positive case.
D.Add a Condition action after the AI Builder action, using the expression greater(outputs('Run_a_sentiment_analysis_model')?['score'], 0.8) in the left operand and true in the right operand, then place the Dataverse Add a new row action in the If yes branch.
AnswerD

The Condition action evaluates an expression and branches execution. Comparing the model's score output to 0.8 with the greater() function and placing the Dataverse create action in the If yes branch ensures the record is created only when sentiment is strongly positive. This is the standard, efficient pattern for conditional logic in Power Automate.

Why this answer

A Condition action with the greater() expression on the model's score output precisely enforces the 0.8 threshold and routes execution to the Dataverse create action only when true. This is the most efficient and maintainable pattern, avoiding unnecessary loops or nonexistent settings.

Exam trap

The trap here is assuming the AI Builder sentiment action has a configurable threshold that filters results, when it only returns a label and score for you to evaluate.

19
MCQeasy

What is the purpose of the 'Publish' button in the Power Apps Studio?

A.To share the app with new users
B.To save your work to the cloud
C.To debug the app
D.To make the latest version available to users
AnswerD

Publishing promotes the current saved version of the app so that everyone it is shared with runs that build. Until Publish is clicked, edits remain in the authoring version only, so the constraint of delivering the latest changes to end users is met by this action.

Why this answer

The Publish button in Power Apps Studio takes the current saved version of the app and makes it the live version that end users will see when they open the app. Until you publish, changes remain in your editing session and are not visible to consumers, even if you have saved. This is distinct from saving (which persists your work) and sharing (which controls who can access the app).

Exam trap

The trap here is conflating Save with Publish — candidates assume that saving automatically makes changes live, but Power Apps deliberately separates authoring persistence from runtime availability.

How to eliminate wrong answers

Option A is wrong because sharing is done through the Share menu, where you grant users or groups access to the app — Publish does not change permissions. Option B is wrong because saving your work is handled by the Save/Save As commands, which persist the app definition to the environment; Publish is a separate step that promotes the saved version to production. Option C is wrong because debugging is done through the Monitor tool or the App Checker, not the Publish button.

20
MCQeasy

You want to allow your Copilot to look up internal company policies stored in a SharePoint site. What should you add to the Copilot?

A.A new trigger
B.Generative answers
C.A topic
D.An entity
E.A Power Automate flow
AnswerB

Generative answers let Copilot retrieve and synthesise content from configured SharePoint knowledge sources, grounding responses in internal policy documents. This satisfies the stem's constraint of looking up company policies stored in a SharePoint site rather than relying on the model's pretrained knowledge.

Why this answer

Generative answers is the Copilot Studio feature that lets a copilot retrieve and summarize information from external knowledge sources such as SharePoint sites, public websites, or uploaded documents. By enabling generative answers and adding the SharePoint site as a knowledge source, the copilot can answer policy questions using internal content without manually authoring topics. This is the correct mechanism for grounding responses in enterprise data.

Exam trap

AB-410 often tests the misconception that a Power Automate flow or a topic is needed to connect to SharePoint, when in fact generative answers with a knowledge source is the built-in no-code method.

How to eliminate wrong answers

Option A is wrong because a trigger initiates a conversation or flow; it does not provide knowledge lookup capability. Option C is wrong because a topic is a manually authored conversation path, not a dynamic knowledge retrieval mechanism. Option D is wrong because an entity is used for natural language understanding to extract values from user input, not to fetch documents.

Option E is wrong because a Power Automate flow can be called from a copilot but does not natively provide generative knowledge grounding; it would require custom implementation.

21
MCQmedium

When designing a Copilot, you want to ensure the agent only responds using specific company documents. How do you ensure this?

A.Use a custom entity
B.Configure Generative answers with specific data sources
C.Add a filter in the prompt
D.Delete all default topics
AnswerB

Configuring generative answers with specific data sources restricts retrieval to the nominated company documents, grounding every response in that scoped content rather than open web knowledge. This directly satisfies the stem's constraint that the agent respond only from defined internal material, since the configured sources bound what the orchestration layer can retrieve and cite.

Why this answer

Configuring Generative answers with specific data sources (such as SharePoint sites, websites, or Dataverse) grounds the Copilot's responses in those documents and restricts it to that knowledge. This is the supported mechanism for scoping an agent to company content. It ensures answers are retrieved from the designated sources rather than the model's general knowledge.

Exam trap

The trap is thinking a prompt instruction or topic deletion can restrict knowledge, when only grounding via configured data sources actually scopes the agent's answers.

How to eliminate wrong answers

Option A is wrong because a custom entity defines a data type for slot filling in conversations, not a knowledge boundary. Option C is wrong because a prompt-level filter is not a reliable grounding mechanism and does not restrict retrieval to specific documents. Option D is wrong because deleting default topics removes fallback conversational behavior but does not control which documents the agent can use for answers.

22
MCQhard

You are designing a Power Automate flow that uses an AI Builder custom model to classify support tickets. The model returns a category and a confidence score. You need to route tickets with a confidence score below 0.7 to a human reviewer, and tickets with a score of 0.7 or higher to an automated resolution queue. Which expression should you use in a Condition action to evaluate the confidence score?

A.lessOrEquals(outputs('Classify_ticket')?['body/confidenceScore'], 0.7)
B.equals(outputs('Classify_ticket')?['body/confidenceScore'], 0.7)
C.less(outputs('Classify_ticket')?['body/confidenceScore'], 0.7)
D.greater(outputs('Classify_ticket')?['body/confidenceScore'], 0.7)
AnswerC

The 'less' function compares two values and returns true if the first is less than the second. Here, it checks if the confidence score is below 0.7, which is exactly the condition for routing to a human reviewer. This expression correctly uses the dynamic content reference for the AI Builder output and the threshold value.

Why this answer

The condition must route tickets with confidence below 0.7 to human review. The 'less' function correctly evaluates to true when the score is strictly less than 0.7. Using 'greater' would invert the logic, 'equals' would miss most cases, and 'lessOrEquals' would incorrectly include the boundary value of 0.7, which should go to automation.

Exam trap

The trap here is confusing the boundary condition: the requirement says below 0.7 for human review, so the threshold must be strict less-than, not less-than-or-equal.

23
MCQeasy

Which property must you configure in a canvas app to show a specific icon based on the value of a field?

A.Fill property
B.DisplayMode property
C.Icon property
D.Visible property
AnswerC

The Icon property accepts a formula that evaluates the field's value and returns the matching icon name, so the displayed glyph changes dynamically per record. This satisfies the stem's requirement to show a specific icon based on a field value, rather than a static image set once at design time.

Why this answer

The Icon property on an icon control determines which glyph is rendered, so binding it to a conditional expression based on a field value lets the icon change dynamically. For example, setting Icon to If(ThisItem.Status = "Open", Icon.Warning, Icon.Check) displays different symbols per record. This is the property that directly controls the visual symbol, not the control's visibility or fill.

Exam trap

The trap here is confusing visual styling properties (Fill, Visible, DisplayMode) with the property that actually selects the glyph, causing candidates to pick a property that changes appearance but not the icon itself.

How to eliminate wrong answers

Option A is wrong because the Fill property controls the background color of the control, not which icon glyph is displayed. Option B is wrong because DisplayMode controls whether the control is editable, view-only, or disabled, not the icon shown. Option D is wrong because Visible only toggles whether the control is rendered at all, not which icon appears.

24
MCQeasy

You are creating a custom table to track project milestones. You need to ensure that every milestone is associated with a specific project, and if the project is deleted, all associated milestones must also be deleted. Which relationship type should you configure?

A.Parental
B.Many-to-Many
C.Referential
D.Configurable Cascading
AnswerA

A parental relationship enforces cascade delete, so removing the project record automatically deletes all associated milestone records. This satisfies the stem's requirement that milestones be tied to a project and removed when that project is deleted, unlike a referential relationship with no cascade.

Why this answer

A Parental relationship in Dataverse is a special 1:N relationship where the child record cannot exist without the parent, and deleting the parent cascades to delete all children. This matches the requirement that milestones must be tied to a project and deleted when the project is deleted.

Exam trap

AB-410 often tests whether candidates confuse relationship types (Parental, 1:N, N:N) with cascading behavior options (Referential, Configurable Cascading), causing them to pick a cascading configuration when a relationship type is required.

How to eliminate wrong answers

Option B is wrong because Many-to-Many relationships do not enforce a mandatory parent and do not cascade delete — deleting one side only removes intersect records. Option C is wrong because 'Referential' is a cascading behavior option (Referential, Referential, Restrict Delete) within a 1:N relationship, not a relationship type, and it does not enforce parental deletion. Option D is wrong because 'Configurable Cascading' is a cascading configuration option for 1:N relationships, not a relationship type, and it allows customization rather than enforcing strict parental behavior.

25
MCQhard

You are developing a canvas app that calls a custom connector to retrieve inventory data from an external REST API. The API requires an API key. You need to store the key so the app can use it without exposing it to users or embedding it in the app. Where should you configure the API key?

A.In the custom connector's Security tab, using API Key authentication.
B.In a Microsoft Dataverse table with column-level security enabled.
C.In a global variable set in the App's OnStart property.
D.In the app's Settings under Support, as an environment variable.
AnswerA

The custom connector's Security tab is where you define authentication, including API Key. The key is then provided when creating the connection, and it is stored securely by the platform, not in the app. This keeps the secret out of the app definition and out of user view, which is the correct approach.

Why this answer

Custom connectors define their authentication on the Security tab. Selecting API Key lets the platform prompt for the key when a connection is created and store it securely. The app then references the connection, so the secret never appears in the app's formulas or settings, which prevents exposure to users and app editors.

Exam trap

The trap here is thinking that a global variable or app setting can securely hold a secret, when connector authentication is the intended secure mechanism.

26
MCQmedium

You need to enforce data consistency across forms in a Model-driven app by hiding a field based on the value of another field. Which mechanism should you use?

A.Power Automate Cloud Flows
B.JavaScript Web Resources
C.Business Rules
D.Calculated Columns
AnswerC

Business Rules evaluate a condition on one column and then hide, show, set or validate fields without code, running client-side and server-side. This directly satisfies the stem's requirement to hide a field based on another field's value across forms.

Why this answer

Business Rules are the no-code mechanism in Dataverse to enforce data consistency and modify form behavior based on conditions. They can hide or show fields, set values, and validate data. For hiding a field based on another field's value, a Business Rule with a condition and a 'Show or Hide' action is the appropriate choice.

It runs client-side for immediate feedback and can also run server-side for consistency.

Exam trap

AB-410 often tests the misconception that Power Automate or JavaScript is needed for form field hiding, when Business Rules provide a no-code solution.

How to eliminate wrong answers

Option A is wrong because Power Automate Cloud Flows run asynchronously and cannot directly manipulate form UI in real-time; they are for backend automation. Option B is wrong because JavaScript Web Resources can achieve this but require custom code, which is not the preferred no-code mechanism and is more complex. Option D is wrong because Calculated Columns compute values based on other columns but cannot hide fields or control form behavior.

27
Multi-Selectmedium

Which TWO types of environments can be created in the Power Platform?

Select 2 answers
A.Developer
B.Offline
C.Public
D.Transient
E.Production
AnswersA, E

Developer environments are a distinct Power Platform environment type, provisioned for individual makers to build and test without production licensing constraints. It satisfies the stem's requirement for a creatable environment type, differing from Production, Sandbox, Trial and Default in purpose and lifecycle.

Why this answer

Option A (Developer) is correct because the Power Platform supports Developer environments, which are special-purpose environments tied to a single user for building, testing, and sharing apps and flows without affecting production resources. Option E (Production) is correct because Production environments are a standard Power Platform environment type intended for stable, live business solutions used by end users across the organization. The remaining options do not belong: Offline (B) is not a Power Platform environment type, Public (C) is not a valid environment classification in Power Platform, and Transient (D) is not an environment type offered by the platform.

Exam trap

AB-410 often tests whether candidates confuse environment types with environment properties or deployment stages, leading them to select non-existent types like 'Public' or 'Offline' instead of the actual Developer and Production types.

28
MCQmedium

You want to make sure your canvas app is accessible. Which property should you configure for screen readers?

A.DisplayMode
B.Tooltip
C.AccessibleLabel
D.Text
AnswerC

AccessibleLabel supplies the text screen readers announce for a control, satisfying the accessibility requirement. Setting it on interactive controls and images gives non-visual users meaningful descriptions, unlike Tooltip, which is visual-only and not reliably read aloud.

Why this answer

AccessibleLabel is the property in Power Apps canvas apps that provides a text description for screen readers, allowing visually impaired users to understand the purpose of a control. It is specifically designed for accessibility and is read aloud by assistive technologies.

Exam trap

The trap is confusing Tooltip with AccessibleLabel — candidates often think tooltips help screen readers, but only AccessibleLabel is explicitly designed for assistive technologies.

How to eliminate wrong answers

Option A (DisplayMode) is wrong because it controls whether a control is editable, view-only, or disabled — it has no role in screen reader accessibility. Option B (Tooltip) is wrong because tooltips appear on hover and are not reliably read by screen readers; they are a visual aid, not an accessibility label. Option D (Text) is wrong because the Text property sets the visible text of a control, but screen readers may not interpret it as a label for the control's purpose, especially for non-text controls like icons or images.

29
MCQmedium

When creating a new environment, what is the default database type?

A.SharePoint list
B.Common Data Model
C.SQL Server
D.Dataverse
AnswerD

Dataverse is provisioned automatically as the default database when a new environment is created, unless the maker explicitly selects an alternative such as SQL Server or the environment is created without a database. This satisfies the scenario's default database type requirement.

Why this answer

When you create a new environment in the Power Platform admin center, the default database provisioning option is Dataverse. Dataverse is the underlying data platform that stores tables, relationships, and business logic. The Common Data Model is a schema standard that Dataverse implements, not a database type you select at creation.

Exam trap

AB-410 often tests the confusion between Dataverse (the platform database) and Common Data Model (the schema standard), causing candidates to pick CDM as the database type.

How to eliminate wrong answers

Option A is wrong because SharePoint lists are external data sources, not the default database for a new environment. Option B is wrong because Common Data Model is a set of standardized schema definitions, not a selectable database engine. Option C is wrong because SQL Server is the physical storage engine underneath Dataverse but is not the option presented when provisioning an environment.

30
MCQmedium

You have a Power Automate flow that needs to execute a script on a local Windows machine. Which component is required?

A.Desktop flow (Power Automate for Desktop).
B.Dataverse file storage.
C.Azure Service Bus.
D.Custom connector with an API key.
AnswerA

Desktop flows run attended or unattended on a Windows device via Power Automate for Desktop, giving the flow direct access to local applications, files and scripts. Cloud flows cannot execute code on a local machine, so a desktop flow is required to satisfy the on-premises execution constraint.

Why this answer

To execute a script or automate actions on a local Windows machine, you need a Desktop flow (Power Automate for Desktop). Desktop flows run on a Windows device and can interact with local applications, files, and scripts (e.g., PowerShell, VBScript, or UI automation). They are the only component in the Power Platform that executes directly on a local machine.

Exam trap

AB-410 often tests whether candidates know that local script execution requires a desktop flow (RPA), not a cloud flow, custom connector, or Dataverse feature — candidates pick custom connectors thinking they can reach on-premises, but only desktop flows run locally.

How to eliminate wrong answers

Option B is wrong because Dataverse file storage is for storing files and attachments in the cloud, not for executing local scripts. Option C is wrong because Azure Service Bus is a cloud messaging service for decoupled communication between applications, not a local execution engine. Option D is wrong because a custom connector with an API key enables calling external APIs from cloud flows, but it does not execute scripts on a local Windows machine — it would require an on-premises data gateway and a local endpoint, which is not the same as a desktop flow.

31
MCQmedium

You are building a canvas app that must display a gallery of Dataverse records sorted by a date column, and users can switch the sort order between newest-first and oldest-first via a toggle. Which approach correctly implements this requirement?

A.Set the gallery Items to Sort(Project, CreatedOn, If(tglNewest.Value, Descending, Ascending)).
B.Set the gallery Items to SortByColumns(Project, "CreatedOn", If(tglNewest.Value, SortOrder.Descending, SortOrder.Ascending)).
C.Set the gallery Items to Filter(Project, CreatedOn >= tglNewest.Value).
D.Set the gallery Items to FirstN(SortByColumns(Project, "CreatedOn"), 100).
AnswerB

SortByColumns accepts a column name and a sort order, and both arguments are delegable against Dataverse. Supplying the sort order conditionally from the toggle lets the gallery re-sort reactively when the user flips it, satisfying the newest-first and oldest-first requirement with a single delegable expression.

Why this answer

SortByColumns is the delegable way to order Dataverse records by a named column, and its sort-order argument can be supplied conditionally from a toggle. Because the expression references the toggle's value, the gallery re-sorts automatically when the user switches between newest-first and oldest-first. Non-delegable Sort, truncated FirstN results, and Filter-based expressions either return incomplete data or do not sort at all.

Exam trap

The trap here is reaching for the Sort function with a formula, which looks equivalent but is not delegable and can silently drop rows from the gallery.

32
Multi-Selectmedium

Which TWO types of forms exist for Model-driven apps?

Select 2 answers
A.List
B.Process
C.Main
D.Summary
E.Quick View
AnswersC, E

Main forms are the primary full-page interface for creating and editing a table's records in model-driven apps, containing all configured columns, sections and tabs. They satisfy the requirement by serving as one of the two standard form types.

Why this answer

In Power Apps model-driven apps, the Main form (option C) is the primary form type used to display and edit a record's full details, and it is the default form opened when a user selects a row from a view. The Quick View form (option E) is also a valid form type; it is designed to show read-only reference information about a related record, typically embedded within a Main form or a lookup control. These two are among the standard model-driven form types defined in the Common Data Service/Dataverse form designer.

The other options are not form types: List (A) refers to a view or grid of records, Process (B) refers to a business process flow, and Summary (D) is not a model-driven form type (though 'Card' and 'Main' and 'Quick View' are).

Exam trap

AB-410 often tests whether candidates confuse form types with views or process components, leading them to select 'List' or 'Process' instead of the actual form types like Main and Quick View.

33
MCQmedium

A user needs to see records based on specific criteria. Which object should you configure?

A.Form
B.Relationship
C.Chart
D.View
AnswerD

A View defines the filter criteria, columns and scope that determine which records a user sees. It satisfies the requirement by restricting the underlying object's records to those matching the specified criteria, without altering the stored data itself.

Why this answer

A View in Dataverse (or model-driven apps) defines which records are displayed and how they are filtered, sorted, and columned. Views are the standard object for showing a filtered subset of records based on criteria, such as 'Active Accounts' or 'My Open Opportunities'. Configuring a view with filter conditions is the correct way to let a user see records matching specific criteria.

Exam trap

AB-410 often tests the confusion between Forms (single record layout) and Views (filtered record lists) — candidates pick Form because they think of 'seeing records' as a form, but filtering by criteria is a View responsibility.

How to eliminate wrong answers

Option A is wrong because a Form controls how a single record is displayed and edited, not which records are listed based on criteria. Option B is wrong because a Relationship defines how tables are associated (1:N, N:N), not how records are filtered for display. Option C is wrong because a Chart visualizes aggregated data, not a filtered record list — charts are built on views but do not themselves define record criteria.

34
MCQhard

You are auditing environment security. You find that a user can see records they should not have access to. The user is assigned two security roles, one that grants access and one that restricts it. How does Dataverse handle this?

A.The most restrictive role wins
B.The privileges are additive (union)
C.The last assigned role takes precedence
D.The user is denied access
AnswerB

Dataverse combines privileges across multiple security roles additively, forming a union, so the granting role's access overrides the restricting role's denial. This satisfies the scenario: the user sees records because no role subtracts privileges from another.

Why this answer

Dataverse uses a role-based access model where a user's effective privileges are the union of all assigned security roles. When a user holds two roles, one granting access and one restricting it, the granting role's privileges are not overridden — they are combined additively. This means the user will retain the access granted by the permissive role, which is why they can see records they should not.

Exam trap

AB-410 often tests the misconception that a restrictive security role overrides a permissive one, but Dataverse privileges are additive (union), so the most permissive access wins.

How to eliminate wrong answers

Option A is wrong because Dataverse does not apply a 'most restrictive wins' model; that is a common misconception from other systems like some file permissions. Option C is wrong because role assignment order has no bearing on privilege evaluation — Dataverse evaluates all roles simultaneously. Option D is wrong because access is not denied; the additive model means the user gains the union of privileges, so access is granted rather than denied.

35
Multi-Selecthard

You are designing a canvas app that connects to an on-premises SQL Server through the on-premises data gateway. The app must filter a large table by a date range and remain performant. Which TWO practices should you follow? (Choose two.)

Select 2 answers
A.Disable the on-premises data gateway and connect to SQL Server directly from the app.
B.Set the app's data row limit to the maximum value so all rows are available for client-side filtering.
C.Load the entire table into a collection on app start and filter the collection locally in memory.
D.Use delegable filter functions such as Filter with comparison operators on the date column so the query is executed server-side.
E.Limit the columns returned by selecting only the fields the app needs rather than the full record set.
AnswersD, E

Delegable filters push the date range predicate to SQL Server, so only matching rows return to the app. This keeps the app responsive as the table grows and avoids the non-delegable warning that truncates results at the delegation limit, which is essential when the table is large.

Why this answer

Delegable filters and column projection are the two practices that keep a gateway-backed canvas app performant. Delegation ensures the date range predicate runs in SQL Server, and projecting only the needed columns reduces the data crossing the gateway. Together they minimize payload size and avoid the delegation limit that silently truncates results.

Exam trap

The trap here is treating the data row limit as a performance knob, when raising it actually pulls more rows to the client and hides delegation problems instead of solving them.

36
Multi-Selecthard

Which TWO of the following represent advanced flow error handling? (Choose TWO)

Select 2 answers
A.Delete failed runs immediately
B.Use the 'Try-Catch' pattern via Scopes
C.Stop using variables
D.Configure run after
E.Add a comment to each action
AnswersB, D

Scopes group actions into Try and Catch blocks, so a failure inside the Try scope is caught and handled by the Catch scope's actions. This satisfies the advanced error-handling requirement by centralising failure logic instead of configuring conditions on every individual action.

Why this answer

Option B is correct because the Try-Catch pattern implemented with Scope actions is the standard advanced error-handling construct in Power Automate: you place the main logic in a 'Try' scope, then configure a 'Catch' scope to run only when the Try scope fails, allowing you to log errors, send notifications, or perform compensating actions. Option D is correct because 'Configure run after' lets you define precise execution conditions for an action (is successful, has failed, is skipped, has timed out), which is the mechanism that makes Catch/Finally branches and conditional recovery paths work. Option A is not advanced error handling because deleting failed runs destroys the diagnostic history needed for troubleshooting rather than handling the error.

Option C is incorrect because variables are unrelated to error handling and are often essential for tracking state across retries. Option E is incorrect because comments are documentation only and have no effect on runtime error behavior.

Exam trap

AB-410 often tests the misconception that simply adding comments or deleting runs constitutes error handling, when the exam expects knowledge of Scopes and run-after configuration as the only true advanced mechanisms.

37
MCQmedium

You are building a model-driven app that uses Dataverse. You need to ensure that users can only view records that they own or that are shared with them. Which security concept should you implement?

A.Column-level security
B.Record-level security
C.Hierarchical security
D.Field-level security
AnswerB

Record-level security in Dataverse is enforced through security roles and access levels. By setting the access level to 'User' or 'Business Unit', you can restrict users to only see records they own or that are shared with them. This directly addresses the requirement to control record visibility based on ownership.

Why this answer

Record-level security is the correct concept because it controls access to individual records based on ownership and sharing. By configuring security roles with appropriate access levels, you can ensure users only view records they own or that have been explicitly shared with them, meeting the requirement.

Exam trap

The trap here is confusing field-level security with record-level security; the former restricts columns, not records.

38
MCQmedium

You are creating a custom prompt in AI Hub. You want the model to act as a technical support agent. Where do you define this persona?

A.The System message field
B.The trigger settings
C.The output format settings
D.The input variables section
AnswerA

The System message field carries the persona instruction that shapes the model's behaviour across the conversation. Defining the technical support agent role there sets the model's context and tone, satisfying the requirement to establish the persona before user prompts are processed.

Why this answer

The System message field in AI Hub (and similar prompt-building tools) is where you define the model's persona, role, and behavioral instructions. Setting 'You are a technical support agent' in the system message shapes all subsequent responses. Input variables, output format, and trigger settings control data flow, not persona.

Exam trap

AB-410 often tests the confusion between the system message (persona and behavior) and input variables or output format (data structure), tempting candidates to pick a data-related field for a persona question.

How to eliminate wrong answers

Option B is wrong because trigger settings define when the prompt runs, not how the model behaves. Option C is wrong because output format settings control the structure of the response, not the persona. Option D is wrong because input variables section defines the data the prompt receives, not the model's role.

39
Multi-Selecteasy

Which TWO methods can you use to share a canvas app with other users?

Select 2 answers
A.By saving to a local disk
B.Sharing with security groups
C.Sharing via email link (without permission)
D.Publicly on the internet
E.Sharing with individual users
AnswersB, E

Sharing with security groups satisfies the requirement to grant access to multiple users simultaneously. Microsoft Entra ID security groups centralise permission management, so membership changes automatically propagate app access without editing individual shares. This scales cleanly for teams, unlike per-user sharing, and remains the supported method for canvas app distribution.

Why this answer

In Power Apps, canvas apps are shared from the app's Share screen, where you can grant access to individual users (option E) by entering their names or email addresses and assigning them either the User or Co-owner role, which is the standard way to give specific people access. Option B is also correct because the same Share dialog lets you add Azure Active Directory security groups, so every member of the group inherits the app permissions, which is the recommended approach for scaling access to teams or departments. Options A, C, and D are not valid sharing methods: saving to a local disk (A) only produces a local .msapp file that cannot be run by others without importing it into their own environment, sharing via an email link without permission (C) does not exist because recipients must still be granted access in the app's user list, and publishing publicly on the internet (D) is not supported for canvas apps, which always require authenticated access through the Power Apps service.

Exam trap

AB-410 often tests the misconception that a link alone grants access — candidates forget that Power Apps sharing always requires an explicit permission assignment to a user or group.

40
Multi-Selecthard

You are configuring a Dataverse table to store customer feedback. You need to ensure that the table supports auditing and that users can track changes to specific columns. Which two actions must you perform? (Choose two.)

Select 2 answers
A.Create a business rule that logs changes to a separate table.
B.Enable auditing for each column you want to track.
C.Enable auditing for the table.
D.Assign users the System Administrator security role.
E.Enable change tracking for the table.
AnswersB, C

After enabling table auditing, you must also enable auditing on each individual column that you want to track. Dataverse does not audit all columns by default; only those explicitly enabled will have changes recorded. This allows granular control over what is audited.

Why this answer

To audit a Dataverse table, you must first enable auditing on the table itself. Then, for each column you want to track, you must enable auditing on that column. This two-step process allows granular control and ensures that only relevant changes are recorded.

Other options are either custom solutions or unrelated features.

Exam trap

The trap here is assuming that enabling table auditing automatically audits all columns; in fact, you must enable auditing on each column individually.

41
MCQeasy

You are assembling a canvas app screen that lists customers and lets users drill into a detail view. You want the selected customer's record to be available to a second screen without re-querying Dataverse. Which Power Fx construct should you use to pass the record between screens?

A.Store the record in a collection with Collect and read it from the detail screen's gallery.
B.Store the record in a named formula with a parameter and evaluate it on the detail screen.
C.Store the record in a global variable with Set and reference it on the detail screen.
D.Store the record in a context variable with UpdateContext on the first screen and read it on the second.
AnswerC

Set creates a global variable that persists for the app session and is visible on every screen. Storing the selected record in a global variable lets the detail screen read it directly via the variable name, avoiding a second query to Dataverse. This is the standard pattern for passing a record between screens without duplicating data access.

Why this answer

Global variables created with Set persist across every screen for the duration of the app session, so a record captured on the list screen remains readable on the detail screen. This avoids a redundant Dataverse query. Context variables are limited to one screen, collections carry unnecessary multi-row overhead, and named formulas cannot be parameterized at runtime.

Exam trap

The trap here is confusing context variables, which are screen-scoped, with global variables, which survive navigation between screens.

42
MCQeasy

Which tool in the Power Apps environment allows you to test your canvas app without publishing it?

A.Publish button
B.App checker
C.Data pane
D.Preview button
AnswerD

The Preview button (play icon) runs the canvas app inside Power Apps Studio, letting makers interact with screens, formulas and controls in a live session without publishing, so testing occurs before any version reaches users.

Why this answer

The Preview button (or F5) runs the canvas app in a preview/play mode so you can test its behavior and interactions without publishing it to users. This lets makers validate functionality, formulas, and navigation in a safe environment. Publishing is a separate step that distributes the app to end users.

Exam trap

The trap is confusing App checker (static analysis) with Preview (runtime testing) — candidates may pick App checker thinking it 'tests' the app, but it only scans for issues without running it.

How to eliminate wrong answers

Option A is wrong because the Publish button makes the app available to users — it is the opposite of testing without publishing. Option B is wrong because App checker is a static analysis tool that scans for formula errors, accessibility issues, and performance problems; it does not run the app for interactive testing. Option C is wrong because the Data pane is for managing data sources and their fields, not for executing or testing the app.

43
MCQmedium

You need to format a number as currency in a canvas app label. Which function should you use?

A.Format()
B.Value()
C.Text()
D.Currency()
AnswerC

Text() converts a numeric value into a formatted string, and its format argument accepts named patterns such as "[$-en-GB]#,##0.00" to render currency. This satisfies the requirement to display a number as currency within a canvas app label.

Why this answer

The Text() function in Power Apps is specifically designed to convert a value to a string with optional formatting, including currency. It accepts a format string such as "$#,##0.00" or a predefined format like "[$-en-US]$#,##0.00". This makes it the correct choice for displaying a number as currency in a label.

Format() is not a Power Apps function, Value() converts text to a number, and Currency() is not a function in Power Apps.

Exam trap

AB-410 often tests the confusion between Text() and Value() functions, where candidates might think Value() formats numbers, but it actually parses text into numbers, and they might also mistakenly believe Format() or Currency() exist in Power Apps.

How to eliminate wrong answers

Option A is wrong because Format() is not a valid Power Apps function; it is commonly confused with the Text() function or with functions in other languages like Excel. Option B is wrong because Value() does the opposite: it converts a text string to a number, not a number to a formatted currency string. Option D is wrong because Currency() is not a function in Power Apps; while there is a data type for currency, there is no built-in function with that name for formatting.

44
MCQhard

You need to create a relationship between two Dataverse tables where a single record in Table A can be associated with many records in Table B, but each record in Table B can be associated with only one record in Table A. Additionally, you want to ensure that when a record in Table A is deleted, all related records in Table B are also deleted. Which relationship type and behavior should you configure?

A.One-to-Many with Parental behavior
B.Many-to-Many with Referential behavior
C.One-to-Many with Referential behavior
D.One-to-Many with Custom behavior
AnswerA

Parental behavior in a one-to-many relationship means that when the parent record (Table A) is deleted, all child records (Table B) are also deleted. This cascading delete matches the requirement. It also allows for cascading assignment and sharing, but the key here is the cascade delete.

Why this answer

A one-to-many relationship with Parental behavior is the correct choice because it enforces a single parent per child and automatically deletes child records when the parent is deleted. This aligns with the requirement for cascading deletes and ensures data integrity without manual intervention.

Exam trap

The trap here is confusing Referential and Parental behaviors; Referential blocks deletion, while Parental cascades deletes.

45
MCQmedium

You are designing a Power Automate flow that summarizes incoming emails using AI Hub. Which action should you use to pass the email body to a custom prompt?

A.Analyze sentiment
B.Extract information from documents
C.Predict outcomes
D.Create text with GPT using a prompt
AnswerD

Create text with GPT using a prompt sends the email body into a custom prompt and returns the model's generated summary. It is the AI Hub action that accepts prompt input and produces text output, satisfying the requirement to pass email content to the custom prompt.

Why this answer

The 'Create text with GPT using a prompt' action in AI Hub (formerly AI Builder) is the generative action that accepts a custom prompt and input text — such as an email body — and returns GPT-generated output. It is the only listed action that performs free-form text generation, which is exactly what summarization requires. The other actions perform classification, extraction, or prediction tasks, not generative summarization.

Exam trap

AB-410 often tests whether candidates confuse AI Builder's classification/extraction actions with its generative GPT action — the trap is assuming 'Analyze sentiment' or 'Extract information' can produce a summary because they sound like text-processing tasks.

How to eliminate wrong answers

Option A is wrong because 'Analyze sentiment' returns a polarity score (positive/negative/neutral/mixed) and confidence, not a summary — it cannot produce free-form text. Option B is wrong because 'Extract information from documents' is a document-processing action that pulls structured fields (dates, totals, names) from files like invoices or receipts; it does not summarize email bodies. Option C is wrong because 'Predict outcomes' is a binary/multiclass classification action that returns a category label and confidence score, not generated prose.

Only the GPT prompt action supports the open-ended generation needed for summarization.

46
MCQhard

You want to debug a flow that uses a large array of objects. You need to see the input and output of a specific loop iteration. How can you find this?

A.Use the 'Preview' mode.
B.Check the Flow Checker.
C.Enable 'Static Results' in the action.
D.Click on the specific iteration in the Run history.
AnswerD

Clicking the specific iteration in the Run history exposes that iteration's own inputs and outputs, which satisfies the requirement to inspect a single loop iteration within a large array. Power Automate records each iteration as a discrete entry, so the per-iteration detail view isolates the exact data you need.

Why this answer

In Power Automate run history, an Apply to Each loop expands into individual iterations, and you can click a specific iteration to inspect its inputs and outputs. This lets you see exactly what array element was processed and what the action returned for that iteration. It is the standard way to debug loops handling large arrays without adding logging actions.

Exam trap

The trap is assuming you need to add debugging actions or enable special modes to see loop iteration data, when the run history already exposes per-iteration inputs and outputs natively.

How to eliminate wrong answers

Option A is wrong because 'Preview' mode is a design-time feature for testing triggers and actions, not a run-history debugging tool for individual loop iterations. Option B is wrong because Flow Checker is a static analysis tool that flags missing connections or malformed expressions before you run the flow; it does not show runtime iteration data. Option C is wrong because Static Results is a mock/testing feature that returns canned outputs to simulate an action, not a way to inspect real iteration inputs and outputs.

47
MCQeasy

You are building a canvas app that must send a personalized order confirmation email whenever a customer completes a purchase. The email body must include dynamic order details and a link to the order status page. You want to minimize custom code and reuse an existing cloud flow. What should you do?

A.Use the 'Send an email' action in Power Apps Studio's built-in email connector.
B.Configure a Power Automate desktop flow that opens Outlook and sends the email, then call it from the canvas app.
C.Add the 'Office 365 Outlook – Send an email (V2)' action directly inside the canvas app's OnSelect formula.
D.Create a Power Automate cloud flow with a 'Power Apps (V2)' trigger, add the email action, and invoke it from the app using the flow's Run method.
AnswerD

This is the standard pattern: a cloud flow triggered by Power Apps (V2) exposes a Run method in the canvas app. The app passes the order details as parameters, and the flow sends the email. This reuses the flow, keeps logic centralized, and requires no custom code.

Why this answer

A cloud flow with a Power Apps (V2) trigger is the supported way to let a canvas app send dynamic emails. The app calls the flow's Run method, passing order details as parameters. This centralizes logic, reuses the flow, and avoids unsupported direct connector calls from formulas.

Exam trap

The trap here is assuming canvas apps can call connectors like Office 365 Outlook directly from a formula, when they must go through a cloud flow.

48
MCQhard

You are designing a Power Automate cloud flow that processes incoming invoices. The flow uses an AI Builder 'Invoice processing' prebuilt model to extract fields such as invoice total and vendor name. You need to store the extracted values in a Microsoft Dataverse table and then trigger a Power Apps canvas app to display a confirmation screen. The flow must handle cases where the AI Builder model returns a low confidence score for a field. What is the most appropriate way to implement this?

A.Use a 'Condition' action to check the confidence score; if it is below a threshold, send an approval to a human reviewer and wait for the response before writing to Dataverse.
B.Write all extracted values to Dataverse regardless of confidence, then use a Power Apps formula to highlight low-confidence fields for the user to correct.
C.Configure the AI Builder model to automatically retry extraction up to three times if confidence is low, then write the best result to Dataverse.
D.Use the 'Parse JSON' action to extract the confidence score from the AI Builder output and set a variable; if low, terminate the flow with a failure status.
AnswerA

AI Builder returns confidence scores for extracted fields. A 'Condition' action can evaluate the score against a threshold. If confidence is low, routing to an approval ensures a human validates the data before it is committed to Dataverse, maintaining data quality. The flow can then use the approval outcome to decide whether to write the record and trigger the canvas app, providing a controlled exception path.

Why this answer

AI Builder returns confidence scores for extracted fields. The correct approach is to evaluate those scores with a Condition action and, when confidence is low, pause for human approval before writing to Dataverse. This ensures data quality and uses the approval result to control whether the record is created and the canvas app is triggered.

Exam trap

The trap here is treating low confidence as a technical error to retry or abort, rather than a business exception that should be routed for human validation before data is committed.

49
MCQmedium

You are configuring an AI Builder document processing model to extract invoice numbers and totals from PDFs. The model must be used in a Power Automate flow that processes 500 invoices daily. You need to ensure the flow can handle documents that vary in layout. Which action should you take?

A.Set the model's confidence threshold to zero so that all extractions are accepted regardless of accuracy.
B.Train the model with a collection of sample documents that represent the full range of layouts expected in production.
C.Use the prebuilt invoice model without any training, because it automatically adapts to all layouts.
D.Configure the flow to call the model twice for each document and compare results, using the first successful extraction.
AnswerB

Training with diverse samples improves the model's ability to generalize across layout variations. AI Builder document processing learns from the provided examples, so including different formats helps it recognize fields regardless of layout. This is the recommended practice before using the model in a flow for high-volume processing.

Why this answer

Training an AI Builder document processing model with a representative set of documents that cover layout variations is essential for accurate extraction. The model learns from examples, so diversity in training data directly improves performance on unseen layouts. This is the correct preparation before using it in a high-volume flow.

Exam trap

The trap here is thinking the prebuilt invoice model works for all layouts without custom training, when variable layouts require a custom-trained model.

50
MCQhard

You want to dynamically route a support ticket to different queues based on the sentiment score derived by an AI Builder sentiment analysis model. How is this best achieved?

A.Use a 'Switch' action.
B.Use a Power Automate child flow.
C.Use a Dataverse workflow.
D.Use multiple 'Condition' actions in a nested fashion.
AnswerA

Switch is ideal for multi-value branching based on AI outputs.

Why this answer

A Switch action is the best fit because it evaluates a single expression (the sentiment score) and routes execution down one of several branches based on case values. This produces clean, maintainable routing logic for multiple queues without deeply nested conditions. You map score ranges to cases and assign each case to the appropriate queue.

Exam trap

AB-410 often tests when to use Switch versus nested Conditions, and candidates pick nested Conditions thinking they are equivalent, missing that Switch is the idiomatic multi-branch primitive.

How to eliminate wrong answers

Option B is wrong because a child flow is used to encapsulate reusable logic or run steps in a separate flow context, not to branch on a value — it adds complexity without providing the multi-way routing primitive. Option C is wrong because Dataverse workflows are deprecated classic workflows that run on Dataverse events and are not the modern way to branch Power Automate logic on an AI Builder output. Option D is wrong because nested Condition actions become unwieldy and hard to maintain for more than two or three branches, whereas Switch is purpose-built for multi-branch routing.

51
Multi-Selectmedium

Which TWO properties can you configure for a column in Dataverse?

Select 2 answers
A.Security group membership
B.Owner assignment
C.Required/Optional
D.Tenant region
E.Data Type
AnswersC, E

Setting a column as Required or Optional is a configurable property in Dataverse, directly satisfying the stem's demand for configurable column properties. This setting controls whether users must supply a value when creating or updating records, enforcing data integrity at the table level without custom code.

Why this answer

Option C (Required/Optional) is correct because every Dataverse column has a 'Required' property that can be set to Optional, Recommended, or Business Required, controlling whether a value must be supplied on create/update. Option E (Data Type) is correct because when you create a column in Dataverse you must choose its data type (e.g., Text, Whole Number, Currency, Date and Time, Lookup, Choice), which defines the kind of data the column stores and cannot be changed freely afterward. The other options do not belong: A (Security group membership) is an Azure AD/Entra concept, not a column-level property; B (Owner assignment) is a record-level table behavior (user/team ownership), not configured per column; and D (Tenant region) is set at the environment/tenant level when provisioning, not on a column.

Exam trap

AB-410 often tests the confusion between table-level, record-level, and column-level properties, so candidates pick options like owner assignment or security group membership that sound like schema settings but are actually different scopes.

52
MCQhard

You want to ensure that a user can only see records belonging to their business unit. Which access level should you set in the security role?

A.Organization
B.User
C.Parent: Child Business Units
D.Business Unit
AnswerD

The Business Unit access level restricts a user to records owned by their own business unit and its children, matching the requirement that users see only their unit's records. It is more restrictive than Parent: Child Business Units and Organisation, which grant broader visibility.

Why this answer

The Business Unit access level restricts a user to only see records owned by users within their own business unit, which directly satisfies the requirement. In Dataverse security roles, access levels are hierarchical: User < Business Unit < Parent: Child Business Units < Organization. Setting Business Unit means the user can read/write/append records owned by anyone in the same business unit, but not records in sibling or parent business units.

Exam trap

AB-410 often tests the confusion between Business Unit and Parent: Child Business Units, where candidates incorrectly assume 'Business Unit' includes child units — it does not; only the Parent: Child level does.

How to eliminate wrong answers

Option A is wrong because Organization grants access to all records across the entire organization, which is far broader than the requirement. Option B is wrong because User only allows access to records the user owns personally, not all records in their business unit. Option C is wrong because Parent: Child Business Units grants access to records in the user's business unit plus all child business units beneath it, which exceeds the stated scope.

53
Multi-Selectmedium

Which THREE properties are commonly used to control the visual appearance of a control in a canvas app?

Select 3 answers
A.Visible
B.BorderColor
C.OnSelect
D.Fill
E.DataSource
AnswersA, B, D

Visible is a Boolean property that determines whether a control renders on the canvas at all. Toggling it hides or shows the control without deleting it, which is a display behaviour rather than a data or action property, so it belongs among the properties governing a control's visual appearance.

Why this answer

Visible (A) is a standard property that controls whether a control is shown or hidden, directly affecting its visual appearance in the app. BorderColor (B) sets the color of a control's border, which is a purely visual styling property. Fill (D) defines the background color of a control, another core visual appearance property.

OnSelect (C) is incorrect because it defines behavior (an action triggered when the control is selected), not visual appearance. DataSource (E) is incorrect because it specifies the data connection for a control, which relates to data, not visual styling.

Exam trap

The trap is mixing property categories — candidates see familiar property names like `OnSelect` and `DataSource` and forget the question specifically asks about visual appearance, not behavior or data binding.

54
Multi-Selectmedium

Which THREE of the following are examples of agent orchestration? (Choose THREE)

Select 3 answers
A.Routing queries to specific agents based on intent
B.Static text hardcoding
C.Creating manual form entries
D.Passing state between different agent topics
E.Aggregating data from multiple agents
AnswersA, D, E

Intent-based routing dispatches a query to the most appropriate agent, a core orchestration pattern where a coordinator selects among specialised agents. It contrasts with single-agent execution, which handles a request directly without delegation or selection logic.

Why this answer

Agent orchestration coordinates multiple specialized agents so a single request is handled end-to-end, and option A (routing queries to specific agents based on intent) is a core orchestration pattern because a dispatcher/router classifies the user's intent and directs the turn to the agent best suited to handle it. Option D (passing state between different agent topics) is also orchestration, since context and variables must be carried across topic or agent boundaries so a later agent can continue the conversation without losing prior information. Option E (aggregating data from multiple agents) is orchestration as well, because the orchestrator fans out to several agents and then merges or summarizes their responses into one coherent answer.

The unmarked options do not belong: static text hardcoding (B) is just fixed content with no coordination logic, and creating manual form entries (C) is a user or data-entry action rather than an automated multi-agent control flow.

Exam trap

AB-410 often tests the confusion between orchestration and basic agent functionality, where candidates mistake simple actions like form entries for orchestration.

55
MCQmedium

What feature helps you identify errors in your model-driven app configuration?

A.App Checker
B.Solution health report
C.Workflow logs
D.Trace logs
AnswerA

App Checker scans a model-driven app's configuration and reports errors and warnings, such as invalid component references or missing dependencies. This satisfies the requirement by giving makers a consolidated diagnostic view before publishing, rather than discovering faults at runtime.

Why this answer

App Checker is a built-in tool in Power Apps that analyzes a model-driven app's configuration and surfaces errors, warnings, and best-practice recommendations — such as missing sitemap entries, invalid form references, or deprecated components. It is the primary diagnostic feature for identifying configuration issues in model-driven apps.

Exam trap

AB-410 often tests whether candidates confuse App Checker (app-level configuration validation) with Solution Checker (solution-wide health analysis), so the key is recognizing that the question asks about the app's configuration specifically.

How to eliminate wrong answers

Option B is wrong because the Solution Health Report (Solution Checker) analyzes solution packages for issues like missing dependencies or performance problems, but it is not the feature specifically used to identify errors in a model-driven app's configuration. Option C is wrong because workflow logs record the execution history of individual workflows, not app configuration errors. Option D is wrong because trace logs are used for debugging plug-ins and server-side code execution, not for validating app configuration.

56
Multi-Selecteasy

Which TWO methods can you use to trigger a Power Automate flow?

Select 2 answers
A.Direct database modification without a trigger.
B.Opening the Flow Designer.
C.Scheduled trigger (e.g., daily at 9 AM).
D.Changing the environment name.
E.Manual trigger (e.g., from a button).
AnswersC, E

A scheduled trigger runs the flow automatically on a recurring recurrence, such as daily at 09:00, with no user or event input. This satisfies automation scenarios requiring predictable, time-based execution rather than manual or event-driven initiation.

Why this answer

Option C is correct because a scheduled trigger, such as a Recurrence trigger configured to run daily at 9 AM, automatically starts a Power Automate flow based on a defined time interval without user interaction. Option E is correct because a manual trigger, such as a button flow triggered from Power Automate mobile or a SharePoint button, explicitly starts the flow when a user initiates it. Options A, B, and D are not valid triggers: direct database modification without a trigger does not invoke a flow, opening the Flow Designer is only an authoring action, and changing the environment name has no effect on flow execution.

Exam trap

AB-410 often tests whether candidates confuse authoring actions (opening a designer) or administrative changes (renaming an environment) with actual runtime triggers — only event, schedule, or manual invocation actually starts a flow.

57
Multi-Selecthard

Which THREE items can be configured in a table relationship?

Select 3 answers
A.Security role assignment
B.Relationship type (1:N or M:N)
C.Relationship behavior (Cascading)
D.Field mapping
E.Form color
AnswersB, C, D

Relationship type defines the cardinality between the two tables, letting you choose one-to-many or many-to-many. This directly satisfies the stem's requirement for a configurable table relationship item, since cardinality is a core property set when defining how records in one table associate with records in another.

Why this answer

In a table relationship (e.g., in Microsoft Dataverse), option B is correct because the relationship type must be chosen as either One-to-Many (1:N) or Many-to-Many (M:N), which determines how records associate and whether a intersect table is created. Option C is correct because relationship behavior, specifically cascading behavior (Cascade, Active, User-Owned, or No Cascade) for Assign, Delete, Reparent, Share, and Unshare, is configured on the relationship. Option D is correct because field mapping lets values from the primary table's columns be copied into columns of the related table when a new related record is created from the parent.

Option A is not part of a table relationship, as security roles are assigned to users/teams and control table/record privileges, not relationship configuration. Option E is not part of a table relationship, since form color is a UI/form design property unrelated to how tables relate.

Exam trap

AB-410 often tests whether candidates can distinguish relationship configuration options from other table or form settings, so the trap is selecting security role assignment or form color as if they were part of a relationship definition.

58
MCQhard

You need to enforce that a custom table named Project has a unique project code. The project code is entered by users and must be unique across all records. You also want to ensure that the uniqueness check is performed server-side to prevent duplicates from any client. What should you do?

A.Configure an alternate key on the project code column.
B.Create a calculated column that concatenates the project code with the record ID.
C.Write a plug-in that queries for existing project codes and throws an exception if a duplicate is found.
D.Create a business rule that checks for duplicate project codes and shows an error message.
AnswerA

Alternate keys in Dataverse enforce uniqueness on one or more columns at the platform level. When an alternate key is defined on the project code column, any attempt to create or update a record with a duplicate code will be rejected server-side, regardless of the client. This meets the requirement for server-side uniqueness enforcement.

Why this answer

Alternate keys are the Dataverse feature designed to enforce uniqueness on columns. They create a unique index on the specified column(s) and are enforced server-side, preventing duplicates from any client. This is a declarative, low-code solution that avoids custom code and ensures data integrity across all entry points.

Exam trap

The trap here is thinking that a business rule can enforce uniqueness; business rules are client-side and cannot query across all records to validate uniqueness.

59
MCQhard

You are configuring an AI Builder custom document processing model to extract line items from invoices. The model performs well on vendor name and invoice date but consistently misses the line item table. You have already uploaded 50 labeled samples. What should you do first to improve table extraction?

A.Increase the number of training iterations to 100 without changing the dataset.
B.Switch the model to a prebuilt invoice model and remove the custom labels.
C.Change the document type to 'Receipt' in the model configuration.
D.Add more labeled samples that include a variety of line item table layouts and formats.
AnswerD

Table extraction depends on diverse, representative examples. If the training set lacks variation in column order, row counts, and table styling, the model cannot generalize. Adding labeled samples with different table structures directly addresses the gap and is the recommended first step before changing model type or increasing sample count blindly.

Why this answer

Poor table extraction usually stems from insufficient variety in labeled examples. Adding samples that show different line item table layouts gives the model the patterns it needs to generalize. Switching model type, increasing iterations without new data, or changing the document type does not address the root cause and risks harming the fields that already perform well.

Exam trap

The trap here is treating model training like a simple volume problem, when layout diversity is what actually drives table extraction quality.

60
MCQmedium

You are using Copilot in Power Automate to build a flow. How do you refine the generated flow?

A.Restart the session
B.Edit the JSON code directly
C.Manually delete all actions
D.Use natural language prompts
AnswerD

Copilot in Power Automate accepts conversational instructions, so describing the desired change in natural language regenerates or adjusts the flow's actions and connections. This is the supported refinement mechanism; manual editing of the underlying definition bypasses Copilot entirely.

Why this answer

Copilot in Power Automate is designed to be refined iteratively through natural language prompts — you describe what you want to change, and Copilot regenerates or adjusts the flow accordingly. This is the intended interaction model for the AI-assisted flow builder, allowing users to refine logic without manually editing underlying definitions.

Exam trap

The trap is assuming that technical editing (JSON) is the 'advanced' or 'correct' refinement method — the exam expects recognition that Copilot's design intent is natural language iteration, not manual code editing.

How to eliminate wrong answers

Option A is wrong because restarting the session discards context and does not refine the generated flow — it just starts over. Option B is wrong because editing the JSON code directly bypasses Copilot's natural language refinement model and is not the recommended way to refine a Copilot-generated flow; it also risks breaking the flow definition. Option C is wrong because manually deleting all actions destroys the generated work rather than refining it.

61
MCQhard

You are building a canvas app that submits new rows to a Microsoft Dataverse table from a form. Users report that duplicate rows appear when they click Save twice quickly. You must prevent duplicate submissions while preserving the form's normal submit behavior. What should you do?

A.Set the form's OnSuccess property to call ResetForm and set the button's OnSelect to Notify with a success message.
B.Wrap the SubmitForm call in an If statement that checks a local variable flag, sets the flag before SubmitForm, and resets it in the form's OnSuccess property.
C.Set the SubmitForm button's DisplayMode to Disabled when the form's Unsaved property is false.
D.Add a unique constraint on the Dataverse table and rely on the error returned by SubmitForm to block the duplicate.
AnswerB

A local variable acting as a re-entrancy guard blocks the second click because the flag is set synchronously before the SubmitForm call begins. Resetting the flag in OnSuccess restores normal behavior after the save completes, preventing duplicates without permanently disabling the button or altering the form's standard submission flow.

Why this answer

Guarding SubmitForm with a local variable that is set before the call and cleared in OnSuccess prevents the second rapid click from starting another submission. The flag is evaluated synchronously in the button's OnSelect, so the second event sees it as true and skips the submit. Resetting in OnSuccess keeps the button usable for the next record.

Exam trap

The trap here is believing that disabling the button or adding a database constraint eliminates the race, when only a synchronous guard in the click handler prevents the second submit from starting.

62
MCQeasy

You are creating a Power Automate flow that uses the AI Builder 'Create text with GPT' action to generate a summary. The flow must ensure that the AI-generated content is not stored in the run history for compliance reasons. What should you do?

A.Disable run history for the entire flow.
B.Use a 'Compose' action to store the output and then delete it.
C.Set the flow's retention policy to 0 days.
D.Enable 'Secure Outputs' on the AI Builder action.
AnswerD

Secure Outputs prevents the action's outputs from being logged in the run history. This is the correct approach to hide AI-generated content from logs, meeting compliance requirements. It does not affect the action's functionality but ensures sensitive data is not persisted.

Why this answer

Enabling Secure Outputs on the AI Builder action ensures that the generated text is not stored in the flow run history, which is essential for compliance when handling sensitive or regulated content. This setting redacts the output from logs while allowing the flow to use it.

Exam trap

The trap here is assuming that deleting data after the fact or adjusting retention policies will prevent storage; only Secure Outputs prevents logging at the source.

63
MCQhard

You are configuring a model-driven app form. You need to show a field only if a choice column has a specific value. What should you use?

A.Workflow
B.Power Fx formula in the field property
C.Canvas component
D.Business rule
AnswerD

Business rules run client-side on the form and can set field visibility based on another column's value, so the field appears only when the choice column equals the specified option. This satisfies the conditional display requirement without JavaScript or form scripting.

Why this answer

Business rules in model-driven apps are the correct mechanism to conditionally show, hide, enable, disable, or set values on fields based on other column values, without writing code. They run on the client (form) and optionally server-side, and are configured declaratively in the Power Apps maker portal. A business rule can evaluate a choice column and set the visibility of another field accordingly, satisfying the requirement directly.

Exam trap

AB-410 often tests the confusion between business rules (model-driven, declarative, form-level) and Power Fx (canvas apps), so candidates must match the tool to the app type.

How to eliminate wrong answers

Option A is wrong because a workflow (classic or Power Automate) runs asynchronously or on-demand and cannot dynamically control form field visibility in real time as the user interacts with the form. Option B is wrong because Power Fx formulas in field properties are used in canvas apps, not model-driven app forms, which use the form designer and business rules instead. Option C is wrong because a canvas component is a reusable UI element for canvas apps and has no role in model-driven form field visibility logic.

64
MCQhard

A Power Automate flow fails when calling a custom AI Builder prompt. The error indicates a token limit exceed. How should you resolve this?

A.Enable 'Retry' policy with exponential backoff
B.Chunk the input data before sending to the prompt
C.Increase the AI Builder model capacity in the Admin Center
D.Change the AI model to GPT-4o
AnswerB

Chunking splits the oversized input into smaller segments that each fit within the prompt's token ceiling, directly resolving the token-limit exceed. Sending the data in sequential batches lets every portion be processed without truncation, satisfying the constraint that the full input cannot be submitted in a single prompt call.

Why this answer

A token limit exceeded error means the prompt input (plus context) exceeds the model's maximum token window, so the correct fix is to chunk or truncate the input data before sending it to the AI Builder prompt. This keeps each request within the model's token budget.

Exam trap

AB-410 often tests whether candidates treat token-limit errors as throttling or capacity issues, so the trap is picking Retry policy or Increase capacity instead of recognizing that the input must be chunked to fit the context window.

How to eliminate wrong answers

Option A is wrong because a retry policy with exponential backoff handles transient throttling or timeouts, not a deterministic token-limit error that will fail on every retry. Option C is wrong because increasing AI Builder model capacity in the Admin Center changes throughput/credits, not the model's token window. Option D is wrong because switching to GPT-4o may change the token limit but is not a guaranteed or appropriate fix, and the question asks how to resolve the token exceed error directly — chunking is the deterministic solution.

65
MCQeasy

You are creating a Dataverse table to store customer feedback. You need to capture the date and time when the feedback was submitted, including the time zone offset. Which data type should you use for the column?

A.Date and Time with Behavior set to Time-Zone Independent
B.Date and Time with Behavior set to Date and Time with Time Zone
C.Date Only
D.Date and Time with Behavior set to User Local
AnswerB

Date and Time with Time Zone stores the date, time, and the time zone offset in which it was entered. This is the only Dataverse data type that preserves the original time zone offset. It is ideal for scenarios where the exact moment and the originating time zone matter, such as feedback submission from different regions.

Why this answer

The Date and Time with Time Zone behavior stores the date, time, and time zone offset. This ensures that the exact moment of feedback submission is preserved along with the originating time zone. Other behaviors either convert to UTC or omit time zone information entirely, making them unsuitable for this requirement.

Exam trap

The trap here is confusing User Local behavior with storing the time zone offset; User Local converts to UTC and displays in the user's local time, but does not retain the original offset.

66
Multi-Selecthard

When troubleshooting a failed Power Automate flow, which TWO areas should you inspect to identify the root cause?

Select 2 answers
A.Run history of the flow.
B.The Power Apps Studio version history.
C.The Office 365 Admin Center.
D.The AI Hub logs.
E.Flow Checker for design-time issues.
AnswersA, E

The run history records each action's inputs, outputs and error codes, so it pinpoints the exact failing step and its message. Inspecting it satisfies the stem's need to identify the root cause rather than merely confirming the flow failed.

Why this answer

Option A, the Run history of the flow, is correct because it records each flow run's trigger, actions, inputs/outputs, durations, and error messages, allowing you to pinpoint exactly which action failed and why. Option E, Flow Checker for design-time issues, is correct because it statically validates the flow's configuration (for example, missing required connections, invalid expressions, or misconfigured triggers/actions) and surfaces warnings or errors before or during editing that can cause failures. Option B, the Power Apps Studio version history, is not relevant because it tracks canvas app versions, not Power Automate flow runs or definitions.

Option C, the Office 365 Admin Center, is not relevant because it provides tenant-level administration and service health, not per-flow diagnostic detail. Option D, the AI Hub logs, is not relevant because AI Hub is not the diagnostic surface for Power Automate flow failures.

Exam trap

The trap is picking administrative or unrelated logs (Admin Center, AI Hub) instead of the two flow-specific diagnostic tools — Run history for runtime and Flow Checker for design-time.

67
Multi-Selecthard

You are building a canvas app that uses a Microsoft Dataverse table named Orders. The app must allow users to create new orders and update existing ones. You need to ensure that the app handles data validation and error handling properly. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Use the IfError function to catch errors when submitting data with the SubmitForm function.
B.Enable the 'Data validation' option in the app settings to automatically validate all forms.
C.Set the Required property on input controls to ensure users cannot submit empty fields.
D.Use the Patch function to update records and rely on Dataverse to automatically validate all fields.
E.Use the Collect function to save data to a local collection and then sync to Dataverse later.
AnswersA, C

IfError allows you to handle errors gracefully when submitting data. It can catch issues like network failures or validation errors from Dataverse, enabling you to display user-friendly messages. This is a best practice for robust data operations in canvas apps, ensuring users are informed and can retry.

Why this answer

To handle data validation and error handling properly, you should use IfError with SubmitForm to catch and manage errors during data submission, and set the Required property on input controls for client-side validation. These two actions together provide a robust solution that prevents invalid data submission and gracefully handles errors, ensuring a smooth user experience.

Exam trap

The trap here is assuming that Dataverse automatically handles all validation and error handling without any app-level configuration, or that a global setting can enable validation across all forms.

68
MCQhard

You are designing a Power Automate cloud flow that must process a large batch of records. The flow retrieves 10,000 items from a SharePoint list and then updates each item based on a condition. You need to optimize performance and avoid hitting service limits. Which approach should you use?

A.Retrieve all items using 'Get items' without a filter, then use a single 'Update item' action outside a loop.
B.Use the 'Get items' action with a filter query to reduce the dataset, then use 'Apply to each' with concurrency control enabled.
C.Use a 'Apply to each' loop with a 'Delay' action inside to throttle requests and avoid rate limits.
D.Split the flow into multiple child flows, each processing a subset of items, and trigger them sequentially.
AnswerB

Filtering at the source reduces the number of items retrieved, and enabling concurrency in 'Apply to each' allows parallel processing of iterations, improving throughput. This combination is the recommended way to handle large batches efficiently while staying within service limits. It also reduces the risk of throttling.

Why this answer

Filtering the SharePoint data with a filter query minimizes the number of items retrieved, and enabling concurrency in 'Apply to each' allows multiple iterations to run in parallel. This reduces overall execution time and helps avoid throttling. It is the most efficient approach for processing a large batch within a single flow.

Exam trap

The trap here is assuming that adding delays or splitting into child flows solves performance issues, when the real fix is filtering data and using concurrency.

69
MCQeasy

What is the purpose of the App Checker in Power Apps?

A.To publish the app
B.To identify errors and warnings
C.To share the app
D.To create new tables
AnswerB

App Checker scans a canvas app's formulas and configuration, surfacing errors, warnings and delegation issues in a side pane. This satisfies the stem's purpose directly: it identifies problems such as unsupported functions or inefficient queries before publishing, rather than monitoring runtime performance or governing environments.

Why this answer

The App Checker in Power Apps is a built-in tool that scans the app for errors, warnings, and best-practice issues (like delegation problems, accessibility issues, and unused variables). It surfaces these in a panel so makers can fix them before publishing. Its purpose is diagnostic, not deployment or sharing.

Exam trap

AB-410 often tests the distinction between App Checker (diagnostics) and other maker tools like Publish, Share, and Solution Explorer — candidates pick 'publish' because App Checker is often run right before publishing.

How to eliminate wrong answers

Option A is wrong because publishing the app is done via the Save/Publish command, not the App Checker. Option C is wrong because sharing the app is handled through the Share dialog, which manages user and group permissions. Option D is wrong because creating tables is done in Dataverse (via the maker portal or solution explorer), not in the App Checker.

70
MCQmedium

A team is building an intelligent app that summarizes customer emails using an Azure OpenAI model. The model call must be made from a Power Apps canvas app, and the API key must never be exposed in the client. Which approach should the team use?

A.Store the API key in a canvas app variable initialized in the App OnStart property and pass it in the request header.
B.Use the Azure OpenAI connector directly in the canvas app and rely on the connector's built-in key management.
C.Create a Power Automate cloud flow that calls the Azure OpenAI connector, add the flow to the canvas app, and invoke it from the app.
D.Call the Azure OpenAI REST endpoint directly from the canvas app using the Office 365 Users connector to authenticate.
AnswerC

A cloud flow runs server-side, so the Azure OpenAI connection and its key are stored in the connection, never in the client. Adding the flow to the canvas app lets the app call the model through the flow's Run method, keeping credentials secure while returning the summary to the app.

Why this answer

Routing the model call through a Power Automate cloud flow keeps the Azure OpenAI connection and its API key server-side in the connection, so the canvas app only invokes the flow. This prevents credential exposure in the client while still returning the model's summary to the app.

Exam trap

The trap here is assuming a canvas app can safely hold a secret in a variable or call the model directly, when any client-side value can be extracted.

71
Multi-Selecthard

Which TWO ways can you optimize a canvas app for mobile users?

Select 2 answers
A.Add a high-resolution video background
B.Use large, touch-friendly controls
C.Increase the number of columns
D.Enable responsive layout settings
E.Use a mouse-hover trigger
AnswersB, D

Large, touch-friendly controls increase tap targets to suit finger input rather than a mouse pointer, directly addressing the mobile usability constraint in the stem. Adequate sizing reduces mis-taps on small screens, which fixed desktop-sized controls cannot achieve.

Why this answer

Option B is correct because large, touch-friendly controls sized for finger input (typically at least 40x40 pixels with adequate spacing) reduce mistaps and improve usability on small mobile touchscreens. Option D is correct because enabling responsive layout settings in Power Apps (such as the 'Scale to fit' and 'Lock aspect ratio' settings, or using containers with flexible height/width) lets the app adapt to different screen sizes and orientations on phones and tablets. Option A is not appropriate because a high-resolution video background increases load time and bandwidth consumption, hurting performance on mobile networks.

Option C is wrong because increasing the number of columns crowds the limited screen width and makes content harder to read and interact with on a phone. Option E is incorrect because mouse-hover triggers do not exist on touch devices, so that interaction would be unusable for mobile users.

Exam trap

The trap is selecting options that sound visually appealing (like video backgrounds) but actually degrade mobile performance, or forgetting that hover interactions are desktop-only.

72
Multi-Selecthard

Which THREE of the following are essential when preparing a custom AI model? (Choose THREE)

Select 3 answers
A.Evaluating model performance
B.Labeling the data correctly
C.Sufficient training data
D.Using only prebuilt models
E.Adding complex JavaScript
AnswersA, B, C

Evaluating model performance quantifies accuracy, precision, recall or similar metrics against held-out data, confirming the custom model meets its intended task before release. This verification step is essential in the preparation lifecycle, satisfying the stem's requirement for a necessary custom AI model activity.

Why this answer

Option A (Evaluating model performance) is essential because after training you must measure metrics such as accuracy, precision, recall, F1, or loss on a validation/test set to confirm the custom model generalizes and meets the use case before deployment. Option B (Labeling the data correctly) is essential because supervised custom models learn from ground-truth labels; incorrect or inconsistent annotations directly corrupt the training signal and degrade prediction quality. Option C (Sufficient training data) is essential because a custom model needs enough representative, varied examples to learn patterns and avoid overfitting or underfitting.

Option D (Using only prebuilt models) does not belong because preparing a custom model specifically involves training or fine-tuning on your own data rather than relying solely on prebuilt models. Option E (Adding complex JavaScript) does not belong because JavaScript is a client-side/web programming language and is not a requirement for preparing or training an AI model.

Exam trap

AB-410 often tests whether candidates can distinguish essential ML preparation steps from irrelevant or contradictory options, so the trap is selecting 'using only prebuilt models' as if it were part of custom model preparation.

73
Multi-Selecthard

You are creating a Copilot in Copilot Studio. Which TWO features help ensure that the Copilot provides accurate and relevant answers?

Select 2 answers
A.Increasing the model temperature to 1.0.
B.Adding Knowledge sources (e.g., SharePoint, Website).
C.Disabling authentication.
D.Using only custom-coded plugins.
E.Defining clear System instructions (System prompt).
AnswersB, E

Knowledge sources ground the Copilot in authoritative organisational content such as SharePoint sites and websites, so answers derive from verified material rather than model guesswork. This directly satisfies the requirement for accurate, relevant responses within the defined scope.

Why this answer

Option B is correct because adding Knowledge sources such as SharePoint sites and websites grounds the Copilot in authoritative, scenario-specific content, so its answers are retrieved from curated data rather than relying solely on the model's pretrained knowledge. Option E is correct because clear System instructions (the system prompt) define the Copilot's role, tone, scope, and boundaries, which steers generative responses toward accurate, relevant answers and reduces off-topic or hallucinated output. Option A is incorrect because raising the model temperature to 1.0 increases randomness and creativity, which typically reduces factual consistency and answer accuracy.

Option C is incorrect because disabling authentication does not improve answer quality and instead removes access control, potentially blocking secure knowledge sources that require sign-in. Option D is incorrect because using only custom-coded plugins restricts the Copilot's capabilities and does not by itself guarantee accurate or relevant responses.

Exam trap

AB-410 often tests the misconception that model temperature or disabling authentication improves accuracy, when the correct levers are knowledge grounding and system instructions.

74
Multi-Selectmedium

You are a Power Platform maker designing a Dataverse solution for a project management app. You need to create a relationship between a custom table named Project and a custom table named Task. A project can have many tasks, and each task belongs to exactly one project. You also need to ensure that when a project is deleted, all related tasks are automatically deleted. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Create a many-to-many relationship between Project and Task.
B.Set the relationship behavior to Referential, Restrict Delete for the one-to-many relationship.
C.Set the relationship behavior to Referential for the one-to-many relationship.
D.Create a one-to-many relationship from Project to Task.
E.Set the relationship behavior to Parental for the one-to-many relationship.
AnswersD, E

A one-to-many relationship from Project to Task correctly models the requirement: one project can have many tasks, and each task is linked to one project. This relationship type creates a lookup column on the Task table pointing to Project, establishing the referential link needed for the cascade behavior.

Why this answer

To model the project-task relationship and ensure automatic deletion of tasks when a project is deleted, you must create a one-to-many relationship from Project to Task and set its behavior to Parental. The Parental behavior enables cascade delete, which removes all related tasks when the parent project is deleted. Other behaviors either block deletion or do not support cascade.

Exam trap

The trap here is assuming that any one-to-many relationship automatically cascades deletes; you must explicitly configure the Parental behavior to achieve cascade delete.

75
Multi-Selecthard

Which TWO properties are most important for data performance in a canvas app?

Select 2 answers
A.App font size
B.Control border color
C.Background image opacity
D.Data source configuration
E.Items property filtering
AnswersD, E

Data source configuration determines how Power Apps connects, authenticates and retrieves records, directly affecting delegation limits and round-trip latency. Choosing appropriate connectors, views and delegation-capable sources satisfies the stem's performance requirement by reducing client-side processing and unnecessary data transfer.

Why this answer

Option D, data source configuration, is correct because how a data source is set up (for example, using delegable connectors like SQL Server or Dataverse versus non-delegable ones, and limiting the columns/rows retrieved) directly determines how much data is pulled to the client and whether queries can be processed server-side, which is the primary driver of canvas app data performance. Option E, Items property filtering, is correct because applying filters in the Items property (ideally with delegable functions such as Filter, and avoiding non-delegable constructs) reduces the volume of records loaded and rendered, so the app retrieves only the needed subset rather than the entire data set. The remaining options do not belong: A (app font size), B (control border color), and C (background image opacity) are purely cosmetic UI styling properties that have no meaningful effect on how data is queried, transferred, or processed, and thus do not impact data performance.

Exam trap

AB-410 often tests whether candidates confuse visual properties with performance-related properties, leading them to pick font size or colors instead of data source configuration and Items filtering.

Page 1 of 4

Page 2

All pages