Courseiva

CCNA Dataverse Foundations Questions

75 of 91 questions · Page 1/2 · Dataverse Foundations topic · Answers revealed

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

24
MCQmedium

You are designing a solution for a sales tracking app. You need to create a new custom table called 'Project' that will store project details. The table must have a primary column that uniquely identifies each project and a secondary column for the project's start date. Which of the following best describes the default behavior when you create a new custom table in Dataverse?

A.A primary column named 'Name' of type Single Line of Text is automatically created and can be renamed.
B.A primary column named 'Name' of type Single Line of Text is automatically created and cannot be changed.
C.A primary column named 'ID' of type Autonumber is automatically created and cannot be changed.
D.No primary column is created; you must manually add one after saving the table.
AnswerA

When you create a custom table in Dataverse, a primary column named 'Name' is created by default. You can rename this column to something more meaningful, such as 'Project Name', and it remains the primary column for the table. This is the standard behavior in Power Apps.

Why this answer

When you create a custom table in Dataverse, the system automatically generates a primary column named 'Name' of type Single Line of Text. This column serves as the primary identifier for records and can be renamed to better suit your business needs. It cannot be deleted, and its data type cannot be changed, but you can modify its display name and other properties.

Exam trap

The trap here is assuming that the primary column is fixed and cannot be renamed, or that it uses a different data type such as Autonumber by default.

25
Multi-Selectmedium

Which TWO of the following are valid relationship types in Dataverse?

Select 2 answers
A.Many-to-Many
B.One-to-Many
C.Universal-to-Many
D.One-to-One-to-One
E.Hierarchical-to-Flat
AnswersA, B

Many-to-Many is a native Dataverse relationship type, allowing each record on either side to relate to multiple records on the other. Dataverse implements it through an intersect entity, so no lookup column is required on either participating table.

Why this answer

In Microsoft Dataverse, the supported table relationship types are One-to-Many (1:N), Many-to-One (N:1, the same relationship viewed from the other side), and Many-to-Many (N:N), so option A (Many-to-Many) and option B (One-to-Many) are both valid relationship types. One-to-Many is the most common relationship, where a single row in one table relates to many rows in another (for example, one Account to many Contacts), and Many-to-Many allows many rows in each table to relate to many rows in the other, typically implemented via an intersect table. The other options are not real Dataverse relationship types: 'Universal-to-Many' (C) and 'Hierarchical-to-Flat' (E) are invented terms, and 'One-to-One-to-One' (D) does not exist as a relationship type — Dataverse does not define a three-way 1:1:1 relationship.

Exam trap

AB-410 often tests whether candidates can distinguish real Dataverse relationship types from plausible-sounding fabrications like 'Universal-to-Many' or 'One-to-One-to-One'.

26
MCQeasy

Which tool is used to manage Dataverse environments and solutions?

A.Power Apps Studio
B.Dataverse Web API
C.Power Platform admin center
D.Solution Explorer
AnswerC

The Power Platform admin center is the web portal for managing Dataverse environments, including creating environments, assigning roles, and deploying solutions across them. It provides the centralised administrative interface required to govern environments and solution lifecycle.

Why this answer

The Power Platform admin center is the centralized web portal for managing environments, Dataverse capacity, solutions, security roles, and tenant-wide settings across Power Apps, Power Automate, and Dataverse. Administrators use it to create/manage environments, deploy solutions, and monitor usage. Power Apps Studio and Solution Explorer are maker tools, not admin management surfaces.

Exam trap

AB-410 often tests the confusion between maker tools (Power Apps Studio, Solution Explorer) and the admin center — candidates must remember that tenant/environment/solution administration lives in the Power Platform admin center.

How to eliminate wrong answers

Option A is wrong because Power Apps Studio is a maker canvas for building apps, not for managing environments or solutions at the tenant level. Option B is wrong because the Dataverse Web API is a programmatic REST interface for data operations, not a management tool for environments/solutions. Option D is wrong because Solution Explorer is a legacy maker interface for working with solutions inside an environment, not the admin center for managing environments themselves.

27
Multi-Selectmedium

A developer is configuring a new custom table in Dataverse. They need to ensure that the table supports auditing and that users can search for records using the Dataverse search. Which two table properties must be enabled? (Choose two.)

Select 2 answers
A.Enable for Dataverse search
B.Enable auditing
C.Enable change tracking
D.Enable attachments
E.Enable quick create
AnswersA, B

This property makes the table and its columns available to the Dataverse search index. Enabling it ensures that records from this table can appear in search results across model-driven apps. It is required for the table to be searchable via the global search experience.

Why this answer

To support auditing, the table must have auditing enabled. To be searchable via Dataverse search, the table must be enabled for search. Change tracking, quick create, and attachments are separate features that do not fulfill the stated requirements.

Thus, the two correct properties are Enable auditing and Enable for Dataverse search.

Exam trap

The trap here is assuming that enabling change tracking also enables auditing, but they are distinct features with different purposes.

28
MCQmedium

You are a builder working on a Power Platform solution that includes a custom Dataverse table named ProjectTask. You need to ensure that each ProjectTask record has a unique, human-readable identifier that is automatically generated when the record is created, and users should not be able to change it after creation. What should you use?

A.Use a text column with a business rule that sets the value to a concatenation of the Project name and a sequential number.
B.Use an Autonumber column with a format that combines a prefix and a sequential number.
C.Create a calculated column that concatenates the created-on date and the record ID.
D.Use the primary column of the table and set it to be unique.
AnswerB

Autonumber columns automatically generate a unique, sequential string when a record is created. The format can include a prefix and a number, producing a human-readable identifier. By default, the column is read-only on forms after creation, so users cannot change it. This meets the requirement for an automatic, unique, and immutable identifier without custom code.

Why this answer

An Autonumber column in Dataverse automatically generates a unique, sequential identifier when a record is created. It supports a configurable format with a prefix, and the generated value is read-only on forms, ensuring users cannot alter it. This satisfies the need for a human-readable, automatically generated, and immutable unique identifier without requiring custom code or external logic.

Exam trap

The trap here is assuming that a business rule or calculated column can generate a unique, immutable identifier, but only an Autonumber column provides that capability natively.

29
MCQmedium

What happens when you delete a 'Managed' solution in a target environment?

A.The components are removed
B.The data is deleted
C.The solution becomes unmanaged
D.Nothing happens
AnswerA

Deleting a managed solution removes its components from the target environment because the solution's publisher owns the lifecycle. Unlike unmanaged solutions, where deletion only removes the solution container and leaves components behind, managed deletion strips the actual artefacts.

Why this answer

Deleting a managed solution from a target environment removes the solution and all components it owns, provided no other solution layer depends on them. Managed solutions are deployed as immutable layers, and uninstalling the managed solution deletes the components that were introduced by that solution. Data stored in those tables is not deleted by default.

Exam trap

AB-410 often tests the misconception that deleting a managed solution deletes its data or converts it to unmanaged, when it actually removes the managed layer and its owned components while leaving data intact.

How to eliminate wrong answers

Option B is wrong because deleting a managed solution removes metadata/components, not the business data rows stored in the tables. Option C is wrong because a managed solution cannot be converted to unmanaged; managed and unmanaged are distinct solution types, and only unmanaged solutions can be edited. Option D is wrong because deletion does remove the solution and its owned components — it is not a no-op.

30
MCQeasy

Which component allows users to navigate between different entities in a Model-driven app?

A.Business Process Flow
B.Site Map
C.View
D.Form
AnswerB

The Site Map defines the app's navigation structure, exposing entities as areas, groups and subareas in the navigation bar. It directly satisfies the requirement to move between different entities, since each subarea links to a specific table's views and forms. Without a configured Site Map, users cannot switch entities within the model-driven app.

Why this answer

The Site Map defines the navigation structure of a model-driven app, including areas, groups, and subareas that link to entities, dashboards, and other components. It is the component that allows users to navigate between different entities. Without a site map, users cannot move between tables in the app.

