All Microsoft exams
Free AB-410 practice test: 30 questions with answers
30 original questions for Building Intelligent Applications, drawn from every topic area. Answer each one to see whether you got it right and why. No sign-up.
- Free questions
- 30
- Full bank
- 100 questions
All 30 AB-410 questions with answers
The same questions as the test above, grouped by exam topic. Open any question to see the answer and explanation.
Build business application logic and automation (8 questions)
Question 1
A cloud flow must run whenever a new expense claim row is created in Dataverse. Which trigger should be used?
- ADataverse trigger for when a row is added
- BRecurrence trigger that runs every day
- CManual trigger for a button press
- DHTTP request trigger that polls the table
Show answer and explanationHide answer
Correct answer: AThe Dataverse 'when a row is added' trigger starts the flow immediately on row creation. A manual trigger requires a user action, a recurrence trigger runs on a schedule rather than per event, and polling via HTTP is unnecessary.
Question 2
A manager must approve each expense claim above a threshold before payment is released. Which cloud flow action fits this approval step?
- ADelete the claim record with a Delete row action if the submitted amount exceeds the threshold
- BStart and wait for an approval action, with conditions for the approve or reject outcome
- CSend an email to the manager and continue immediately without waiting
- DUpdate the claim status to Approved without requesting a sign-off
Show answer and explanationHide answer
Correct answer: BStart and wait for an approval pauses the flow until the approver responds, then branches on the outcome. Emails that do not wait, automatic deletion and unilateral status changes skip the approval step.
Question 3
A cloud flow calls a connector that occasionally returns throttling errors. What configuration helps the flow recover without failing the whole run?
- AIncreasing the flow timeout setting to an unlimited value
- BRunning the flow once per year on a fixed recurrence schedule
- CRemoving error handling from every action in the cloud flow
- DConfiguring retry policy on the action with an exponential interval
Show answer and explanationHide answer
Correct answer: DA retry policy on the action retries transient throttling errors with a sensible interval, which improves reliability. Removing error handling makes failures worse, unlimited timeouts do not solve throttling, and yearly runs are unrelated.
Question 4
A flow must process each line item of an expense claim individually. Which control structure is appropriate?
- AA single condition that checks only the first line item
- BApply to each loop over the array of line items
- CA switch with no cases
- DA parallel branch that never runs the actions
Show answer and explanationHide answer
Correct answer: BApply to each iterates over an array so each line item is processed, which fits per-item logic. Checking only the first item misses the others, an empty switch does nothing useful, and a branch that never runs is not a loop.
Question 5
A flow occasionally fails because a field in the claim record is empty. Which testing approach best finds this kind of problem before release?
- ARunning the flow with perfect sample data and well-formed text values
- BSkipping tests because the flow is short and the trigger has already run successfully in staging for weeks
- CTesting with a range of sample rows, including records with empty and unusual values
- DTesting in production with real users during the first live release window
Show answer and explanationHide answer
Correct answer: CTesting with representative and edge-case data, including empty values, reveals failures before users are affected. Perfect-data tests miss real conditions, skipping tests increases risk, and production-only testing exposes users.
Question 6
A builder wants a prompt that summarizes a claim to be called from a cloud flow. Where is the prompt created and managed before it can be consumed in a flow?
- AIn the Dataverse audit log history for the claim
- BIn AI Hub, as a prompt with its model and inputs defined
- CInside the email signature block of the approver
- DIn the Windows Start menu on the builder's local desktop computer
Show answer and explanationHide answer
Correct answer: BPrompts and models are built and managed in AI Hub, and they can then be consumed in apps and cloud flows. An email signature, the audit log and the Start menu are not prompt authoring locations.
Question 7
A prompt used in a canvas app must answer questions using the company's policy document. Which prompt setting provides this knowledge?
- AChanging the prompt's color and its icon in the picker
- BRenaming the prompt to include the policy title text
- CPasting the entire policy into the app's icon field
- DAdding the policy document as a knowledge source to the prompt
Show answer and explanationHide answer
Correct answer: DAdding the document as a knowledge source gives the prompt grounded content to answer from. Icons, colors and names do not provide knowledge to the model.
Question 8
A team needs business logic that hides or shows a field on a model-driven app form based on a single condition, without writing code. Which feature fits best?
- APlugin code deployed to the server
- BAn external web service endpoint
- CBusiness rules configured on the table
- DA manual spreadsheet check of each record value
Show answer and explanationHide answer
Correct answer: CBusiness rules let makers define simple conditional logic such as showing or hiding fields without code. Plugins and external services require development effort, and spreadsheets are manual.
Create a foundation for intelligent applications (8 questions)
Question 9
A team is building an expense app in Power Platform. It needs a table for expense claims with a relationship to an existing employee table. Which Dataverse relationship type should be configured when many expense claims can belong to one employee?
- AMany-to-many relationship between expense claims and employees
- BA self-referencing relationship on the expense claim table
- COne-to-many relationship from employee to expense claim
- DNo relationship, with a text column holding the employee name
Show answer and explanationHide answer
Correct answer: CA one-to-many relationship lets one employee own many expense claims, which matches the requirement. A many-to-many relationship would allow claims to belong to several employees, a text column loses referential integrity, and a self-reference relates claims to other claims.
Question 10
An app builder needs a value on each expense claim that is the total of its line item amounts, updated automatically when lines change. Which column type should be used?
- ARollup column that aggregates the related line item amounts
- BCalculated column that sums the line items of a different table
- CText column that the user updates manually
- DChoice column with predefined totals
Show answer and explanationHide answer
Correct answer: AA rollup column aggregates values from related rows and refreshes on a schedule or when related rows change. A calculated column works only on values within the same row, a text column is manual, and a choice column does not sum anything.
Question 11
A calculated column must show the number of days between a claim's submission date and its approval date, both on the same row. What is the correct column type?
- ARollup column summing the related approvals table rows
- BCalculated column using a formula over the same row's date columns
- CImage column that stores a scanned receipt and date stamp
- DAlternate key enforcing uniqueness on the submission date
Show answer and explanationHide answer
Correct answer: BCalculated columns compute values from fields in the same row, which fits a day difference between two dates on one record. Rollup columns aggregate related rows, image columns store pictures, and alternate keys enforce uniqueness rather than calculating values.
Question 12
Which Dataverse feature lets a prompt column generate text for each row by using a prompt, so users see an AI-created summary in the form?
- APrompt column configured with an AI Hub prompt that reads columns from the same row
- BAuto-number column that assigns sequential identifiers to each new claim row automatically
- CImage column that stores a generated screenshot of the claim form for display
- DAlternate key that stores a unique summary value for each claim record
Show answer and explanationHide answer
Correct answer: AA prompt column runs an AI prompt against row data and stores the generated result, which lets users see AI output in the form. Image, alternate key and auto-number columns do not generate content from prompts.
Question 13
A row summary should show the most important facts about an expense claim at the top of its record page. Which configuration achieves this?
- AConfiguring a row summary with selected columns so they appear in the record header
- BExporting the claim to a spreadsheet each time it is opened, then reviewing the rows by hand
- CHiding every column on the main form so the claim fields are no longer visible to reviewers
- DCreating a separate model-driven app for each individual claim record in the environment and sharing it
Show answer and explanationHide answer
Correct answer: ARow summaries surface chosen columns in the record header, giving users key facts at a glance. Hiding columns removes information, a separate app per claim does not scale, and exporting adds manual steps.
Question 14
A public view must be available to all users of the expense app, while personal filters should remain private. Which configuration matches this need?
- ASaving the view as a personal bookmark in the browser profile of each individual user account
- BCreating a separate Dataverse table for each user's view so every person keeps their own copy
- CSharing a screenshot of the view with each user by email as a static image attachment
- DConfiguring a public view on the table that every user with table access can use
Show answer and explanationHide answer
Correct answer: DPublic views are shared definitions available to users with access to the table, while personal views remain private to their creator. Bookmarks, screenshots and per-user tables do not provide managed shared views.
Question 15
A security administrator wants managers to see all expense claims in their department but employees to see only their own. Which Dataverse mechanism provides this control?
- AChanging the form layout for each user so managers and employees see different fields on the main record page
- BAdding a note in the app description that tells managers they can view the department claims by default
- CUsing a separate Dataverse environment for every employee so each person has an isolated database instance
- DSecurity roles with record-level access levels such as user, business unit, or organization
Show answer and explanationHide answer
Correct answer: DSecurity roles grant table privileges at scope levels such as user or business unit, which implements row-level access. Form layouts control display rather than access, notes do not enforce rules, and per-user environments are impractical.
Question 16
Which environment type is most appropriate for building and testing new app changes without affecting live users?
- AA shared personal laptop with an unmanaged copy
- BThe environment used by the finance department's live payroll
- CA development or sandbox environment separate from production
- DThe production environment with a temporary label
Show answer and explanationHide answer
Correct answer: CA separate development or sandbox environment isolates build work from live users, which is the standard ALM approach. Building in production risks disruption, a laptop copy is not governed, and using a live payroll environment exposes real operations.
Create intelligent applications (8 questions)
Question 17
Which two options are valid ways to add an agent to a canvas app? (Choose two.)
- AAdding a Copilot Studio agent created from the canvas app
- BConnecting an agent through the app's connectors and actions
- CPasting the agent's source code into a formula
- DRenaming a label to the agent's name
- ECreating a new agent by typing its name in the title bar
Show answer and explanationHide answer
Correct answer: A, BA Copilot Studio agent can be created or connected from the canvas app through the supported integration. Pasting code into a formula or renaming labels does not add an agent.
Question 18
Which two techniques make a canvas app easier to reuse and maintain? (Choose two.)
- AHardcoding table names in each control
- BKeeping all logic inside a single button
- CCreating component libraries for shared UI elements
- DDefining named formulas or user-defined functions for repeated logic
- ECopying the same formula into every control
Show answer and explanationHide answer
Correct answer: C, DComponent libraries and named formulas or user-defined functions centralize shared parts so changes are made once. Copied formulas, hardcoded names and single-button logic duplicate effort and increase errors.
Question 19
A model-driven app needs a dashboard for managers that shows open claims by status. Which configuration supports this?
- AAn email sent manually every morning by a support analyst
- BA chart on the claims view grouped by status, placed on a dashboard
- CA static list typed into the app description and edited later
- DA canvas app with hardcoded numbers in a fixed Text control on every launch
Show answer and explanationHide answer
Correct answer: BCharts grouped by status on a dashboard reflect current data for managers. Static lists, manual emails and hardcoded numbers do not stay current.
Question 20
A generative page in a model-driven app must be created from a plain-language description. What should the builder provide?
- AA natural language description of the page's purpose and the data it should show
- BA video of the app being used by sales staff during a demo session
- CA list of the developer's favorite colors for the brand palette
- DThe SQL server password for the production database connection string and service account
Show answer and explanationHide answer
Correct answer: AGenerative pages are created from natural language descriptions of purpose and data, which the builder then refines. Colors, passwords and videos do not define page content.
Question 21
A canvas app must show a list of claims from a Dataverse table and let users filter it by status. Which approach is the most appropriate?
- AConnecting the app to the table and using a gallery with a filter formula on the status column
- BCopying the entire table data into a single text box control that loads once in App.OnStart as a static copy
- CAsking users to scroll through the table in the portal and page through results 50 rows at a time with no filter
- DCreating a button that opens a web page for each claim containing the claim's read-only details in a new tab
Show answer and explanationHide answer
Correct answer: AA gallery bound to the table with a filter formula gives a live, filterable list. A text box copy is static, portal scrolling is unrelated, and a button per claim does not provide filtering.
Question 22
A canvas app crashes when the network is slow because a formula refers to an unavailable data source. Which pattern implements error handling well?
- AIgnoring errors from the failed Dataverse call so the user sees a blank screen and the app keeps running silently
- BRestarting the device each time a network error occurs, then reopening the app to refresh
- CChecking the result of the operation with IfError or a Notify call that tells the user what happened
- DRemoving the network calls from the app and replacing them with a static placeholder value
Show answer and explanationHide answer
Correct answer: CIfError or a notification handles failures and gives the user a clear message while the app continues. Blank screens, device restarts and removing network calls do not solve the error.
Question 23
A canvas app must store a list of selected line items while a user works on a form, without sending them to Dataverse until submission. Which construct is most suitable?
- AA cloud flow that runs every second to store each selection in Dataverse for audit
- BA screenshot of the selection stored in a shared folder
- CA collection that is updated in the app and saved to Dataverse on submit
- DA permanent table created for every selection with a unique name
Show answer and explanationHide answer
Correct answer: CCollections hold in-app data temporarily and let the user write to Dataverse on submit. Creating tables per selection, flows that run every second and screenshots are inefficient or inappropriate.
Question 24
A canvas app is being prepared for users on small phones and tablets. Which design practice helps the app work across these sizes?
- AUsing very small fonts and tight padding so more fits on screen
- BUsing responsive containers and testing the layout at several screen sizes
- CDesigning for a single fixed-width 1366x768 desktop resolution
- DPlacing the controls outside the visible area and hiding them
Show answer and explanationHide answer
Correct answer: BResponsive containers and testing multiple screen sizes keep layouts usable on different devices. Fixed single-resolution design and tiny fonts reduce usability, and off-screen controls are inaccessible.
Build data models (6 questions)
Question 25
An expense app's total spend must be shown as a chart by department on a dashboard. Which configuration best supports this?
- AA text column with the total spend typed manually by each user on the form page
- BA model-driven app dashboard with charts built on the expense table's views
- CA static image of the expense chart pasted into the form as a picture in PNG format
- DA canvas app timer control that refreshes the total every minute during the session
Show answer and explanationHide answer
Correct answer: BDashboards with charts built on table views display aggregated data that stays current. Static images and manual text go out of date, and a timer does not produce a chart.
Question 26
A table has a column that must only accept a value from a fixed list, such as Low, Medium, and High. Which column type is appropriate?
- ARollup column with three rows
- BChoice column with the defined options
- CFree text column with spelling checks by the user
- DImage column with three pictures
Show answer and explanationHide answer
Correct answer: BChoice columns restrict input to a defined list and keep data consistent. Free text allows typos and variations, image columns store pictures, and rollups aggregate values.
Question 27
A maker wants to show related claim lines on a claim's form. Which feature displays the related rows?
- AA separate browser tab for each line that opens from the claim form
- BA public view of the lines in a list with no link to the claim record
- CA calculated column with every line details concatenated into text
- DA subgrid on the form that shows the related table's rows
Show answer and explanationHide answer
Correct answer: DSubgrids show related rows directly on the parent form, which keeps context together. Separate tabs, long concatenated text and unlinked views lose the relationship.
Question 28
A table needs a relationship to a lookup table of countries. Each claim references one country, and many claims can share the same country. Which relationship type matches?
- AMany-to-many between claims and countries
- BMany-to-one from claims to countries
- COne-to-one between claims and countries
- DNo relationship with a free-text country column
Show answer and explanationHide answer
Correct answer: BMany claims reference one country, which is a many-to-one relationship from the claims side. Many-to-many or one-to-one do not match, and free text loses the reference integrity the lookup provides.
Question 29
A maker wants to add a column that shows the status of the parent claim on each line item. Which approach uses the existing relationship correctly?
- ACreating a new custom table for each possible status value and linking it to the line items
- BCopying the claim status into a static screenshot image embedded in each line item record
- CTyping the claim status into each line item manually and refreshing it when the claim changes
- DAdding a related column using the lookup to the claim, then displaying its status
Show answer and explanationHide answer
Correct answer: DUsing the lookup relationship to show the parent's status keeps data synchronized. Manual typing duplicates data, separate status tables complicate the model, and images are not data.
Question 30
A business requirement says that a country row must not be deleted while claims still reference it. Which relationship behavior should be configured?
- ADeleting parent rows without checking the relationship
- BRenaming the table to prevent accidental deletion
- CCascade delete on the relationship to remove claims
- DRestrict delete behavior on the relationship
Show answer and explanationHide answer
Correct answer: DRestrict delete prevents removal of a referenced row while dependent rows exist. Cascade delete would remove the claims, while unchecked deletion and renaming do not enforce the rule.
Want more AB-410 questions?
The full bank has 100 questions with answers and explanations, as a PDF, an online practice exam, or both.
Both formats together. The best value.
Instant access after payment, with 90 days of updates. Checkout is on our store, AIExamCerts.