Microsoft Certified: Power Platform Developer Associate

Question bank

Microsoft logo

Microsoft Certified: Power Platform Developer Associate

PL-400

43 Microsoft Certified: Power Platform Developer Associate questions with the correct answer and a written explanation, organised across 6 exam domains.

43 questions
6 domains
Foundation level

Question index

Jump straight to any question. Answers and explanations are inline.

Build Power Platform solutions

12 questions in this domain

  1. Question 1Single Choice

    In Microsoft Power Platform Dataverse development, which interface must every plug-in class implement to satisfy the required contract?

    • AThe IPlugin interfaceCorrect answer
    • BThe IPluginExecutionContext object
    • CThe IOrganizationService interface
    • DThe CodeActivity base class

    Why this is the answer

    Every plug-in must implement the IPlugin interface and provide the Execute method, which receives the IPluginExecutionContext to perform Dataverse logic.

  2. Question 2Multiple Select

    Based on the playbook, in Dataverse plug-in development, which execution pipeline stages are valid for registering a plug-in?

    • APre-validation stageCorrect answer
    • BPre-operation stageCorrect answer
    • CPost-operation stageCorrect answer
    • DPost-retrieval stage

    Why this is the answer

    Dataverse plug-ins can be registered in Pre-validation, Pre-operation, or Post-operation stages. These stages define when logic runs in relation to the transaction.

  3. Question 3Interactive

    Review the plug-in code example below. Which critical safeguard is missing to prevent recursive execution?

    • ADepth checkCorrect answer
    • BStage check
    • CTransaction check
    • DEntity check

    Why this is the answer

    A depth check is required to prevent recursive self-triggering. Without it, a plug-in can create an infinite loop and cause a platform timeout.

  4. Question 4Single Choice

    According to the playbook, what runtime information does the IPluginExecutionContext make available to a plug-in during execution?

    • AEntity, attributes, and user identityCorrect answer
    • BBrowser and UI components
    • CAzure subscription credentials
    • DWorkflow process definitions

    Why this is the answer

    IPluginExecutionContext provides vital metadata such as the entity, attributes, and user identity needed to perform logic in a Dataverse plug-in.

  5. Question 5Multiple Select

    According to the playbook, which statements about transaction management in Dataverse plug-in execution are correct?

    • ARuns in the database transactionCorrect answer
    • BFailure rolls back the operationCorrect answer
    • CPre-validation runs before transactionCorrect answer
    • DAll exceptions are ignored

    Why this is the answer

    Plug-ins execute inside the database transaction. If an exception is thrown, the original data change is rolled back. Pre-validation runs before the transaction starts.

  6. Question 6Interactive

    In the custom activity code presented, which method must be implemented to satisfy the activity contract?

    • AExecute(CodeActivityContext context)Correct answer
    • BExecute(IServiceProvider serviceProvider)
    • CRun(WorkflowContext context)
    • DStart(ActivityContext context)

    Why this is the answer

    A custom activity inherits from CodeActivity and must override Execute(CodeActivityContext context), or the class will fail to compile and run.

  7. Question 7Single Choice

    According to the playbook, what service is primarily used to perform CRUD operations on Dataverse entities from within a plug-in?

    • AIOrganizationService interfaceCorrect answer
    • BIOrganizationServiceFactory interface
    • CIPluginExecutionContext object
    • DCodeActivityContext object

    Why this is the answer

    IOrganizationService is the primary gateway for CRUD operations on Dataverse entities inside plug-in code, created via the service factory.

  8. Question 8Multiple Select

    Based on the playbook, which of the following are common traps when developing Dataverse plug-ins?

    • AConfusing Pre-operation with Pre-validationCorrect answer
    • BForgetting the depth checkCorrect answer
    • CUsing client-side librariesCorrect answer
    • DCalling IOrganizationService.Create

    Why this is the answer

    Common traps include confusing Pre-operation with Pre-validation, forgetting depth checks, and attempting to use client-side libraries in plug-ins.

  9. Question 9Interactive

    In the plug-in code provided, what is the role of the variable created from IOrganizationServiceFactory?

    • ACreates an IOrganizationServiceCorrect answer
    • BProvides the IPluginExecutionContext
    • CExecutes the plug-in logic
    • DManages the database transaction

    Why this is the answer

    IOrganizationServiceFactory is used to create an IOrganizationService, which is the primary gateway for CRUD operations in Dataverse.

  10. Question 10Single Choice

    According to the playbook, what is the Plugin Registration Tool used for in Dataverse plug-in deployment?

    • ADeploy and configure plug-in assembliesCorrect answer
    • BCreate canvas applications
    • CBuild Power Automate flows
    • DManage Azure subscriptions

    Why this is the answer

    The Plugin Registration Tool is used to deploy, register, and configure plug-in assemblies, class definitions, and steps for messages and entities.

  11. Question 11Multiple Select

    According to the playbook, which statements about custom workflow activities are true in Power Platform?

    • AInherit from CodeActivityCorrect answer
    • BCan define InArgument and OutArgument propertiesCorrect answer
    • CIWorkflowContext provides runtime dataCorrect answer
    • DAutomatically triggered by Dataverse events

    Why this is the answer

    Custom workflow activities inherit from CodeActivity, use InArgument and OutArgument for data flow, and access runtime information through IWorkflowContext.

  12. Question 12Interactive

    In the custom workflow activity code shown, which generic type should FinalPrice use to return the computed value to the workflow?

    • AOutArgument<decimal>Correct answer
    • BInArgument<decimal>
    • CIPluginExecutionContext
    • DIOrganizationService

    Why this is the answer

    OutArgument<T> is the correct type for returning data from a custom workflow activity to the workflow engine.