Exam trap

AB-410 often tests the role of the Site Map versus forms and views; candidates may pick 'View' or 'Form' because they are common components, but only the Site Map controls app navigation.

How to eliminate wrong answers

Option A is wrong because a Business Process Flow guides users through stages of a process, not navigation between entities. Option C is wrong because a View is a filtered list of records for a single entity, not a navigation mechanism. Option D is wrong because a Form displays a single record's data, not navigation between entities.

31
MCQeasy

You are creating a new custom table in Dataverse to store product information. You need to ensure that each product has a unique identifier that is automatically generated and can be used as a primary key. Which column type should you use?

A.Date and Time
B.Currency
C.Autonumber
D.Text
AnswerC

An Autonumber column automatically generates a unique numeric value for each new record. It can be formatted with prefixes and suffixes, and it is ideal for use as a primary key because it guarantees uniqueness without manual intervention. This meets the requirement for an automatically generated unique identifier.

Why this answer

An Autonumber column is designed to automatically generate unique numeric values for each record. It can be customized with prefixes and suffixes, making it suitable for use as a primary key. This ensures that every product has a distinct identifier without manual data entry, simplifying record management and integration.

Exam trap

The trap here is thinking that any column can serve as a primary key, but only certain types like Autonumber guarantee automatic uniqueness.

32
MCQmedium

You need to import a large volume of data into Dataverse. Which feature allows you to perform bulk operations efficiently?

A.Excel Online
B.Dataflows
C.Power Automate
D.Command line interface
AnswerB

Dataflows satisfy the bulk-import constraint by extracting, transforming, and loading large volumes directly into Dataverse without code, using Power Query's mashup engine to batch records. Unlike row-by-row API calls, dataflows schedule recurring refreshes and upserts, so high-volume loads complete efficiently and stay synchronised with Microsoft Entra ID-authenticated source systems.

Why this answer

Dataflows in Power Platform provide a scalable way to ingest, transform, and load large volumes of data into Dataverse and other destinations. They use Power Query Online to perform ETL operations and can handle bulk data movement efficiently, including scheduled refreshes and incremental loads. This makes Dataflows the appropriate feature for high-volume data import into Dataverse.

Exam trap

AB-410 often tests the distinction between automation tools (Power Automate) and data integration tools (Dataflows), so candidates pick Power Automate for bulk operations when Dataflows is the correct scalable ETL feature.

How to eliminate wrong answers

Option A is wrong because Excel Online is limited by row limits and is not designed for bulk data operations into Dataverse at scale; it is suitable for small manual imports. Option C is wrong because Power Automate is an automation tool, not a bulk data ingestion mechanism — while it can create records one at a time or in batches, it is not optimized for large-volume ETL and can hit throttling limits. Option D is wrong because a command line interface is not a native Power Platform feature for bulk data import into Dataverse; while tools like the Dataverse CLI or PAC CLI exist for solution deployment, they are not the primary bulk data loading feature.

33
Multi-Selectmedium

Which TWO field types allow for mathematical calculations?

Select 2 answers
A.Lookup
B.Text
C.Calculated
D.Choice
E.Rollup
AnswersC, E

Calculated fields compute values at read time using the platform's calculation engine, supporting arithmetic, concatenation and conditional logic across fields on the same record. This satisfies the requirement for a field type performing mathematical calculations.

Why this answer

Option C, Calculated, is correct because a calculated field stores a formula that evaluates expressions using operators and functions, so it directly performs mathematical calculations. Option E, Rollup, is correct because a rollup field aggregates values from related records using functions such as SUM, COUNT, MIN, MAX, and AVG, which are mathematical operations. The unmarked options do not belong: Lookup (A) only retrieves a value from a related record, Text (B) stores alphanumeric strings, and Choice (D) stores a selected value from a predefined list — none of these perform calculations.

Exam trap

AB-410 often tests the distinction between Calculated (same-row formula) and Rollup (cross-record aggregation) columns, tricking candidates into picking Lookup because it 'relates' data.

34
MCQeasy

You are creating a new custom table in Dataverse. You need to ensure that users can quickly find records by searching for a specific text field. Which column property should you enable to allow the field to be used in search?

A.Searchable
B.Primary
C.Required
D.Audit
AnswerA

The Searchable property allows a column to be included in Dataverse search. When enabled, the column's content is indexed and can be queried using the search API or the global search box. This directly addresses the requirement to quickly find records by searching for a specific text field. It is the correct property to enable.

Why this answer

The Searchable property is specifically designed to include a column in Dataverse search indexing. When enabled, the column's values become searchable via the global search and APIs. Other properties like Audit, Primary, and Required serve different purposes and do not affect searchability.

Therefore, Searchable is the correct property to enable.

Exam trap

The trap here is confusing the Primary property with Searchable, but only one column can be primary, and it is not the same as making any text column searchable.

35
Multi-Selecthard

Which THREE of the following are primary capabilities of Dataverse business rules?

Select 3 answers
A.Delete records automatically
B.Set field requirements (Business Required)
C.Validate data and show error messages
D.Set field values
E.Write custom C# code
AnswersB, C, D

Business rules enforce field-level requirements at the form and table layer without code, marking columns as Business Required so entries cannot be saved while blank. This satisfies the stem's demand for a primary Dataverse business rule capability, distinct from plugins or JavaScript, which handle validation logic outside the rule engine.

Why this answer

Dataverse business rules are declarative, no-code components that operate on a table's forms and data. Option B is correct because business rules can change a column's requirement level to Business Required (or Recommended) based on conditions, without writing code. Option C is correct because business rules can validate data against conditions and display error messages to the user when validation fails.

Option D is correct because business rules can set field values automatically when specified conditions are met, such as defaulting or clearing a column. Option A is not a capability of business rules, since they cannot delete records; deletion requires workflows, Power Automate, or code. Option E is not correct because business rules are declarative and do not support custom C# code, which would require plug-ins or custom APIs.

Exam trap

The trap here is confusing business rules with workflows or plugins: candidates may think business rules can delete records or run C# code, but they are strictly declarative field-level logic.

36
Multi-Selecthard

Which THREE items are considered 'Managed' components in a solution?

Select 3 answers
A.Views
B.Forms
C.Individual record data
D.The user list
E.Entities
AnswersA, B, E

Views are solution components created and edited inside the unmanaged solution layer, so they are classified as Managed when shipped in a managed solution. This satisfies the stem's requirement by being a component type that the platform tracks and packages, unlike unmanaged artefacts.

Why this answer

In a managed solution, the solution-aware metadata components are packaged as managed, and Views (A) are solution components that ship as managed metadata, so they are considered managed. Forms (B) are likewise solution components (system or custom entity forms) that are included in a managed solution and are therefore managed. Entities (E) are core solution components — the entity metadata (tables, attributes, relationships) is managed when the solution is imported as managed.

By contrast, individual record data (C) is not a solution component and is never managed by a solution; it is just data stored in the environment. The user list (D) is also not a solution component — users are environment/tenant-level records, not packaged or managed by a solution.

Exam trap

AB-410 often tests whether candidates confuse solution metadata components (tables, forms, views) with environment data (records, users), leading them to incorrectly include data or users as managed components.

37
MCQmedium

You are building a canvas app that connects to Dataverse. You need to store a list of product categories that will be used across multiple apps. The categories should be easy to update without modifying any app. What should you create?

A.An Excel file stored in OneDrive and connected via the Excel connector.
B.A static collection defined in each app's OnStart property.
C.A global choice column in the Product table.
D.A custom table named Category with a primary column for the category name.
AnswerD

A custom table in Dataverse provides a centralized, reusable data store. You can define columns, relationships, and business rules. Multiple apps can connect to the same table, and updates to the data are reflected immediately without app changes. This matches the requirement for a shared, easily updatable list.

Why this answer

