CertGrid
Microsoft Certification

PL-400: Power Platform Developer Practice Exam

Validates extending Power Platform with code - plug-ins, custom connectors, integrations, and client scripting.

Practice 711 exam-style PL-400 questions with full answer explanations, then take timed mock exams that score like the real thing.

711
Practice pool
40-60 qs
Real exam
100 min
Real exam time
Intermediate
Level
70%
Passing score

CertGrid runs a fixed 50-question timed mock, separate from the real exam format above. Microsoft seat time may be longer than exam answering time.

Objective-mapped practice, aligned to current exam objectives · Reviewed Jul 2026 · Independent practice platform.

What the PL-400 exam covers

Free PL-400 sample questions

A sample of 10 questions with answers and explanations. Sign up free to practice all 711.

  1. Question 1Application Lifecycle Management

    When should a developer extend Power Platform with PRO-code (e.g., plug-ins) versus low-code?

    • AWhenever a canvas app needs a new screen, since screens can only be added through custom C# plug-in code
    • BFor every field validation, because business rules and Power Fx cannot validate any data on their own
    • COnly when the maker lacks a Power Apps license, since low-code features are entirely license-gated
    • DWhen requirements exceed low-code capabilities (complex server-side logic, integrations, performance needs)Correct
    ✓ Correct answer: D

    Power Platform is designed to maximize productivity through low-code development, which provides faster time-to-market, easier maintenance, and better supportability. PRO-code extensions with plug-ins should only be used when low-code capabilities cannot satisfy specific requirements, such as implementing complex server-side business logic, integrating with external systems that require custom authentication or transformation, or addressing performance challenges that demand code-level optimization.

    Why the other options are wrong
    • AAdding canvas screens is pure low-code configuration and never requires plug-in or custom C# code.
    • BBusiness rules and Power Fx validate fields declaratively, so pro-code is not required just for validation.
    • CPro-code versus low-code is driven by requirements, not by which Power Apps license a maker holds.
  2. Question 2Extend the Platform

    Which Dataverse SDK technique reduces round-trips and improves throughput when creating many rows?

    • ADisabling change tracking globally
    • BA separate Create call per row in a loop
    • CExecuteMultipleRequest (batching) or CreateMultipleCorrect
    • DOpening a new service client per row
    ✓ Correct answer: C

    ExecuteMultipleRequest and CreateMultiple are SDK methods that allow you to submit multiple Create (or other) operations in a single batch request, dramatically reducing the number of round-trips to the server. Batching improves throughput by amortizing network and authentication overhead across multiple operations, resulting in significantly faster bulk data creation compared to individual sequential calls.

    Why the other options are wrong
    • ADisabling change tracking globally is incorrect because change tracking enables delta sync and data integrity features; disabling it does not improve row creation throughput and introduces functional regressions.
    • BA separate Create call per row in a loop is incorrect because this pattern maximizes round-trips and network latency; it is the anti-pattern that batching specifically avoids.
    • DOpening a new service client per row is incorrect because creating a new service client for each operation incurs authentication and initialization overhead for every operation, severely degrading performance compared to reusing a single client.
  3. Question 3Extend the User Experience

    A plug-in needs the value of a field as it was BEFORE an update to compare against the new value. What should you configure?

    • ARegister a pre-image that includes the field and read it from the contextCorrect
    • BStore the old value in a static class variable
    • CRead the Target which always contains all old values
    • DQuery the audit log synchronously inside the plug-in
    ✓ Correct answer: A

    A pre-image is a snapshot of the record's values as they existed before the Update operation. By registering a pre-image that includes the specific field, the plug-in receives the field's previous value in the context.PreEntityImages collection, allowing comparison between the old and new values. This is the standard, supported approach for tracking changes and implementing business logic based on before-and-after values.

    Why the other options are wrong
    • BStore the old value in a static class variable is incorrect because static variables can leak state between different users and requests, and they are not reliable for storing request-specific before-values.
    • CRead the Target which always contains all old values is incorrect because the Target in an Update message contains only the fields that were explicitly updated, not the complete before-state of all fields.
    • DQuery the audit log synchronously inside the plug-in is incorrect because audit log queries are unsupported within plug-ins and would add excessive latency; the audit log is asynchronously populated and is not available in real-time during plug-in execution.
  4. Question 4Extend the User Experience

    Which Client API method shows a transient, user-facing notification useful for surfacing non-blocking script status on a model-driven form?

    • AXrm.Navigation.openAlertDialog()
    • BXrm.Navigation.openErrorDialog()
    • CformContext.ui.setFormNotification()Correct
    • Dconsole.error()
    ✓ Correct answer: C

    The setFormNotification() Client API method is specifically designed to display transient, non-blocking notifications to users within model-driven forms. This method allows developers to show status messages, warnings, or informational alerts without preventing the user from continuing their work. The notification appears in the form header and can include custom text with different severity levels (INFO, WARNING, ERROR).

    Why the other options are wrong
    • AXrm.Navigation.openAlertDialog() shows a blocking modal dialog the user must dismiss, so it is not a transient, non-blocking notification.
    • BopenErrorDialog() presents a modal error dialog that interrupts the user rather than showing a transient in-form notification.
    • Dconsole.error() is incorrect because this JavaScript method logs errors to the browser console, which is not visible to end users in the application interface.
  5. Question 5Develop Integrations

    A server-to-server integration that worked last month now fails authenticating to Dataverse with an invalid_client error. What is the most likely cause?

    • AThe Entra app registration's client secret expired and must be renewedCorrect
    • BDataverse disabled OAuth for all apps
    • CThe Web API switched from OData to SOAP
    • DThe application user was promoted to a license
    ✓ Correct answer: A

    Server-to-server integrations use OAuth 2.0 with an Entra (Microsoft Entra ID) app registration. The app registration includes a client secret with an expiration date. When the secret expires, the app can no longer authenticate successfully, and the authorization server returns an invalid_client error. The client secret must be renewed by creating a new one in the Entra portal or by configuring a new certificate credential before expiration. This is a common issue when integrations are deployed and then left unchanged for extended periods.

    Why the other options are wrong
    • BDataverse disabled OAuth for all apps is incorrect because Dataverse permanently supports OAuth; it is not disabled application-wide.
    • CThe Web API switched from OData to SOAP is incorrect because the Web API uses OData 4.0 exclusively; SOAP is not relevant to modern Web API authentication.
    • DThe application user was promoted to a license is incorrect because promoting an application user to a licensed user does not invalidate existing OAuth credentials or cause invalid_client errors.
  6. Question 6Application Lifecycle Management

    Datum Corporation is evaluating solution patching. Solution patching can be used in conjunction with build and release pipelines to enhance the overall solution.

    • TrueTrueCorrect
    • FalseFalse
    ✓ Correct answer: True

    Solution patching is a critical component of Power Platform's ALM strategy that integrates seamlessly with build and release pipelines. It enables organizations to patch specific layers or components of a solution without redeploying the entire solution, reducing deployment time and risk. Solution patching works in conjunction with CI/CD pipelines to provide granular control over which components are updated in each deployment. This integration allows teams to apply targeted updates while maintaining the stability of unchanged components. By combining solution patching with automated build and release pipelines, organizations achieve more efficient and reliable solution deployments.

    Why the other options are wrong
    • FalseFalse is incorrect. The statement is true. Solution patching is a critical component of Power Platform's ALM strategy that integrates seamlessly with build and release pipelines. It enables organizations to patch specific layers or components of a solution without redeploying the entire solution, reducing deployment time and risk.
  7. Question 7Extend the Platform

    Business events requires no additional configuration when deployed in a hybrid environment at Datum Corporation.

    • TrueTrue
    • FalseFalseCorrect
    ✓ Correct answer: False

    Business events require configuration to work properly in hybrid environments, as they depend on the event publishing infrastructure and subscription mechanisms that must be explicitly set up across both on-premises and cloud components. The event broker or messaging layer that handles business event distribution requires configuration to route events correctly in a hybrid topology. Synchronization of event schemas and subscription configurations between on-premises and cloud deployments is necessary to ensure consistent event processing.

    Why the other options are wrong
    • TrueTrue is incorrect. The statement is false. Business events require configuration to work properly in hybrid environments, as they depend on the event publishing infrastructure and subscription mechanisms that must be explicitly set up across both on-premises and cloud components.
  8. Question 8Extend the User Experience and PlatformSelect all that apply

    A developer suspects a specific form's client scripts are slowing initial render and wants to measure exactly which handlers and network calls run as the form opens, and separately wants to ensure the initialization logic itself runs at the correct point in the form lifecycle. Which TWO should the developer use? (Choose two.)

    • APower Apps Monitor (form profiling session)Correct
    • BThe Form OnLoad event handlerCorrect
    • CThe Form OnSave event handler
    • DPlug-in Trace Log
    • ESolution checker
    ✓ Correct answer: A, B

    Power Apps Monitor records a session of the running app, capturing which event handlers and network calls execute as the form opens so the developer can pinpoint what slows the render. The OnLoad event is the correct lifecycle point for initialization logic, ensuring it runs when the form first opens. Together they cover measurement and correct placement.

    Why the other options are wrong
    • CThe OnSave handler runs during save, not at form open, so it is not where initialization logic belongs.
    • DThe Plug-in Trace Log captures server-side plug-in diagnostics, not client-side form load timing.
    • ESolution checker performs static analysis and does not measure live form render performance.
  9. Question 9Application Lifecycle ManagementSelect all that apply

    A team is automating solution promotion with the Power Platform Build Tools in Azure DevOps. Which TWO tasks are appropriate to include in a release pipeline that deploys to production? (Choose TWO)

    • AAn Import Solution task that imports the managed solution into the production environmentCorrect
    • BA Publish Customizations task targeting the production environment to publish unmanaged edits made there
    • CA Power Platform Tool Installer task at the start of the pipelineCorrect
    • DAn Export Solution task that exports an unmanaged solution from production for editing
    ✓ Correct answer: A, C

    The Power Platform Tool Installer task must run first to make the other tasks available on the agent. Importing the managed solution into production is the core deployment action. These two tasks reflect the correct, supported flow for promoting to a controlled production environment.

    Why the other options are wrong
    • BPublishing unmanaged edits in production implies authoring in production, which violates ALM discipline and creates drift.
    • DProduction should be a deploy-only target; exporting an unmanaged solution from production for editing is not part of a clean promotion pipeline.
  10. Question 10Extend the Platform

    A Dataverse Web API client must create an account and immediately retrieve the created record's data in a single round-trip. Which technique should the client use on the POST request?

    • AAdd the Prefer: return=representation header to the create requestCorrect
    • BAdd the Prefer: odata.include-annotations header
    • CUse the MSCRM.SuppressDuplicateDetection header
    • DSend the If-Match: * header
    ✓ Correct answer: A

    By default a Dataverse Web API create (POST) returns 204 No Content with only the OData-EntityId header. Adding the Prefer: return=representation header makes the service return 201 Created with the created record's columns in the body, so the client gets the data in one round-trip. You can combine it with $select to limit returned columns.

    Why the other options are wrong
    • Bodata.include-annotations controls formatted/annotation values in responses but does not return the created record body on a create.
    • CSuppressDuplicateDetection controls duplicate detection behavior, not whether the created record is returned.
    • DIf-Match is used for optimistic concurrency on updates/deletes, not for returning a created record's representation.