Create a technical design

5 questions in this domain

  1. Question 13Single Choice

    Which interface must every Dataverse plug-in implement?

    • AIPluginCorrect answer
    • BIPluginExecutionContext
    • CIOrganizationService
    • DCodeActivity

    Why this is the answer

    Every plug-in must implement the IPlugin interface, whose Execute method receives the execution context.

  2. Question 14Multiple Select

    Which stages of the event execution pipeline can a plug-in be registered in? Select all that apply.

    • APre-validationCorrect answer
    • BPre-operationCorrect answer
    • CPost-operationCorrect answer
    • DPre-delete

    Why this is the answer

    Plug-ins are registered in Pre-validation, Pre-operation, or Post-operation; Pre-delete is not a pipeline stage.

  3. Question 15Interactive

    Review the code block. Which execution context type is being retrieved for the plug-in logic?

    • AIPluginExecutionContextCorrect answer
    • BIWorkflowContext
    • CCodeActivityContext
    • DIServiceProvider

    Why this is the answer

    The code casts the service provider to IPluginExecutionContext, the interface that provides plug-in runtime data.

  4. Question 16Single Choice

    Which base class must a custom workflow activity inherit from?

    • ASystem.Activities.CodeActivityCorrect answer
    • BMicrosoft.Xrm.Sdk.Client.ServiceContext
    • CSystem.Activities.NativeActivity
    • DSystem.Workflow.ComponentModel.Activity

    Why this is the answer

    Custom workflow activities inherit from System.Activities.CodeActivity and implement its Execute method.

  5. Question 17Multiple Select

    Which of the following are used in custom workflow activities to handle data and execution context? Select all that apply.

    • AIWorkflowContextCorrect answer
    • BIOrganizationServiceCorrect answer
    • CIPluginExecutionContext
    • DCodeActivityContextCorrect answer

    Why this is the answer

    Custom activities use CodeActivityContext, access IWorkflowContext, and create IOrganizationService; IPluginExecutionContext belongs to plug-ins.

Develop integrations

