PL-400 study materials
PL-400 study resources

PL-400 practice questions

One question at a time. Build your PL-400 understanding.

First 50 of 200 questions. Each one lists the choices, the correct answer, and an explanation. The checker at the top of this page saves progress in this browser when it is available.

Continue in the practice tool above to load more questions, 50 at a time.

Question 1Create a technical design

A Dataverse table must store monetary amounts so that each record can show its value in the record's own currency and in the organization's base currency. Which column type should you design?

  1. Whole Number
  2. Currency Correct answer.
  3. Decimal Number
  4. Floating Point Number

Explanation

A Currency column stores the amount together with a reference to the transaction currency, so Dataverse can render the value in both the record currency and the base currency using stored exchange rates. The other numeric types hold raw numbers without any currency or exchange-rate semantics.

Question 2Create a technical design

External systems identify account records by a tax registration number rather than the Dataverse GUID. Which design feature lets Dataverse locate records by that business identifier and reject duplicates?

  1. An alternate key Correct answer.
  2. A calculated column
  3. A rollup column
  4. An entity relationship

Explanation

An alternate key creates a unique index over one or more columns so integrations can address records by a business identifier instead of the GUID. Dataverse enforces uniqueness on the key columns and returns an error when a duplicate is written.

Question 3Create a technical design

Which construct establishes the ownership boundary in Dataverse and, together with security role privileges, determines whether a user can be assigned a record?

  1. Field security profile
  2. Application user
  3. Access team
  4. Business unit Correct answer.

Explanation

Business units partition an organization, and every user and team belongs to exactly one business unit. Record ownership and the scope of security role privileges are evaluated against that structure, including the business unit hierarchy.

Question 4Create a technical design

You are designing the deployment of a completed solution to production, where makers must not be able to change its components and the solution must be fully removable later. Which solution type should you deploy?

  1. Patch
  2. Managed Correct answer.
  3. Default
  4. Unmanaged

Explanation

Managed solutions are locked in the target environment: components cannot be edited there and uninstalling the solution removes what it introduced. Unmanaged solutions leave editable components behind after removal.

Question 5Create a technical design

A validation must apply to every record write, including writes issued through the Web API and by integration jobs. Which design element enforces this?

  1. A business rule scoped to the form
  2. A synchronous PreOperation plug-in Correct answer.
  3. A JavaScript handler on the form's OnSave event
  4. A Power Fx validation rule in a canvas app

Explanation

A synchronous plug-in registered in the PreOperation stage executes on the server inside the database transaction for every write path, so no client can bypass the validation. Client-side enforcement only covers the client that hosts it.

Question 6Create a technical design

A model-driven app needs an embedded, task-focused screen built with Power Fx that users open from the app's own navigation. Which app type do you design?

  1. A PCF code component
  2. A Power Pages site
  3. A custom page Correct answer.
  4. A standalone canvas app

Explanation

Custom pages are Power Fx canvases hosted inside a model-driven app and can be added to its navigation or opened from a form, giving a task-focused experience without leaving the app. They participate in the same solution and security model as the app.

Question 7Create a technical design

A table must store a status selected from a fixed list of five values that is defined as part of the solution. Which column type should you design?

  1. Text
  2. Boolean
  3. Choice Correct answer.
  4. Lookup

Explanation

A Choice column stores a value from a defined option set, which travels with the solution and is validated by the platform. It also provides a fixed set of values for filtering in views and for use in business logic.

Question 8Create a technical design

A named user must be able to run unlimited custom apps across multiple environments. Which licensing model fits this requirement?

  1. Power Apps per app plan
  2. Power Apps per user plan Correct answer.
  3. Microsoft 365 E3
  4. Power Automate per user plan

Explanation

The Power Apps per user plan licenses a named user to run unlimited custom apps in the environments covered by the license. The per app plan is scoped to one app or a small defined set of apps per user.

Question 9Create a technical design

A many-to-many relationship between two tables must also record when each link was created and who created it. What do you design?

  1. Two lookups on each of the two tables
  2. A custom intersect table with two lookups Correct answer.
  3. A native many-to-many relationship with additional columns
  4. A virtual table that joins the two tables

Explanation

A native many-to-many relationship in Dataverse exposes only the two link columns and cannot hold extra columns. The intersect is therefore modelled as its own table with a lookup to each side plus the extra attributes, replacing the native relationship with two one-to-many relationships.