A custom table in Dataverse is the appropriate choice for storing shared reference data that multiple apps can consume. It centralizes data management, supports security roles, and allows updates without app modifications. Other options are either app-specific or lack the necessary structure and manageability.

Exam trap

The trap here is confusing a global choice with a table, but a choice is a static list of values, not a dynamic set of records.

38
MCQeasy

A system administrator is setting up a new Dataverse environment. They need to ensure that users can only access records that they own or that are shared with them, and that they cannot see records owned by other users in the same business unit. Which security concept should they configure?

A.Column security profiles
B.Security roles with User-level access
C.Field-level security
D.Business unit hierarchy
AnswerB

Security roles define privileges and access levels. Setting the access level to 'User' for an entity means users can only access records they own or that are shared with them. This matches the requirement to restrict users to their own records and not see others' records within the same business unit.

Why this answer

Security roles in Dataverse define both privileges (what actions a user can perform) and access levels (which records they can perform them on). By assigning a security role with 'User' access level for the relevant entities, users can only access records they own or that are explicitly shared with them. This prevents them from seeing records owned by other users, even within the same business unit, unless sharing is configured.

Exam trap

The trap here is confusing record-level access with field-level or column-level security, which only restrict specific data fields rather than entire records.

39
Multi-Selecthard

You are preparing a solution for transport from a development environment to a production environment. The solution contains a custom table, a model-driven app, and several cloud flows that reference environment variables. During import testing, you discover that the flows fail because their connection references point to the developer's personal connections. You need to identify which behaviors are true of connection references and environment variables when a solution is exported and imported. (Choose two.)

Select 2 answers
A.Connection references are included in the solution and must be mapped to an actual connection in the target environment during import.
B.Environment variables store configuration values separately from the solution logic, and their current values can be supplied at import time.
C.Environment variable values are compiled into the flow definition at export time and cannot be changed after import.
D.Connection references automatically create new connections in the target environment using the importing user's credentials.
E.Removing a connection reference from the solution also removes the underlying connection from the source environment.
AnswersA, B

Connection references are solution components that abstract the credentials away from the flow definition. On import into production, the administrator or maker must bind each connection reference to a valid connection owned by an identity in that environment. This is exactly why the developer's personal connections did not travel with the solution and why the flows failed until a mapping was provided.

Why this answer

Connection references and environment variables are the two mechanisms that make a solution portable across environments. Connection references travel as solution components but must be rebound to real connections in the target environment, which is why personal developer connections break after import. Environment variables travel as a schema with a default and a current value, and the current value can be re-supplied at import so the same flows behave correctly in production.

Exam trap

The trap here is assuming that connections and configuration values follow the solution automatically, when in fact connection references must be rebound and environment variable values must be deliberately supplied per environment.

40
Multi-Selectmedium

Which TWO types of security roles exist in Dataverse?

Select 2 answers
A.Custom
B.System-provided
C.User-defined
D.Anonymous
E.Dynamic
AnswersA, B

Custom roles are created by copying an existing role and editing its privileges, letting organisations grant least-privilege access beyond the fixed Microsoft-supplied roles. Dataverse defines exactly two role types: custom and the predefined standard roles. This satisfies the stem's requirement for a genuine security role type, not a permission construct such as teams or business units.

Why this answer

In Microsoft Dataverse, security roles come in exactly two categories: custom roles and system-provided roles. Option A (Custom) is correct because administrators can create, modify, and assign custom security roles to fit specific organizational access requirements, granting tailored privileges on tables, records, and other resources. Option B (System-provided) is correct because Dataverse ships with predefined out-of-the-box roles (such as System Administrator, System Customizer, and Basic User) that cannot be deleted, though they can be copied and edited.

Option C (User-defined) is not a recognized Dataverse role type — it is essentially a synonym sometimes confused with custom roles, but it is not the official classification. Option D (Anonymous) is incorrect because Dataverse does not define an anonymous security role; anonymous access is handled through other mechanisms such as web resources or portals, not Dataverse security roles. Option E (Dynamic) is incorrect because dynamic is not a Dataverse security role type; while Dynamics 365 has concepts like dynamic marketing lists, security roles themselves are only custom or system-provided.

Exam trap

AB-410 often tests whether candidates confuse role categories (System vs Custom) with access types (Anonymous, Authenticated) or with role behaviors (Dynamic), causing them to select plausible-sounding but non-existent role types.

41
MCQhard

A maker publishes a canvas app that reads from a Dataverse table. Users report that records created by teammates are visible, but when a user tries to update a record created by someone else, the save fails with a permission error. The maker confirms the users share the same security role. Which Dataverse concept most likely explains why updates fail while reads succeed?

A.The canvas app uses a cached connection that only allows the original owner to write.
B.The table's audit settings are capturing changes and blocking writes.
C.The security role grants read at the organization level but write only at the user level.
D.The table uses organization-owned records, so only the creator can update.
AnswerC

In Dataverse, read and write privileges are configured independently, each with its own access level. A role that grants organization-level read but user-level write allows users to see all records while only editing records they own. This precisely explains why teammates' records are visible but not updatable by others.

Why this answer

Dataverse privileges are assigned per operation, and each operation has its own access level. Granting read at the organization level while granting write at the user level lets users view all records but restrict edits to records they own, which matches the reported symptoms exactly. Organization ownership, auditing, and connection caching do not produce this read-succeeds, write-fails pattern.

Exam trap

The trap here is treating read and write as a single combined privilege, when Dataverse assigns access levels to each operation separately.

42
MCQmedium

A team is building an app on Dataverse. They need to record the moment a support ticket is escalated so that downstream automations can trigger on that event, and they want the value captured automatically without the user entering it. They also want the value to remain unchanged if the ticket is later edited. Which column type best fits this requirement?

A.A calculated column that returns the current date and time whenever the escalated flag is true.
B.A whole number column that stores a timestamp value converted to ticks by the client application.
C.A Date and Time column named Escalated On that is set by a business rule or Power Automate flow when the escalation status changes.
D.A Date and Time column with a default value of the current date and time.
AnswerC

Setting the column explicitly when the escalation condition occurs captures the exact moment of escalation and leaves the value intact on later edits. A business rule can do this client-side on status change, while a flow handles server-side or cross-record logic. Either way the value is written by automation rather than the user, satisfying both the timing and immutability requirements.

Why this answer

The requirement is to capture the escalation moment automatically and then freeze that value. A Date and Time column populated by a business rule or Power Automate flow at the moment the escalation status changes does exactly that. A creation-time default captures the wrong event, a calculated column cannot reference the clock at an arbitrary time and recalculates on edits, and storing ticks in a number column loses native date behavior.

Exam trap

The trap here is reaching for a calculated column or a creation default, when neither can record an event-driven moment that occurs after the record already exists.

43
MCQhard

You are configuring a Dataverse environment for a multinational company. The company requires that certain records be accessible only to users in the same business unit, while other records should be accessible to all users in the organization. You need to set up security roles to enforce this. Which of the following security role privileges should you configure to allow users to read records only within their business unit?

A.Business Unit (BU) level Read privilege on the table.
B.User level Read privilege on the table.
C.Parent: Child Business Units level Read privilege on the table.
D.Organization level Read privilege on the table.
AnswerA

Setting the Read privilege to Business Unit level allows users to read records that are owned by their business unit. This is the correct configuration to restrict access to records within the user's business unit while still allowing them to see records owned by their team or themselves, depending on other privileges.

Why this answer

To allow users to read records only within their business unit, you must set the Read privilege on the table to Business Unit level. This grants access to records owned by the user's business unit while preventing access to records in other business units. Other levels like User, Organization, or Parent: Child Business Units do not meet the specific requirement.

Exam trap

The trap here is confusing the different access levels in Dataverse security roles, such as thinking that User level allows reading records within the business unit or that Organization level is necessary for cross-business unit access.

44
MCQeasy

Where do you define the table relationships in the Power Apps maker portal?

A.Security role editor
B.Environment settings
C.Table editor
D.App designer
AnswerC