8 questions in this domain

  1. Question 18Single Choice

    In the Dataverse event execution pipeline, before the database transaction starts, which stage occurs?

    • APre-validationCorrect answer
    • BPre-operation
    • CPost-operation
    • DPost-validation

    Why this is the answer

    Pre-validation is the stage that occurs before the database transaction starts. Pre-operation occurs within the transaction, and Post-operation occurs after the core operation.

  2. Question 19Multiple Select

    Which two statements correctly describe plug-in execution and the context depth trap?

    • APlug-ins run within the database transaction of the triggering event.Correct answer
    • BPlug-ins can safely use client-side libraries to access the user's browser components.
    • CChecking the context depth prevents a plug-in from recursively triggering itself.Correct answer
    • DPre-operation executes before the database transaction starts.

    Why this is the answer

    The playbook states that plug-ins run within the database transaction of the triggering event, and checking depth prevents infinite recursive calls. Client-side libraries are not available in plug-ins, and Pre-operation occurs within the transaction, not before it.

  3. Question 20Interactive

    Review the plug-in code excerpt. What condition should be added at the start of the Execute method to prevent recursive execution?

    • Acontext.Depth > 1Correct answer
    • Bcontext.MessageName == "Create"
    • Ccontext.Stage == 10
    • Dcontext.IsInTransaction == true

    Why this is the answer

    The context depth property indicates how many times the plug-in has been called in the current operation. Checking depth prevents a plug-in from triggering itself recursively, which can cause a platform timeout.

  4. Question 21Single Choice

    What programmatic contract must every plug-in implement?

    • AIPluginCorrect answer
    • BIWorkflowContext
    • CIOrganizationServiceFactory
    • DCodeActivity

    Why this is the answer

    IPlugin is the core programmatic contract for plug-ins. It requires the Execute method, which receives an IPluginExecutionContext.

  5. Question 22Multiple Select

    Which three statements are true regarding custom workflow activities?

    • ACustom workflow activities inherit from System.Activities.CodeActivity.Correct answer
    • BInputArgument<T> and OutputArgument<T> are used for data exchange with the workflow engine.Correct answer
    • CCustom workflow activities are triggered directly by Dataverse record events such as Create or Update.
    • DThe IWorkflowContext exposes runtime information such as the target entity and the triggering user.Correct answer

    Why this is the answer

    CodeActivity inheritance, typed input/output arguments, and IWorkflowContext are core to custom workflow activities. Direct event triggering describes plug-ins, not workflow activities.

  6. Question 23Interactive

    Examine the missing method declaration in the custom activity. Which signature must the Execute method have?

    • AExecute(CodeActivityContext context)Correct answer
    • BExecute(IServiceProvider serviceProvider)
    • CExecute(IPluginExecutionContext context)
    • DExecute(IWorkflowContext context)

    Why this is the answer

    CodeActivity requires the Execute(CodeActivityContext context) method. Using another signature will lead to compilation errors and runtime failures.

  7. Question 24Single Choice

    Which administrative utility is used to deploy, register, and configure plug-in assemblies and steps?

    • APlugin Registration ToolCorrect answer
    • BSolution Explorer
    • CWorkflow Designer
    • DPower Apps Checker

    Why this is the answer

    The Plugin Registration Tool is the essential utility used to deploy, register, and configure plug-in assemblies, classes, steps, and pipeline stages.

  8. Question 25Multiple Select

    Which three common traps should be avoided when developing integrations, according to the playbook?

    • AConfusing Azure Logic Apps with Power Automate.Correct answer
    • BUsing a Custom Connector when a standard Azure-based solution exists.Correct answer
    • CNeglecting Security and choosing a solution that does not meet security requirements.Correct answer
    • DChecking the context depth to prevent recursive plug-in execution.

    Why this is the answer

    The playbook explicitly lists confusing Azure Logic Apps with Power Automate, using a custom connector when a standard Azure-based solution exists, and neglecting security as traps. Checking context depth prevents recursion and is recommended, not a trap.

Extend the platform