Question 10Create a technical design

An external service must be notified within seconds whenever an account is updated and must receive the changed column values. Duplicate notifications are acceptable and you want the least effort. What do you design?

  1. A polling service that reads change tracking data
  2. An Azure Service Bus queue endpoint
  3. A scheduled cloud flow that runs every five minutes
  4. A webhook registered on the account's update event Correct answer.

Explanation

Webhooks are lightweight registrations in the Dataverse event pipeline that post a request body containing the entity attributes to an HTTPS endpoint within seconds, with no listener-side SDK required. They suit near-real-time notification where occasional duplicates are tolerated.

Question 11Create a technical design

A process must call an external API that can take several minutes to respond and must retry automatically when it fails. Which technology do you design for this step?

  1. A Power Automate cloud flow Correct answer.
  2. A business rule with server scope
  3. A classic background workflow
  4. A synchronous PreOperation plug-in

Explanation

Cloud flows support long-running connector actions and configurable retry policies without holding a Dataverse transaction open. Plug-ins and business rules must complete inside the platform transaction and cannot wait on multi-minute external calls.

Question 12Create a technical design

Users from several business units need read and write access to a small set of specific records, without changing their security roles or the ownership of those records. What do you design?

  1. An owner team per record
  2. A business unit hierarchy
  3. An access team with a template Correct answer.
  4. A field security profile

Explanation

Access teams grant record-level privileges to a set of users through an access team template, leaving ownership and security roles untouched. This is the designed mechanism for ad hoc, per-record sharing across business units.

Question 13Create a technical design

A nightly integration starts receiving HTTP 429 responses that include a Retry-After header from Dataverse. Which design change should you make?

  1. Register the integration logic as a synchronous plug-in
  2. Increase the page size of each RetrieveMultiple request
  3. Honor Retry-After and add exponential backoff Correct answer.
  4. Raise the maximum number of client connections

Explanation

Dataverse returns HTTP 429 with a Retry-After header when service protection limits are exceeded, and the calling client must pause as instructed. Combining that wait with exponential backoff and smaller request batches reduces pressure and lets the run finish.

Question 14Create a technical design

Several teams change the same large solution and deployments frequently fail. Which design reduces deployment risk?

  1. Split into smaller managed solutions by function Correct answer.
  2. Move all components to unmanaged solutions
  3. Add every component to a single patch solution
  4. Deploy the single solution as unmanaged to production

Explanation

Segmenting by functional area reduces coupling between teams, allows independent release cadence, and keeps each managed layer small enough to troubleshoot. Deep single-solution layering is what makes the deployments fragile in the first place.

Question 15Create a technical design

A cloud flow must read from an on-premises SQL Server that has no inbound connectivity from the internet. What do you design?

  1. A service endpoint to a Service Bus queue
  2. A virtual table with an OData provider
  3. An on-premises data gateway Correct answer.
  4. An Azure Relay hybrid connection

Explanation

The on-premises data gateway opens an outbound connection to the cloud service and relays requests to the local data source, so no inbound firewall rule is needed. It is the supported bridge for Power Platform cloud services reaching private network resources.

Question 16Create a technical design

An account form must display the total estimated revenue of its related open opportunities, refreshed automatically without custom code. What do you design?

  1. A rollup column over the related rows Correct answer.
  2. A plug-in on opportunity update that updates the account
  3. A calculated column that aggregates the child records
  4. A cloud flow triggered when an opportunity changes

Explanation

Rollup columns aggregate related rows on a schedule and surface the result on the parent record without code. Calculated columns can read values on the same row or through a lookup to a parent, but they cannot aggregate a collection of child rows.

Question 17Create a technical design

Users in different security roles must see different fields and sections when they open the account form. What do you design?

  1. Separate forms assigned to each security role Correct answer.
  2. Business rules that hide sections based on the user's role
  3. Separate views for each security role
  4. Field security profiles for each section

Explanation

A table can have multiple main forms, and each form can be assigned to specific security roles so each group of users gets the appropriate layout. Roles without an assigned form fall back to the form order fallback.

Question 18Create a technical design

Managers must see the records of all users who report to them, including indirect reports, without sharing each record individually. What do you design?

  1. Organization-level read on the table for all users
  2. A field security profile granting read access
  3. Hierarchy security using the manager model Correct answer.
  4. An access team template for each manager