The table editor in the Power Apps maker portal is where you create and modify relationships between tables, defining one-to-many and many-to-many associations. This directly satisfies the requirement to define table relationships within the maker portal.

Why this answer

Table relationships in Dataverse are defined in the Table editor within the Power Apps maker portal. From a table's Relationships tab, makers can create one-to-many, many-to-one, and many-to-many relationships, specifying related tables, lookup columns, and cascade behaviors.

Exam trap

The trap is assuming relationships are configured in the app designer or environment settings — candidates often confuse UI configuration with schema configuration, but relationships are strictly a table-level (schema) concern.

How to eliminate wrong answers

Option A is wrong because the Security role editor manages permissions (Create, Read, Write, Delete, Append, etc.) and does not define table relationships. Option B is wrong because Environment settings control environment-level configurations like language, currency, and features — not table schemas. Option D is wrong because the App designer is used to build the user interface (forms, views, screens) and consumes relationships but does not define them.

45
MCQmedium

You are designing a Dataverse solution for a sales tracking app. You need to categorize each opportunity by a predefined set of stages, such as 'Prospecting', 'Qualification', and 'Proposal'. Each opportunity can have only one stage at a time, and you want to ensure users select from these exact values. What should you create?

A.A Lookup column to a custom 'Stage' table
B.A Yes/No column for each stage
C.A Choice column with local options
D.A Text column with a regular expression validation
AnswerC

A Choice column with local options allows you to define a fixed list of values specific to that column. Users select one value from the list, ensuring consistency and preventing invalid entries. This matches the requirement for predefined stages with single selection per opportunity.

Why this answer

A Choice column with local options is ideal for providing a fixed list of values that users can select from. It ensures data consistency, is easy to configure, and supports single selection per record. This meets the need for categorizing opportunities by predefined stages without additional tables or complex validation.

Exam trap

The trap here is assuming that a Lookup column is always required for categorization, but a Choice column is simpler and sufficient for static lists.

46
MCQmedium

A user needs to see the history of changes made to a record's fields. What feature must be enabled?

A.Change tracking
B.Auditing
C.Version control
D.Table logging
AnswerB

Auditing records field-level change history, capturing who modified which attribute and when, directly satisfying the requirement to view a record's field change history. Enabling it in the environment's audit settings, plus auditing on the table and columns, produces the visible history.

Why this answer

Auditing in Dataverse (and Dynamics 365) is the feature that records field-level and record-level changes, including who changed what, when, and from where. Once auditing is enabled at the environment, table, and column levels, users with appropriate privileges can view the change history for a record.

Exam trap

AB-410 often tests whether candidates confuse change tracking (delta detection for sync) with auditing (full field-level change history), so any option mentioning version control or logging should be eliminated as non-Dataverse features.

How to eliminate wrong answers

Option A is wrong because change tracking is a lightweight mechanism used for data synchronization (e.g., with Dynamics 365 offline or external systems) that flags which records changed but does not store the before/after values or user identity for field-level history. Option C is wrong because version control is a software development concept (Git, source control) and is not a Dataverse feature for record history. Option D is wrong because 'table logging' is not a Dataverse feature — logging is a broader concept, and the specific feature for record change history is auditing.

47
MCQmedium

Which component should you use to create a user-friendly process guide on a form?

A.Business Process Flow
B.Business Rule
C.Dashboard
D.Quick View Form
AnswerA

Business Process Flows render a stage-based guide pinned to the form, walking users through defined stages and steps. This staged guidance delivers the user-friendly process guide on a form that the scenario requires, unlike scripts or business rules.

Why this answer

A Business Process Flow (BPF) renders a guided, stage-based bar at the top of a form that walks users through a defined sequence of steps, making it the correct choice for a user-friendly process guide. BPFs enforce stage order, can branch conditionally, and surface required fields per stage. They are purpose-built for process guidance rather than logic enforcement or data display.

Exam trap

AB-410 often tests the confusion between Business Process Flow (visual staged guidance) and Business Rule (logic enforcement), causing candidates to pick the rule when the question asks for a user-facing process guide.

How to eliminate wrong answers

Option B is wrong because a Business Rule enforces logic (set/clear/recommend fields, show/hide, validate) but does not present a staged visual guide to the user. Option C is wrong because a Dashboard aggregates charts and views across records; it does not guide a user through a form-based process. Option D is wrong because a Quick View Form displays related record data inline on a form; it has no process or stage semantics.

48
MCQeasy

What is the primary purpose of a Dataverse 'Solution'?

A.To store table data
B.To package and deploy customizations
C.To act as a database backup
D.To define user permissions
AnswerB

A Solution wraps customisation components—tables, apps, flows, plug-ins—into a single distributable unit, enabling transport across environments. This packaging and deployment capability is its primary purpose, satisfying the requirement to move customisations between Dataverse environments reliably.

Why this answer

A Dataverse 'Solution' is a container that packages customizations — such as tables, columns, forms, views, workflows, and plugins — so they can be transported between environments (e.g., dev to test to production). It provides a versioned, deployable unit for application lifecycle management. It does not store table data itself; it stores metadata and components.

Exam trap

AB-410 often tests whether candidates confuse the purpose of a solution (packaging customizations) with data storage or security, so the trap is selecting an option that describes a different Dataverse feature.

How to eliminate wrong answers

Option A is wrong because table data is stored in Dataverse tables, not in the solution; the solution only contains the schema and customization definitions. Option C is wrong because a solution is not a database backup; backups are handled by platform backup/restore features, and solutions only carry customizations. Option D is wrong because user permissions are defined by security roles and business units, not by solutions, although solutions can include security role components as part of a package.

49
MCQeasy

What is the purpose of the 'Default Solution' in Dataverse?

A.To secure data
B.To store all system components
C.To package for production
D.To act as a backup
AnswerB

The Default Solution is the unmanaged container holding every component in the environment, including all system tables and customisations. It cannot be exported or deleted, and it exists so all components have a home before being organised into other solutions.

Why this answer

The Default Solution is the auto-generated container that holds every unmanaged component created directly in a Dataverse environment, including tables, columns, forms, views, workflows, and apps. It exists so that all system components have a home even before a custom solution is defined. It is not a security boundary, deployment package, or backup mechanism — it is simply the catch-all unmanaged solution.

Exam trap

AB-410 often tests the misconception that the Default Solution is a security or backup construct, when it is actually just the implicit unmanaged container for components created outside a custom solution.

How to eliminate wrong answers

Option A is wrong because data security in Dataverse is enforced through security roles, field-level security, and business units, not through the Default Solution. Option C is wrong because packaging for production is the purpose of a managed solution exported via the solution mechanism, not the Default Solution. Option D is wrong because Dataverse backups are handled by platform backup/restore and retention policies, not by the Default Solution.

50
MCQeasy

You are designing a Dataverse data model for a field service application. A dispatcher must be able to assign a work order to exactly one technician, but a technician can be assigned many work orders over time. The work order table already exists and the technician table already exists. You need to add the relationship that enforces this business rule with the least administrative effort. What should you create?

A.A self-referential relationship on the work order table that links each work order to its assigned technician record.
B.A one-to-many relationship from the work order table to the technician table, with a lookup column on the technician table.
C.A one-to-many relationship from the technician table to the work order table, with a lookup column on the work order table.
D.A many-to-many relationship between the technician table and the work order table using an intersect table.
AnswerC

This is correct because a single technician relates to many work orders while each work order holds one technician lookup, which is exactly the one-to-many shape required. Creating the relationship from the technician (one) side automatically provisions the lookup column on the work order (many) side, so no separate column definition or junction table is needed and administrative effort stays minimal.

Why this answer

The business rule describes classic one-to-many cardinality: one technician is associated with many work orders, and each work order carries a single technician reference. Modeling it as a one-to-many relationship anchored on the technician table and adding the lookup on the work order table satisfies the rule directly. Many-to-many and reversed or self-referential designs either permit invalid assignments or cannot span the two tables.