5 questions in this domain

  1. Question 26Single Choice

    In which execution pipeline stage does a plug-in run after the main data operation has completed?

    • APre-validation
    • BPre-operation
    • CPost-operationCorrect answer
    • DPre-commit

    Why this is the answer

    Post-operation is the stage after the main operation, allowing plug-in logic to run once data changes have been made.

  2. Question 27Multiple Select

    Which of the following are registered execution pipeline stages for plug-ins according to the document? Select all that apply.

    • APre-validationCorrect answer
    • BPre-operationCorrect answer
    • CPost-operationCorrect answer
    • DPost-validation

    Why this is the answer

    The document lists Pre-validation, Pre-operation, and Post-operation as the execution pipeline stages. Post-validation is not a valid stage.

  3. Question 28Interactive

    Given the following C# code block, which pattern is used to create an IOrganizationService inside a plug-in?

    • AService Provider PatternCorrect answer
    • BSingleton Pattern
    • CAdapter Pattern
    • DEvent Pipeline Pattern

    Why this is the answer

    The code uses IOrganizationServiceFactory from the service provider to create IOrganizationService, which demonstrates the Service Provider Pattern.

  4. Question 29Single Choice

    According to the document, what happens if a plug-in fails and throws an exception during execution?

    • AOnly the plug-in's data modifications are rolled back
    • BThe entire operation, including the original data change, is rolled backCorrect answer
    • CThe transaction is committed but the exception is recorded
    • DThe database transaction is paused for manual handling

    Why this is the answer

    Plug-ins run within the database transaction of the triggering event, so an exception rolls back the entire operation, preserving data consistency.

  5. Question 30Multiple Select

    Which of the following are common traps to avoid when developing plug-ins? Select all that apply.

    • AConfusing Pre-operation with Pre-validationCorrect answer
    • BForgetting the Depth check to prevent recursive plug-insCorrect answer
    • CAttempting to use client-side libraries in a server-side plug-inCorrect answer
    • DUsing IOrganizationService for CRUD operations

    Why this is the answer

    Common traps include mixing pipeline stages, missing Depth checks, and using UI libraries. Using IOrganizationService for CRUD is a normal plug-in practice.

Extend the user experience

5 questions in this domain

  1. Question 31Single Choice

    In Dataverse, what is the core programmatic contract that every custom plug-in must implement?

    • AIPluginCorrect answer
    • BIWorkflowContext
    • CIOrganizationService
    • DCodeActivity

    Why this is the answer

    Every plug-in must implement the IPlugin interface, which defines the Execute method. This is the core programmatic contract for plug-in execution.

  2. Question 32Multiple Select

    Which two statements correctly describe the differences between Pre-validation and Pre-operation stages?

    • APre-validation occurs before the database transaction startsCorrect answer
    • BPre-operation runs inside the database transactionCorrect answer
    • CPre-operation occurs before Pre-validation
    • DPost-operation runs before the database transaction

    Why this is the answer

    Pre-validation runs before the transaction starts; Pre-operation runs inside the transaction. Mixing these up can cause logic to execute at the wrong time.

  3. Question 33Interactive

    Review the code sample and explain what runtime problem the depth check prevents in this plug-in.

    • APrevents recursive executionCorrect answer
    • BMeasures database transaction timeout
    • CVerifies the user is the system admin
    • DChecks if the entity exists

    Why this is the answer

    Checking Depth prevents a plug-in from recursively triggering itself, which can cause an infinite loop and platform timeout.

  4. Question 34Single Choice

    What happens to the complete Dataverse transaction if a plug-in throws an unhandled exception?

    • AEntire transaction is rolled backCorrect answer
    • BOnly the plug-in’s changes are rolled back
    • CThe operation is committed with an error log
    • DThe exception is ignored and execution continues

    Why this is the answer

    Plug-ins run inside the triggering event’s database transaction. If a plug-in throws an exception, the whole transaction is rolled back, preserving consistency.

  5. Question 35Multiple Select

    Which two actions are considered common traps when building Dataverse plug-ins?

    • AUsing client-side libraries in server-side codeCorrect answer
    • BForgetting to check context.DepthCorrect answer
    • CCalling IOrganizationService for data operations
    • DRegistering each plug-in in a single assembly

    Why this is the answer

    Plug-ins run on the server, so client-side libraries are unavailable. Ignoring Depth can cause recursive calls; both are documented traps.