Explanation

Hierarchy security with the manager hierarchy model grants a manager read access to records owned by users below them in the reporting structure, including indirect reports, with no per-record sharing. The hierarchy is derived from the manager lookup on the user records.

Question 19Create a technical design

Rows must remain in an external system and be displayed in a model-driven app without being copied into Dataverse. What do you design?

  1. Dual-write with finance and operations apps
  2. A dataflow with incremental refresh
  3. Azure Synapse Link for Dataverse
  4. A virtual table using an OData v4 provider Correct answer.

Explanation

Virtual tables resolve data at run time through a data provider such as OData v4, so external rows appear in model-driven apps and can participate in relationships without being persisted in Dataverse. This suits large or volatile sources that must remain the system of record.

Question 20Create a technical design

Which environment strategy best supports controlled application lifecycle management for a new Power Platform solution?

  1. Sandbox and production only, with makers building in production
  2. Separate development, test, and production environments Correct answer.
  3. One production environment, with each team layering its own solution
  4. One environment per app, with no shared test environment

Explanation

Separating development, test, and production lets makers build in isolation, validates the solution in a representative environment, and keeps production governed and locked down with managed deployments. A shared test environment is what makes end-to-end validation possible before release.

Question 21Create a technical design

Events must reach an external system even if that system is offline for hours, and no event may be lost. What do you design?

  1. A webhook on create and update of the table
  2. A synchronous plug-in that posts to the external API
  3. A cloud flow with a Dataverse trigger and retries
  4. A service endpoint to a Service Bus queue Correct answer.

Explanation

A service endpoint registered for Azure Service Bus provides durable, asynchronous delivery that stores messages until a listener processes them, so an offline consumer does not lose events. Webhooks and plug-in calls are transient and fail when the target is unreachable.

Question 22Create a technical design

Users must see all Case records across the organization but only their own Account records, and each user holds a single custom security role. What do you design?

  1. Organization-level read on both tables
  2. Field security profiles on the Account table
  3. Org-level read on Case, user read on Account Correct answer.
  4. Manager hierarchy security for all users

Explanation

Security role privileges are configured per table and per access level, so one role can grant organization-level read on Case and user-level read on Account. Field-level security and hierarchy models address different problems and would not produce this per-table result.

Question 23Create a technical design

A plug-in must change column values before the platform's core validation runs, and subsequent pipeline stages must see the changed values. Which registration do you design?

  1. PostOperation, synchronous
  2. PostOperation, asynchronous
  3. PreValidation, synchronous Correct answer.
  4. PreOperation, synchronous

Explanation

The PreValidation stage executes before the platform's core validation and outside the database transaction, and values written there are visible to the PreOperation and PostOperation stages. PreOperation runs after core validation, and PostOperation runs after the core operation.

Question 24Create a technical design

A solution containing a cloud flow is promoted to production, but the flow fails because its connection still points to the developer's own account. Which design element must the solution include?

  1. A custom connector
  2. A connection reference Correct answer.
  3. An Azure Key Vault reference
  4. An environment variable

Explanation

Connection references decouple a flow from a specific connector connection so that each target environment supplies its own connection during deployment. Environment variables hold configuration data and do not bind a flow to an authenticated connection.

Question 25Configure Microsoft Dataverse

Which Dataverse table type is designed to store items such as emails, appointments, and phone calls?

  1. Virtual
  2. Elastic
  3. Standard
  4. Activity Correct answer.

Explanation

Activity tables represent time-based interactions and support activity parties, scheduling, and the activity timeline. Standard, virtual, and elastic tables do not provide the built-in activity semantics.

Question 26Configure Microsoft Dataverse

Which column data type creates a reference to a single row in another Dataverse table?

  1. Choice
  2. Text
  3. Whole number
  4. Lookup Correct answer.

Explanation

A lookup column stores a reference to one row in another table and supports relationship behavior. Choice, text, and whole number columns store values within the current row only.

Question 27Configure Microsoft Dataverse

What is the purpose of a table's primary name column?

  1. It supplies the main display label Correct answer.
  2. It stores the unique record identifier
  3. It controls which columns are audited
  4. It defines the ownership boundary

Explanation

The primary name column provides the main label used for records in views, lookups, and forms. The unique identifier is a separate system column, while ownership and auditing are controlled by other settings.

Question 28Configure Microsoft Dataverse