Exam trap

The trap here is assuming that any relationship between the two tables works, when the direction of the one-to-many determines which table receives the lookup column and therefore which cardinality is actually enforced.

51
MCQmedium

You are building a model-driven app for a healthcare clinic. The clinic wants to track patients and their appointments. A patient can have many appointments, and each appointment is associated with exactly one patient. When a patient is deleted, all their appointments should also be deleted. Which relationship behavior should you configure between the Patient and Appointment tables?

A.Parental
B.Referential, Restrict Delete
C.Referential, Remove Link
D.Configurable Cascading with Cascade Active
AnswerA

Parental behavior creates a cascade delete: when the parent (Patient) is deleted, all related child records (Appointments) are also deleted. This matches the requirement that appointments should be removed when a patient is deleted. It also enforces that an appointment cannot exist without a patient.

Why this answer

Parental behavior is a cascade delete where deleting the parent record deletes all child records. In this scenario, deleting a patient should remove all their appointments, which is exactly what Parental does. It also ensures that appointments cannot exist without a patient, maintaining referential integrity.

Exam trap

The trap here is confusing Parental with Referential, Remove Link; Parental deletes child records, while Remove Link only clears the lookup.

52
MCQhard

You are migrating a solution from development to production. You notice the custom table is missing. What is the most common reason?

A.The environment is a trial
B.The table was not added to the solution
C.The solution is managed
D.The table is a system table
AnswerB

Solutions only carry components explicitly added to them. If the custom table was created outside the solution or never added, it stays in the default solution and is absent from the exported managed package, so it never reaches production.

Why this answer

The most common reason a custom table is missing after migrating a solution is that the table was never added as a component to the solution in the source environment. Solutions only export components explicitly included; if the table was created outside the solution context, it will not be part of the export and thus will not appear in the target.

Exam trap

AB-410 often tests whether candidates understand that solutions only include explicitly added components, so the trap is blaming environment type or managed/unmanaged status instead of the missing component inclusion.

How to eliminate wrong answers

Option A is wrong because a trial environment can still host and export solutions; trial status does not prevent table inclusion. Option C is wrong because a managed solution actually locks components but does not cause a table to be missing; if the table was included, it would be present (though uneditable). Option D is wrong because system tables are part of the platform and are not typically included in custom solutions, but the question refers to a custom table, so system table status is irrelevant.

53
MCQmedium

You need to group fields together on a form for better readability. What should you use?

A.Section
B.Tab
C.Column
D.Quick View
AnswerA

A Section control groups related fields into a distinct, collapsible block on a model-driven app form, directly satisfying the readability requirement. Unlike tabs, which organise content across separate pages, sections sit within a tab and provide the visual clustering the stem demands.

Why this answer

A Section is a container component on a form that groups related fields under a common heading, improving readability by visually clustering information. It allows you to organize fields into logical blocks, often with a title and collapsible behavior. This is the standard way to group fields on a form in Dynamics 365 and Power Apps model-driven apps.

Tabs, columns, and Quick Views serve different purposes and do not provide the same grouping functionality.

Exam trap

AB-410 often tests the distinction between form containers (tabs, sections, columns) and their specific roles, so candidates may confuse a Section with a Tab or Column when asked about grouping fields.

How to eliminate wrong answers

Option B is wrong because a Tab is a top-level container that holds sections and can contain multiple columns, but it does not directly group fields; it organizes the form into broader areas. Option C is wrong because a Column is a layout element within a section that determines how fields are arranged side-by-side, but it does not group fields under a single label or provide a grouping container. Option D is wrong because a Quick View is a control that displays read-only information from a related record, not a grouping mechanism for fields on the current form.

54
MCQeasy

What is the primary role of a 'Security Role' in Dataverse?

A.To route work items
B.To manage app branding
C.To define data access privileges
D.To define user authentication
AnswerC

A security role bundles table, record and column privileges that determine which Dataverse data a user can create, read, update or delete. Assigning it to a user or team grants those access rights, directly fulfilling the requirement to define data access privileges.

Why this answer

A Security Role in Dataverse defines the privileges a user or team has on tables, records, and other resources — essentially, it controls data access. Security roles specify Create, Read, Write, Delete, Append, Append To, Assign, and Share privileges at the table level, and the scope (User, Business Unit, Parent: Child Business Unit, Organization) determines which records the user can access. This is the primary role of a security role.

Exam trap

AB-410 often tests the confusion between authentication (handled by Entra ID) and authorization (handled by security roles) — candidates pick 'define user authentication' because they conflate the two concepts.

How to eliminate wrong answers

Option A is wrong because routing work items is handled by queues, routing rules, and workflows, not security roles. Option B is wrong because app branding is managed through app designer and themes, not security roles. Option D is wrong because user authentication is handled by Microsoft Entra ID (Azure AD) and identity providers — security roles are about authorization (what you can do), not authentication (who you are).

55
MCQhard

You have a table that is set to 'Organization' owned. What does this mean for security?

A.The records are owned by the system admin
B.The records must be assigned
C.The records are private
D.The records have no owner field
AnswerD

Organization-owned tables have no Owner field, so records cannot be assigned to a user or team. Access is controlled solely through security roles at the organisation, business unit, or user level rather than record ownership.

Why this answer

When a Dataverse table is set to 'Organization' owned, it means the table does not have an owner field — records are owned by the organization as a whole rather than by a user or team. Access is controlled entirely through security roles at the organization, business unit, or record level, and individual records cannot be assigned to specific users.

Exam trap

AB-410 often tests the misconception that all Dataverse records have an owner, so candidates pick 'owned by system admin' or 'must be assigned' instead of recognizing that Organization-owned tables have no owner field at all.

How to eliminate wrong answers

Option A is wrong because records in an Organization-owned table are not owned by the system administrator — the concept of an individual owner does not apply at all. Option B is wrong because records in Organization-owned tables cannot be assigned to users or teams; assignment is only possible for User or Team owned tables. Option C is wrong because 'private' implies user-owned records with restricted access, which is the opposite of Organization-owned tables where access is typically broader and governed by role privileges.

56
MCQmedium

A developer creates a custom table named 'Project' in Dataverse. They need to ensure that each project record has a unique project code that is automatically generated when the record is created. The code must follow the format 'PRJ-00001', 'PRJ-00002', etc. Which Dataverse feature should they use to achieve this?

A.Configure a business rule that sets the 'Project Code' column based on the record's creation date and a random number.
B.Write a plug-in that registers on the Create message of the 'Project' table and populates the 'Project Code' column.
C.Create a Power Automate cloud flow that triggers on record creation and sets the 'Project Code' column using an expression.
D.Set the 'Project Code' column as an autonumber column with a format of 'PRJ-{00000}'.
AnswerD

Autonumber columns in Dataverse automatically generate sequential alphanumeric values when a record is created. By specifying a format like 'PRJ-{00000}', the column will produce values such as PRJ-00001, PRJ-00002, etc. This is the native, supported way to create auto-incrementing identifiers without custom code.

Why this answer

Dataverse autonumber columns are specifically designed to automatically generate sequential alphanumeric values when records are created. They support custom formats with placeholders for sequential numbers, such as 'PRJ-{00000}', which produces PRJ-00001, PRJ-00002, and so on. This provides a reliable, no-code solution that ensures uniqueness and sequential ordering without the overhead of custom development or external flows.

Exam trap

The trap here is assuming that a Power Automate flow or plug-in is required to generate sequential codes, overlooking the built-in autonumber column feature that handles this natively.

57
MCQmedium

A solution architect must design a Dataverse table that stores historical sensor readings. The table will grow to hundreds of millions of rows, and queries will almost always filter by sensor identifier and a timestamp range. Which design choice best supports efficient querying at this scale?

A.Create separate columns for sensor identifier and timestamp and enable them for indexing.
B.Store readings in a single text column formatted as JSON.
C.Set the table ownership to Organization and remove all indexes.
D.Enable change tracking on the table and rely on the audit history for queries.
AnswerA

