Microsoft Certified: Power Platform Developer Associate (PL-400)

Practice PL-400 questions for Create a technical design (10–15%). These original questions are grounded in verified Microsoft Learn content. These questions cover the English-language PL-400 skills measured through October 15, 2026. Eligible candidates may sit the exam through October 30, 2026.

Q01 - Question

A model-driven app needs custom logic that runs synchronously during a data operation. Existing features and low-code techniques don't support the rule. Which approach should you use?

Domain: Create a technical design (10–15%) Type: Single choice

B is correct.

Explanation: Plug-ins run as server-side code and are required for synchronous operations in a model-driven app when existing features and low-code techniques don't support the rule. Because the rule must run synchronously, code is the documented approach, and the plug-in executes within the Dataverse operation rather than after it.

A is incorrect: Power Automate enables asynchronous automation and logic, but it cannot fully replicate plug-in capabilities for synchronous rules, so it doesn't meet the synchronous requirement.

C is incorrect: A custom client application uses Dataverse APIs to build applications, but it doesn't add synchronous server-side logic to operations performed in the model-driven app.

D is incorrect: Solutions package and distribute customizations to a model-driven app, but packaging doesn't implement the synchronous rule itself, which requires code.

Learn more in Microsoft Learn

Q02 - Question

A developer must register a plug-in that runs through a system job after the operation completes. Which registration meets the requirement?

Domain: Create a technical design (10–15%) Type: Single choice

D is correct.

Explanation: Asynchronous plug-ins are executed via a system job after the operation completes. Dataverse allows asynchronous registration only for the PostOperation stage. Registering in that stage with asynchronous mode meets the requirement that the logic run after the operation without making the operation wait for the logic to finish.

A is incorrect: Asynchronous plug-ins can only be registered for the PostOperation stage, so Pre-Validation registration is not available even though the asynchronous mode is correct.

B is incorrect: Pre-Operation supports synchronous logic that changes values before save, but asynchronous plug-ins cannot be registered for that specific execution pipeline stage.

C is incorrect: Synchronous plug-ins run immediately and the entire operation waits until they complete, which does not match the system job that runs after completion.

Learn more in Microsoft Learn

Q03 - Question

A team is writing a Dataverse plug-in that reads related records. A separate integration can only make HTTP requests and consume HTTP responses. Which API choice is correct for each component?

Domain: Create a technical design (10–15%) Type: Single choice

A is correct.

Explanation: You must use the SDK for .NET for Dataverse plug-in development. The Web API requires only the ability to make HTTP requests and consume HTTP responses, so it fits the integration that has no other capability. Each component uses the API style that its constraints allow.

B is incorrect: Plug-in development requires the SDK for .NET, so using the Web API in the plug-in does not meet the documented requirement.

C is incorrect: This reverses both choices. Plug-ins must use the SDK for .NET, and the Web API only requires the ability to make HTTP requests.

D is incorrect: The SDK for .NET fits the plug-in, but the integration can only make HTTP requests, which is the one capability the Web API requires.

Learn more in Microsoft Learn

Q04 - Question

A plug-in must stop an Update operation before the transaction occurs when custom validation fails. Business rules can't express the logic. What should you configure?

Domain: Create a technical design (10–15%) Type: Single choice

C is correct.

Explanation: The Pre-validation event occurs first in the pipeline, so you can run validation logic and cancel the operation before the transaction occurs. Subscribe to the Update message, register in the Pre-validation stage, and throw an InvalidPluginExecutionException in the plug-in logic to cancel the update before it occurs.

A is incorrect: Post-operation modifies message properties before the requestor gets the response, and updating the table there triggers another update event instead of canceling.

B is incorrect: Pre-operation is for changing table values before they are saved, not for the early validation and cancellation that the Pre-validation stage provides.

D is incorrect: Asynchronous plug-ins run as a system job after the operation completes and only in PostOperation, so they cannot cancel the transaction beforehand.

Learn more in Microsoft Learn

Q05 - Question

Two synchronous plug-ins are registered on the Update message for the same pipeline stage. The validation plug-in must run before the formatting plug-in, and both must stay in that stage. What should you configure?

Domain: Create a technical design (10–15%) Type: Single choice

B is correct.

Explanation: When multiple synchronous plug-ins are registered for the same pipeline stage, the execution order attribute determines which one runs first. Set this attribute for each step in the Plug-in Registration tool so the validation plug-in has the earlier order while both remain in the same stage.

A is incorrect: Asynchronous plug-ins are dispatched as a system job and run after the operation completes, so this makes the plug-in run later, not earlier.