Which security construct defines a boundary that groups users and controls record ownership?

  1. Access team
  2. Field security profile
  3. Security role
  4. Business unit Correct answer.

Explanation

Business units form a hierarchy that groups users and acts as an ownership boundary for records. Security roles grant privileges, teams group users, and field security profiles secure individual columns.

Question 29Configure Microsoft Dataverse

What is a key advantage of a global choice column over a local choice column?

  1. Reusable across tables Correct answer.
  2. Stored as free-form text
  3. Bypasses security roles
  4. Cannot be localized

Explanation

A global choice defines one option set that multiple tables can reuse, which keeps values consistent. A local choice is defined for a single table and cannot be shared in the same way.

Question 30Configure Microsoft Dataverse

Which Dataverse component applies conditional logic and validation to a form without writing code?

  1. Calculated column
  2. Business rule Correct answer.
  3. Plug-in
  4. Workflow

Explanation

A business rule can set field values, show errors, lock fields, and apply conditions based on form or entity logic. Plug-ins require code, workflows run asynchronously, and calculated columns compute values rather than apply form validation.

Question 31Configure Microsoft Dataverse

Which relationship type links records in two tables through an intersect table and does not require a lookup on either table?

  1. One-to-many
  2. Many-to-many Correct answer.
  3. Many-to-one
  4. Hierarchical

Explanation

A many-to-many relationship uses an intersect table to associate records in both directions without placing a lookup column on either main table. One-to-many and many-to-one relationships use a lookup on the related table.

Question 32Configure Microsoft Dataverse

Which table setting determines whether records can be returned by Dataverse search?

  1. Auditing
  2. Search enabled Correct answer.
  3. Change tracking
  4. Quick Create

Explanation

Dataverse search only returns records from tables that are enabled for search. Auditing records history, Quick Create controls form availability, and change tracking supports data synchronization.

Question 33Configure Microsoft Dataverse

When deleting a parent record, which relationship behavior keeps child records but clears their lookup value?

  1. Remove Link Correct answer.
  2. Assign
  3. Restrict
  4. Cascade All

Explanation

Remove Link clears the lookup on related child records while leaving those records in place. Restrict blocks deletion, Cascade All deletes the children, and Assign cascades ownership changes rather than deletion behavior.

Question 34Configure Microsoft Dataverse

Which source can a rollup column aggregate?

  1. Another rollup column
  2. A formula column
  3. Related table records Correct answer.
  4. A local text column

Explanation

A rollup column aggregates values from related records, such as summing related order totals. Rollup columns cannot aggregate other rollup columns or use arbitrary local text or formula columns as their source.

Question 35Configure Microsoft Dataverse

Which scope should a business rule use so it runs on the server for all forms and data operations?

  1. Form
  2. Entity Correct answer.
  3. Grid
  4. Header

Explanation

Entity scope allows the business rule to run server-side across all forms and applicable data operations. Form scope limits the rule to the client-side behavior of a specific form.

Question 36Configure Microsoft Dataverse

Which component must be associated with a user or team to grant read access to field-secured columns?

  1. Business unit hierarchy
  2. Owner team membership
  3. Security role assignment
  4. Field security profile Correct answer.

Explanation

Field-level security requires a field security profile that grants read, update, or create permission on the secured columns. A security role grants table-level privileges but does not by itself unlock secured column values.

Question 37Configure Microsoft Dataverse

What is the main purpose of an alternate key?

  1. Translate choice labels per language
  2. Control which columns are audited
  3. Serve as a unique integration key Correct answer.
  4. Define the table ownership model

Explanation

An alternate key provides a unique identifier that external systems can use to reference records reliably. It does not replace the table's ownership model, localization settings, or auditing configuration.

Question 38Configure Microsoft Dataverse

Before individual columns can be audited on a table, what must be enabled?

  1. Field security
  2. Duplicate detection
  3. Change tracking
  4. Table auditing Correct answer.

Explanation

Auditing must first be enabled at the table level, and then individual columns can be selected for auditing. Field security, duplicate detection, and change tracking serve different purposes.

Question 39Configure Microsoft Dataverse

Which item must be published to detect duplicate records during data import?

  1. Business process rule
  2. System view definition
  3. Background workflow
  4. Duplicate rule Correct answer.

Explanation