Dataverse allows selected columns to be indexed, and a composite query pattern using an indexed sensor identifier plus an indexed timestamp narrows the result set before row retrieval. This keeps range queries efficient as the table grows, because the platform can seek rather than scan. It is the standard approach for high-volume time-series style tables.

Why this answer

For very large tables queried by specific columns and ranges, indexing those columns is what allows the platform to locate matching rows efficiently instead of scanning the entire table. JSON packing, change tracking, and organization ownership each address different concerns and none of them provide the index-based seek behavior required for fast range queries at scale.

Exam trap

The trap here is confusing change tracking or organization ownership with query performance tuning, when the real lever for large-table range queries is column indexing.

58
MCQmedium

You are auditing Dataverse environment performance. You find that a custom table has excessive growth. Which action should you take to manage storage capacity effectively?

A.Increase the environment database capacity.
B.Convert the table to a Virtual Table.
C.Configure a Dataverse retention policy.
D.Delete the audit logs.
AnswerC

A Dataverse retention policy applies time-based deletion rules to table rows, purging aged records automatically and releasing capacity. This directly addresses the stem's excessive table growth, unlike archiving or auditing changes, which relocate or log data without reducing stored row volume.

Why this answer

A Dataverse retention policy lets you define how long rows are kept and automatically delete or archive records past a defined age, directly controlling the table's growth rate and conserving database capacity. This is the native, supported mechanism for lifecycle-based storage management in Dataverse.

Exam trap

The trap here is confusing capacity scaling (buying more storage) with capacity management (governing data lifecycle) — AB-410 expects you to choose the governance action, not the cost action.

How to eliminate wrong answers

Option A is wrong because increasing database capacity is a reactive cost increase, not a management action — it does not address the underlying growth problem. Option B is wrong because converting to a Virtual Table moves data to an external source (e.g., SQL) but does not reduce the logical data footprint and introduces query/performance trade-offs; it is not a storage-management solution. Option D is wrong because deleting audit logs removes compliance evidence and does not address the custom table's growth — audit logs are stored separately from table data.

59
MCQmedium

You are an app builder for a logistics company. The company uses a Dataverse table named Shipment with a choice column named ShipmentStatus that includes options such as Draft, InTransit, Delivered, and Cancelled. Business rules must automatically set the ShipmentStatus to Delivered when the ActualDeliveryDate column is populated, but users should not be able to manually change the status to Delivered if the ActualDeliveryDate is empty. Which Dataverse feature should you use to implement this requirement?

A.Create a real-time workflow that triggers on create and update of Shipment, sets ShipmentStatus to Delivered when ActualDeliveryDate is not null, and throws an error if a user attempts to set Delivered without ActualDeliveryDate.
B.Create a business rule that sets the ShipmentStatus column to Delivered when ActualDeliveryDate is not null and locks the ShipmentStatus column when ActualDeliveryDate is null.
C.Create a column-level security profile that makes the ShipmentStatus column read-only for all users and use a Power Automate cloud flow to update it when ActualDeliveryDate changes.
D.Write a JavaScript web resource that registers an OnChange event handler on the ActualDeliveryDate column to set ShipmentStatus and an OnSave event handler to validate that Delivered is only set when ActualDeliveryDate is populated.
AnswerB

Business rules run client-side and server-side to enforce logic without code. Setting the status when ActualDeliveryDate is populated and locking the column when it is empty ensures users cannot manually set Delivered prematurely. This matches the requirement exactly because business rules can both set values and lock columns based on conditions.

Why this answer

Business rules in Dataverse allow you to implement conditional logic without writing code. They can set column values and lock columns based on conditions, and they execute on both client and server. In this scenario, the rule ensures that when ActualDeliveryDate is populated, ShipmentStatus is automatically set to Delivered, and when ActualDeliveryDate is empty, the ShipmentStatus column is locked, preventing users from manually selecting Delivered.

Exam trap

The trap here is assuming that server-side enforcement alone (such as a real-time workflow) is sufficient, when the requirement also demands preventing manual changes in the user interface through column locking.

60
MCQhard

You need to prevent a user from deleting a record. Which permission should you remove from their security role?

A.Write
B.Read
C.Delete
D.Append
AnswerC

The Delete privilege on the table's security role grants the ability to remove records. Removing it revokes that capability entirely, so the user cannot delete the record regardless of other access rights they retain, such as read or write.

Why this answer

The Delete permission in a security role controls whether a user can delete records of a given entity. Removing the Delete privilege from the user's security role prevents them from deleting records, while still allowing other operations like reading or writing. This is the most direct and least-privilege way to prevent deletion.

Exam trap

AB-410 often tests the confusion between Write and Delete privileges, so candidates incorrectly think removing Write prevents deletion, when Delete is the specific privilege that controls record deletion.

How to eliminate wrong answers

Option A is wrong because removing Write permission prevents editing records but does not prevent deletion — a user could still delete a record they can read. Option B is wrong because removing Read permission prevents viewing records but does not specifically prevent deletion; in fact, without Read, the user may not see the record to delete it, but that is a side effect, not the intended control, and it also blocks legitimate viewing. Option D is wrong because Append permission controls the ability to associate records (e.g., append a child record to a parent) and does not govern deletion of the record itself.

61
MCQhard

A developer is creating a Power Automate cloud flow that must retrieve all active accounts with a specific industry and then update a custom column on each. The flow will run daily. Which Dataverse action should be used to efficiently retrieve the records?

A.List rows
B.List records
C.RetrieveMultiple
D.Get a row by ID
AnswerA

The List rows action in the Dataverse connector retrieves multiple records based on a filter expression and can return all matching rows using pagination. It is the standard action for querying a set of records, such as active accounts with a specific industry, and can be configured to return all pages.

Why this answer

The List rows action is the correct Dataverse connector action to query multiple records with a filter. It supports OData filter expressions and can be set to return all records via pagination. Get a row by ID is for single records, while the other options are not valid action names in Power Automate.

Exam trap

The trap here is using the SDK term RetrieveMultiple instead of the actual Power Automate action name List rows.

62
MCQhard

A Power Platform environment requires that users from the 'Sales' team cannot see 'Lead' records owned by the 'Marketing' team. You have already verified security roles. What is the next logical step?

A.Create a shared mailbox.
B.Use Access Teams.
C.Assign the teams to different Business Units.
D.Implement Field-Level Security.
AnswerC

Business units define the security boundary within which teams own records; placing Sales and Marketing in separate business units prevents cross-team record visibility when role privileges are otherwise identical. This isolates the Lead records owned by Marketing from Sales users.

Why this answer

In Power Platform, Business Units are used to partition data and control record ownership. By assigning the Sales and Marketing teams to different Business Units, you can ensure that users in one Business Unit cannot see records owned by users in another Business Unit, assuming the security roles do not grant cross-Business Unit access. This is the next logical step after verifying security roles.

Exam trap

AB-410 often tests the confusion between Business Units and Access Teams; candidates might think Access Teams restrict visibility, but they actually grant access, while Business Units are used for data isolation.

How to eliminate wrong answers

Option A is wrong because a shared mailbox is unrelated to record-level security in Power Platform. Option B is wrong because Access Teams are used to grant ad-hoc access to specific records, not to restrict visibility between teams. Option D is wrong because Field-Level Security restricts access to specific fields, not entire records.

63
MCQmedium

You are building a model-driven app for a chain of fitness studios. The app uses a custom Dataverse table named ClassSession that has a Many-to-One relationship to a custom table named Studio. Each studio has a weekly capacity limit stored in a Whole Number column named WeeklyCapacity. You need to prevent a user from creating a ClassSession record if the total number of ClassSessions for that studio in the same week would exceed the studio's WeeklyCapacity. The validation must run whenever a ClassSession is created or updated, regardless of whether the change comes from the model-driven app, a Power Automate flow, or the Web API. What should you use?