C is incorrect: Messages represent the type of operation, so changing the message changes when the logic runs, not the order of plug-ins on the same message.

D is incorrect: Registration sequence is not the documented control. The execution order attribute, set in the Plug-in Registration tool, determines which synchronous plug-in runs first.

Learn more in Microsoft Learn

Q06 - Question

A team needs a custom visual control that makers can add to both canvas apps and model-driven apps and bind to a data column. Which approach should the developer use?

Domain: Create a technical design (10–15%) Type: Single choice

B is correct.

Explanation: Code components allow you to implement a custom visual that canvas apps and model-driven apps can use just like out-of-the-box controls. The manifest defines properties that makers can set statically or bind to data columns. This perfectly matches the requirement for a reusable visual control across both app types.

A is incorrect: Client scripting is not visual, implements business rules programmatically, and applies only to model-driven apps, so canvas apps are excluded.

C is incorrect: Plugins run server-side custom logic in the event pipeline and do not provide a custom visual control for makers.

D is incorrect: A declarative business rule does not provide a custom visual control and cannot be reused as a bound component.

Learn more in Microsoft Learn

Q07 - Question

Several apps must search for a customer by using the same predefined sequence of API calls. The team wants the sequence implemented in one place, and callers should invoke it like a system message. What should the developer create?

Domain: Create a technical design (10–15%) Type: Single choice

A is correct.

Explanation: A custom API offers a code-first way to define a new message in Dataverse. A plugin registered on the Main Operation stage implements the search logic once. Every caller then invokes the message the same way, ensuring that any future change is made in one single place.

B is incorrect: A plugin on a Create step runs only when Create messages are processed and does not define a new callable message.

C is incorrect: Client scripting applies only to model-driven apps, and repeating the sequence in each form leads to inconsistent implementations.

D is incorrect: A separate application using ServiceClient would still need each caller to follow the sequence and would not create a Dataverse message.

Learn more in Microsoft Learn

Q08 - Question

A developer plans to write custom code to restrict access to individual columns in Dataverse because they did this in earlier custom applications. The requirement is only to limit who can see certain column data. What should the developer do?

Domain: Create a technical design (10–15%) Type: Single choice

C is correct.

Explanation: Column-level security is an out-of-the-box Dataverse feature that simply needs to be configured. Developers should use what the platform does well instead of rebuilding behavior from earlier custom applications. Writing custom code for achieving desired business application functionality should be considered as an exception to no-code and low-code approaches.

A is incorrect: A plugin would add custom code for a capability Dataverse already provides through configuration, which adds maintenance without need.

B is incorrect: Client scripting runs only on model-driven forms and is an alternative when declarative options are insufficient, which is not true here.

D is incorrect: A custom API is a code-first message for custom logic and would duplicate a feature that needs only configuration.

Learn more in Microsoft Learn

Q09 - Question

A model-driven form must show a form notification and filter out certain choice values. The organization has developers, and the team found that declarative business rules cannot meet these needs. Which implementation should the team choose?

Domain: Create a technical design (10–15%) Type: Single choice

D is correct.

Explanation: Form notifications and filtering out choice values are dynamic values that are not readily accessible by a business rule. Client scripting is the preferred alternative when declarative business rules cannot meet the requirements, especially when developer skills are easily available in the organization to implement the logic.

A is incorrect: A flow runs asynchronously after the data change, so it cannot provide a form notification or choice filtering on the form.

B is incorrect: Calculated columns can be a workaround to hold values for rules, but they cannot show notifications or filter choice values.

C is incorrect: A workflow responds to data events and is maintained by business users, but it cannot control form notifications or choice filtering.

Learn more in Microsoft Learn

Q10 - Question

A team needs to implement custom logic that runs synchronously before a Dataverse create operation. The logic must also be able to run on demand by users. Which approach should the team choose based on platform capabilities?

Domain: Create a technical design (10–15%) Type: Single choice

A is correct.

Explanation: According to the platform capabilities, a workflow can run synchronously or asynchronously, can execute in the before or after stage, and can run on demand. This makes it the only option that satisfies all the specified requirements for implementing the custom logic without code.

B is incorrect: A Power Automate flow runs asynchronously and executes only in the after stage, so it cannot run synchronously before the operation.

C is incorrect: A plugin can run synchronously in the before stage, but it cannot be configured to run on demand by users.

D is incorrect: Client scripting runs on model-driven forms in response to form events, not in the Dataverse event pipeline before a create operation.

Learn more in Microsoft Learn

Take the PL-400 practice test · Read the PL-400 study guide