Duplicate detection rules define the matching criteria and must be published before they can be used during import. Business rules, workflows, and views do not provide duplicate matching during import.

Question 40Configure Microsoft Dataverse

Which team type is used to share records dynamically but cannot own records?

  1. Access team Correct answer.
  2. Business unit team
  3. Default team
  4. Owner team

Explanation

Access teams share records with users without requiring those users to be members of an owner team. Owner teams can own records, while access teams are used only for record sharing.

Question 41Configure Microsoft Dataverse

Every solution is associated with which component that supplies a customization prefix?

  1. Business unit
  2. Publisher Correct answer.
  3. Access team
  4. Connection role

Explanation

A solution belongs to a publisher, and the publisher provides the prefix used for custom components created in that solution. Business units, access teams, and connection roles do not supply solution prefixes.

Question 42Configure Microsoft Dataverse

Which component holds the environment-specific value for an environment variable?

  1. Setting
  2. Value Correct answer.
  3. Connection
  4. Definition

Explanation

The environment variable definition is stored in the solution, while the environment variable value stores the actual value for a specific environment. Connections and settings are separate concepts.

Question 43Configure Microsoft Dataverse

Which view defines the columns searched by Quick Find in a model-driven app?

  1. Advanced Find view
  2. Quick Find view Correct answer.
  3. Public view
  4. System view

Explanation

The Quick Find view controls which columns are searched when a user types in the Quick Find box. System and public views control record display, while Advanced Find uses its own query interface.

Question 44Configure Microsoft Dataverse

Which column type automatically generates a unique identifier when a record is created?

  1. Rollup
  2. Formula
  3. Calculated
  4. Autonumber Correct answer.

Explanation

An autonumber column generates a value automatically when a record is created and can follow a configured format. Formula, rollup, and calculated columns compute values but do not provide autonumber generation.

Question 45Configure Microsoft Dataverse

Which cascade behavior controls whether child records receive a new owner when the parent record is reassigned?

  1. Share
  2. Assign Correct answer.
  3. Restrict
  4. Reparent

Explanation

The Assign cascade behavior propagates an ownership change from the parent record to related child records. Share controls access sharing, Reparent changes the parent lookup, and Restrict blocks certain operations.

Question 46Configure Microsoft Dataverse

Which relationship is required before hierarchy security can be enabled for a table?

  1. Virtual table relationship
  2. Elastic table relationship
  3. Many-to-many relationship
  4. Self-referential 1:N Correct answer.

Explanation

Hierarchy security requires a self-referential one-to-many relationship that defines the manager-to-report structure. Many-to-many, virtual, and elastic relationships do not provide the required hierarchy model.

Question 47Configure Microsoft Dataverse

Which table type is appropriate for storing large volumes of semi-structured JSON data without complex relational joins?

  1. Standard
  2. Virtual
  3. Elastic Correct answer.
  4. Activity

Explanation

Elastic tables are designed for high-scale, semi-structured JSON data and do not rely on the same relational join patterns as standard tables. Standard tables are relational, virtual tables expose external data, and activity tables store interactions.

Question 48Configure Microsoft Dataverse

A user has a security role that grants read access to a table, but values in a secured column appear blank. What should be configured?

  1. Enable table auditing
  2. Add the user to an owner team
  3. Grant organization-level read
  4. Assign a field profile Correct answer.

Explanation

Secured columns require a field security profile that grants read permission for the user or a team the user belongs to. Table-level read access from a security role does not grant access to field-secured values.

Question 49Configure Microsoft Dataverse

Which mechanism grants a user access to one specific record without granting table-wide privileges?

  1. Field security profile
  2. Record sharing Correct answer.
  3. Security role
  4. Business unit

Explanation

Record sharing grants a user or team access to an individual record while leaving their table-level privileges unchanged. Security roles grant table-level privileges, business units define ownership boundaries, and field security profiles secure columns.

Question 50Configure Microsoft Dataverse

A maker needs a list of department values that will be used by columns on several different tables and must update everywhere when a value is added or renamed. Which configuration should the maker use?

  1. A whole number column with a minimum and maximum value
  2. A local choice defined separately on each column
  3. A Yes/No column created on each table
  4. A global choice that several columns reuse Correct answer.

Explanation

A global choice is defined once at the environment level and can be bound to columns on any number of tables, so changing the definition updates every column that uses it. A local choice belongs to a single column and must be maintained separately on each table.