A.A Power Automate cloud flow that triggers on ClassSession creation and sends an approval request to the studio manager.
B.A plug-in registered on the Create and Update messages of the ClassSession table.
C.A column-level security profile applied to the WeeklyCapacity column.
D.A business rule on the ClassSession table that compares a rollup column to the WeeklyCapacity column.
AnswerB

A synchronous plug-in registered on the Create and Update messages executes inside the Dataverse pipeline for every write, including model-driven app saves, Power Automate, and the Web API. It can query the related ClassSession records, compare the count to the studio's WeeklyCapacity, and throw an InvalidPluginExecutionException to cancel the transaction. This is the only option that enforces the rule for all data-change paths.

Why this answer

The requirement is to block a write when a related aggregate exceeds a stored limit, and to do so for all entry points: model-driven app, Power Automate, and the Web API. Only synchronous server-side code registered on the Create and Update messages runs inside the Dataverse transaction and can cancel it. Client-side rules and asynchronous flows cannot guarantee prevention for every path.

Exam trap

The trap here is assuming a business rule or a rollup column can enforce a cross-record aggregate limit, when business rules run only in the client and rollup columns refresh asynchronously.

64
Multi-Selectmedium

You are configuring a new custom table in Dataverse to store project tasks. You need to ensure that the table supports attachments, allows users to add notes, and tracks when records are created and modified. Which two actions should you perform? (Choose two.)

Select 2 answers
A.Enable the 'Attachments' option in the table properties.
B.Configure the table to use a custom primary key.
C.Add a 'Created On' column to the table.
D.Add a 'Modified By' column to the table.
E.Enable the 'Notes' option in the table properties.
AnswersA, E

Enabling attachments allows users to attach files directly to records of this table. This is a table-level setting that must be turned on to support file attachments. Without it, the attachment feature is not available for the table.

Why this answer

To support attachments and notes, you must enable the 'Attachments' and 'Notes' options in the table properties. These are specific table-level settings that control whether users can attach files and add annotations. System columns like 'Created On' and 'Modified By' are automatically included and do not require manual addition.

Exam trap

The trap here is thinking that system columns like 'Created On' need to be manually added, but they are always present by default.

65
MCQeasy

Which entity property determines if a record can be renamed by a user?

A.Owner field
B.Record ID
C.Primary Name field
D.Status field
AnswerC

The Primary Name field on an entity defines which column supplies the display name shown in lookups and views. Setting its property to allow renaming lets users edit that record's name, directly satisfying the question's rename-permission constraint.

Why this answer

The Primary Name field in Dataverse is the column designated as the record's display name, and it is the field users see and can edit to rename a record. Each table has exactly one Primary Name column, typically a single line of text, which appears in lookups, views, and the record header. Changing this field's value effectively renames the record.

Exam trap

AB-410 often tests table metadata concepts, and candidates confuse the Primary Name field with the Record ID or Owner field, assuming the ID or owner determines the record's visible name.

How to eliminate wrong answers

Option A is wrong because the Owner field determines record ownership and security, not the display name. Option B is wrong because the Record ID is an immutable GUID assigned at creation and cannot be renamed. Option D is wrong because the Status field controls the record's lifecycle state (Active/Inactive) and is not the display name.

66
MCQhard

You are configuring field-level security for a sensitive 'Salary' field. You have enabled the field for security. What must be done next to ensure the user cannot read the data?

A.Remove the field from the Form
B.Assign the user a different security role
C.Set the field to read-only on the form
D.Create a Field Security Profile and assign it to the user
AnswerD

Creating a Field Security Profile and assigning it to the user is the required next step. Enabling field security alone does not restrict access; permissions are granted only through profiles. Without a profile assignment, the user retains read access, so this satisfies the stem's constraint that the user must be unable to read the Salary data.

Why this answer

Enabling a field for security in Dataverse only makes the field 'security-enabled'; it does not by itself restrict access. To actually control read/update/create permissions on that field, you must create a Field Security Profile, add the field with the desired access level (e.g., No access for Read), and assign the profile to the user or team. Without a profile assignment, users with the base table privileges can still read the field.

Exam trap

AB-410 often tests the misconception that enabling field security or hiding a field on a form is sufficient to block reads — candidates must remember that a Field Security Profile must be created AND assigned to the user.

How to eliminate wrong answers

Option A is wrong because removing a field from a form only hides it in that specific form UI; the data remains readable via views, APIs, Advanced Find, or other forms. Option B is wrong because changing the user's security role affects table-level privileges, not field-level access — field security is orthogonal to role-based table privileges. Option C is wrong because setting a field to read-only on a form only prevents editing in that form; it does not prevent reading the value, which is the stated requirement.

67
MCQhard

You are a solution architect for a large enterprise. The company uses Dataverse and needs to ensure that when a custom table named Invoice is created or updated, a series of complex calculations are performed and the results are stored in related records across multiple tables. The calculations involve aggregating data from several other tables and must run reliably even if initiated from bulk data imports or background processes. You need to minimize development effort and ensure the logic is reusable across multiple apps. What should you use?

A.A business rule on the Invoice table with actions to set values on related tables.
B.A classic workflow that runs on create and update of the Invoice table.
C.A Power Automate cloud flow triggered on create and update of the Invoice table.
D.A Dataverse plug-in registered on the Create and Update messages of the Invoice table.
AnswerD

Dataverse plug-ins run synchronously or asynchronously within the platform's event pipeline, ensuring they execute reliably even during bulk imports and background processes. They can perform complex calculations, aggregate data from multiple tables, and update related records. Plug-ins are reusable across apps and provide the most control and reliability for server-side business logic.

Why this answer

Dataverse plug-ins are the most suitable choice for complex, reliable server-side logic that must run on create and update, including during bulk imports. They execute within the platform's event pipeline, can aggregate data from multiple tables, update related records, and are reusable across apps. Plug-ins provide the control and performance needed for this enterprise scenario.

Exam trap

The trap here is assuming that Power Automate cloud flows or business rules can handle complex cross-table calculations reliably during bulk operations; they either lack the required capabilities or run asynchronously.

68
MCQmedium

You are designing a Dataverse table to store support tickets. Each ticket must be assigned a unique, automatically generated identifier that users can easily reference. The identifier should follow a consistent pattern, such as 'TCK-00001', and increment for each new record. Which Dataverse feature should you use to meet this requirement?

A.Autonumber column
B.Primary key column
C.Rollup column
D.Calculated column
AnswerA

An Autonumber column automatically generates a sequential alphanumeric string for each new record, following a specified format such as 'TCK-{00000}'. It ensures uniqueness and readability without custom code, exactly matching the requirement for a consistent, incrementing identifier like 'TCK-00001'.

Why this answer

The requirement is for a unique, automatically generated, sequential identifier with a specific format. An Autonumber column is designed exactly for this purpose, allowing you to define a format string that includes a prefix and a number that increments with each new record. Other column types serve different purposes and cannot produce patterned, sequential values.

Exam trap

The trap here is assuming that the primary key column can be customized to a readable format, when in fact it remains a system GUID and cannot be changed to a sequential pattern.

69
MCQmedium

A company stores customer feedback in a Dataverse table named Feedback. Analysts frequently run reports filtered by the date the feedback was submitted, and they also sort by that date. The column currently stores the value as a single line of text, which forces slow client-side filtering. You need the column to support efficient server-side filtering, sorting, and date range queries. What should you do?

A.Create a new Date and Time column, migrate the feedback dates into it, and update views and forms to use the new column.
B.Change the column data type to Date and Time and keep the existing values.
C.Add a calculated column that parses the text value into a date at query time for each report.
D.Create a rollup column that aggregates the text dates and exposes them for filtering in reports.
AnswerA

Date and Time columns are stored in a format Dataverse can filter and sort on the server, enabling efficient range queries over submitted dates. Because existing column types cannot simply be converted in place, the reliable path is to add a properly typed column, populate it from the legacy text values, then repoint views, forms, and reports. This delivers the required query performance.