Related Microsoft resources

PL-400 practice exam FAQ

How many questions are in the PL-400 practice exam on CertGrid?

CertGrid has 711 practice questions for PL-400: Power Platform Developer, covering 5 exam domains. The real PL-400 exam is 40-60 qs in 100 min. CertGrid's timed mock is a fixed 50 questions.

What is the passing score for PL-400?

The PL-400 exam passing score is 70%, and you have about 100 min to complete it. CertGrid scores your practice attempts the same way so you know when you are ready.

Are these official PL-400 exam questions?

No. CertGrid is an independent practice platform. We do not provide real or leaked exam questions. Our questions are original and designed to help you practice the concepts, scenarios, and difficulty style of the PL-400: Power Platform Developer exam.

Can I practice PL-400 for free?

Yes. You can start practicing PL-400: Power Platform Developer for free with daily practice and sample questions. Paid plans unlock full timed exams, complete explanations, and domain analytics.

What CertGrid is (and is not)

CertGrid is an independent IT certification practice platform for Azure, AWS, Google, Cisco, Security, Linux, Kubernetes, Terraform, and other certification tracks. It provides objective-mapped practice questions, readiness scoring, weak-domain drills, and explanations to help learners understand what to study next.

Independent & original. CertGrid is an independent practice platform and is not affiliated with or endorsed by Microsoft. Questions are original practice items designed to mirror certification concepts and exam style. CertGrid does not provide official exam questions or braindumps.