Implement Power Apps improvements

8 questions in this domain

  1. Question 36Single Choice

    In the Dataverse event pipeline, which interface must every plug-in implement to define its execution logic?

    • AIPluginCorrect answer
    • BIPluginExecutionContext
    • CIOrganizationService
    • DIOrganizationServiceFactory

    Why this is the answer

    The IPlugin interface defines the Execute method, which every plug-in must implement to handle Dataverse events. This is the core programmatic contract for all plug-ins.

  2. Question 37Multiple Select

    Within the plug-in execution pipeline, which two stages run while the database transaction is active?

    • APre-validation
    • BPre-operationCorrect answer
    • CPost-operationCorrect answer
    • DPost-validation

    Why this is the answer

    Pre-validation occurs before the database transaction begins. Pre-operation and Post-operation run while the transaction is active, so failures can roll back the full operation.

  3. Question 38Interactive

    Review the plug-in code snippet. What is the purpose of the service variable created through the service factory?

    • APerform CRUD operations on Dataverse recordsCorrect answer
    • BRegister the plug-in for an event
    • CAccess browser UI components
    • DStart a database transaction

    Why this is the answer

    The IOrganizationServiceFactory creates an IOrganizationService instance, which is the primary gateway for CRUD operations on Dataverse records within plug-in code.

  4. Question 39Single Choice

    Which administrative tool is used to deploy, register, and configure plug-in assemblies and steps in Dataverse?

    • APlugin Registration ToolCorrect answer
    • BPower Apps Checker
    • CSolution Packager
    • DData Migration Tool

    Why this is the answer

    The Plugin Registration Tool (PRT) is the administrative utility used to deploy, register, and configure plug-in assemblies, including defining the message, entity, and stage.

  5. Question 40Multiple Select

    According to common plug-in development traps, which two practices should a developer apply to avoid platform issues?

    • ACheck the execution context depthCorrect answer
    • BUse client-side libraries in server-side code
    • CAssume rollback is handled automatically
    • DAvoid UI libraries in server-side logicCorrect answer

    Why this is the answer

    Checking the Depth property prevents recursive plug-in execution and platform timeouts. Plug-ins cannot access client-side UI components, so UI-centric libraries should not be used.

  6. Question 41Interactive

    Examine the custom workflow activity code. Which base class must the custom activity inherit to run in the workflow designer?

    • ASystem.Activities.CodeActivityCorrect answer
    • BIPlugin
    • CIOrganizationService
    • DActivityContext

    Why this is the answer

    A custom workflow activity must inherit from System.Activities.CodeActivity so the workflow engine can execute it as a selectable step in the workflow designer.

  7. Question 42Single Choice

    Which context object provides a custom workflow activity with runtime details such as target entity and triggering user?

    • AIWorkflowContextCorrect answer
    • BIPluginExecutionContext
    • CIOrganizationServiceFactory
    • DCodeActivityContext

    Why this is the answer

    The IWorkflowContext object provides runtime information such as the target entity, triggering user, and primary entity, enabling the custom activity to perform logic.

  8. Question 43Multiple Select

    Which two statements correctly describe the difference between a plug-in and a custom workflow activity?

    • APlug-ins are triggered by Dataverse eventsCorrect answer
    • BCustom workflow activities are triggered by Dataverse events
    • CPlug-ins are workflow process steps
    • DCustom workflow activities are workflow process componentsCorrect answer

    Why this is the answer

    Plug-ins are direct hooks into the Dataverse event pipeline and are triggered by events. Custom workflow activities are discrete steps used inside workflow process definitions.

Frequently asked questions

Everything about the Microsoft Certified: Power Platform Developer Associate question bank and how to use it.