Why this answer

Server-side filtering and sorting on dates requires the column to be a native Date and Time type, because only then does Dataverse store and index the value in a queryable temporal format. Since existing column types cannot be converted in place, the practical answer is to introduce a correctly typed date column, migrate the values, and update the consuming views and forms. Calculated and rollup columns do not convert stored text into efficient date storage.

Exam trap

The trap here is believing that a calculated or rollup column can replace a proper Date and Time column for filtering, when those column types serve entirely different purposes and do not fix the underlying text storage.

70
MCQmedium

A developer needs to ensure that a custom field value is validated before the record is saved to the database. Where should this logic be placed?

A.Synchronous Plugin
B.Power Automate Cloud Flow
C.Client-side JavaScript
D.Business Rule on the form
AnswerA

A synchronous plugin registered on the PreValidation or PreOperation stage executes within the database transaction pipeline before the record is committed, so validation failures block the save. Asynchronous plugins run after commit and cannot prevent persistence.

Why this answer

A synchronous plugin executes within the Dataverse pipeline before the record is committed to the database, making it the correct place to enforce server-side validation that must block the save. Because it runs synchronously in the Pre-Operation or Pre-Validation stage, it can throw an InvalidPluginExecutionException to prevent the save if validation fails.

Exam trap

AB-410 often tests the misconception that client-side or form-level logic (JavaScript, business rules) provides true validation — the trap is failing to recognize that only server-side synchronous plugins guarantee validation before database commit across all entry channels.

How to eliminate wrong answers

Option B is wrong because a Power Automate cloud flow runs asynchronously (or at best as a post-save trigger) and cannot reliably block a record from being saved — it fires after the fact. Option C is wrong because client-side JavaScript only runs in the form context and can be bypassed via API, import, or mobile clients, so it does not guarantee validation before database save. Option D is wrong because a business rule on the form is client-side/form-scoped and also does not enforce validation at the database level for all entry paths.

71
MCQhard

A Dataverse environment contains a custom table 'Invoice' with a column 'TotalAmount' of type Currency. You need to ensure that the 'TotalAmount' is automatically calculated as the sum of line items whenever a related 'InvoiceLine' record is created, updated, or deleted. The calculation must be consistent regardless of how the data is modified (e.g., through the app, API, or import). What should you use?

A.JavaScript web resource on the Invoice form
B.Rollup column on the Invoice table
C.Power Automate cloud flow triggered on InvoiceLine changes
D.Calculated column on the Invoice table
AnswerB

A rollup column aggregates data from related records and is maintained by the Dataverse platform. It recalculates automatically on a schedule or on-demand, and works regardless of how the related records are changed. This ensures consistency across all data modification channels. Rollup columns are ideal for summing child records like InvoiceLine totals into a parent Invoice TotalAmount.

Why this answer

A rollup column is specifically designed to aggregate values from related records, such as summing child line items into a parent total. It is maintained by the Dataverse platform and recalculates automatically, ensuring consistency regardless of how the data is modified. This makes it the correct choice for automatically calculating TotalAmount from InvoiceLine records.

Exam trap

The trap here is confusing calculated columns with rollup columns; calculated columns cannot reference related records, only fields on the same row.

72
MCQeasy

A Power Platform administrator needs to allow users in a specific department to create and edit records in a custom table, but they should not be able to delete any records. The department users already have a security role with Read and Write privileges on the table. Which security role privilege should you modify?

A.Append To
B.Read
C.Delete
D.Write
AnswerC

The Delete privilege controls the ability to remove records. By ensuring the department's security role does not have Delete on the custom table, users can still create and edit but cannot delete. This directly meets the requirement without affecting other operations.

Why this answer

Deletion of records is controlled by the Delete privilege in a security role. To prevent deletion while allowing create and edit, you must ensure the role lacks Delete permission on that table. The other privileges affect reading, updating, or associating records, not removal.

Exam trap

The trap here is confusing Write with the ability to delete, but Write only governs create and update, while Delete is a separate privilege.

73
MCQhard

You are creating a Dataverse table for a real estate application. You need to store a list of property features for each listing, such as 'Pool', 'Garage', and 'Fireplace'. Each listing can have multiple features, and you want to easily filter listings by a specific feature. The features are chosen from a predefined list of 20 options. Which column type should you use?

A.Multi-select Choice
B.Lookup
C.Choice
D.Text
AnswerA

A Multi-select Choice column allows selecting multiple predefined options from a single list. It stores the selections as a comma-separated string and supports filtering using the 'contains' operator. This matches the requirement to store multiple features per listing and filter by a specific feature.

Why this answer

The need is to store multiple predefined features per record and filter by them. A Multi-select Choice column is purpose-built for this: it allows selecting multiple options from a single global or local choice list, and it supports querying with the contains operator. Other column types either cannot store multiple values, lack validation, or introduce unnecessary complexity.

Exam trap

The trap here is assuming that a standard Choice column can be configured to allow multiple selections; in reality, you must explicitly create a Multi-select Choice column for that capability.

74
MCQmedium

Which type of relationship is required to allow multiple 'Contacts' to be associated with multiple 'Accounts'?

A.Many-to-One
B.Many-to-Many
C.One-to-Many
D.Parental
AnswerB

A many-to-many relationship uses an intersect table to link records in both directions, so each contact can relate to several accounts and each account to several contacts. One-to-many would restrict a contact to a single account, failing the scenario.

Why this answer

A Many-to-Many (N:N) relationship in Dataverse is designed for scenarios where records on both sides can be associated with multiple records on the other side — exactly the case for multiple Contacts linked to multiple Accounts. Dataverse implements N:N relationships using an intersect table that stores the pairings.

Exam trap

AB-410 often tests whether candidates confuse 1:N with N:N by focusing on only one direction of the relationship — the key is that both sides must support multiple associations for N:N to be correct.

How to eliminate wrong answers

Option A is wrong because Many-to-One describes the 'many' side of a 1:N relationship (many contacts to one account), which does not allow a contact to belong to multiple accounts. Option C is wrong because One-to-Many allows one account to have many contacts, but each contact belongs to only one account — it does not support multiple accounts per contact. Option D is wrong because Parental is a cascading behavior type for 1:N relationships, not a relationship cardinality, and it enforces strict parent-child deletion rather than many-to-many association.

75
MCQhard

You have a business rule that runs on a form. It sets a field to mandatory. Can this be bypassed?

A.Yes, because it is client-side logic
B.Yes, if the user is an admin
C.No, it is enforced at the database level
D.No, it is enforced by the app
AnswerA

Client-side business rules execute in the browser, so users can bypass them via developer tools, scripts or direct API calls. Because enforcement happens only in the form's JavaScript layer, it satisfies the stem's constraint that the mandatory requirement is not server-enforced, making circumvention possible.

Why this answer

Business rules that run on a form execute as client-side JavaScript in the browser (or model-driven app client), so they can be bypassed by editing the record through other means — such as the Web API, an import, a plugin, or a different form where the rule is not applied. The rule only enforces the mandatory field at the form UI layer, not at the Dataverse platform layer. This is why the correct answer is that it can be bypassed because it is client-side logic.

Exam trap

AB-410 often tests whether candidates understand that business rules are client-side and therefore bypassable — many assume 'mandatory' means database-enforced, but only schema-level required columns or plugins provide that guarantee.

How to eliminate wrong answers

Option B is wrong because being an admin does not grant a bypass of a business rule — the rule runs for all users in the form context; admins bypass security roles, not client-side form logic. Option C is wrong because business rules are not enforced at the database level; that would require a plugin, a required column at the Dataverse schema level, or a server-side validation. Option D is wrong because the app does not enforce the rule server-side — the rule is a client-side component attached to a specific form, so it does not apply when the record is created or updated through other channels.

Page 1 of 2 · 91 questions totalNext →

Ready to test yourself?

Try a timed practice session using only Dataverse Foundations questions.