Microsoft Power Platform Developer Free Sample Questions

20 free sample questions235 in the full practice test

Try simulator

PL-400 Sample Questions

  1. Question 1

    A developer is creating a Dataverse plug-in that must execute custom logic when an account's primary contact is changed. The logic requires access to both the previous primary contact's ID and the new primary contact's ID to perform a hand-off process in an external system. The plug-in is registered on the 'Update' message of the 'account' entity. Which is the most efficient method to access both the old and new primary contact GUIDs within the plug-in's execution context?

    Answer and explanation

    Correct answer: C

    The most efficient and correct method is to use a Pre Image. By registering a Pre Image with the required attribute (primarycontactid), the plug-in execution context will contain a snapshot of the record before the update. The Target entity in the InputParameters will contain the new value being set. This avoids an extra API call to the database, making it the most performant and standard approach. Retrieving the record again in a post-operation step or querying the database in a pre-operation step introduces unnecessary overhead and potential race conditions.

  2. Question 2

    A financial services company uses a model-driven app to manage loan applications. To comply with regulations, any change to the 'Loan Status' field on the Application entity must be logged to an external, immutable audit system via a REST API. The logging process must be guaranteed to execute even if the Dataverse update succeeds but a subsequent plug-in fails. The solution must be durable and support retries. Which integration pattern should be implemented?

    Answer and explanation

    Correct answer: C

    This pattern provides the required durability and guarantee. The asynchronous plug-in will execute after the Dataverse transaction is committed. It posts a message to Azure Service Bus, which provides guaranteed delivery. A separate Azure Function can then process messages from the queue, with its own retry logic, to call the external API. This decouples the systems and ensures the audit log is eventually created even if the external API is temporarily unavailable. A synchronous plug-in would lock the UI and fail the Dataverse transaction if the API call fails. A webhook is less durable as it lacks a built-in queue for guaranteed delivery.

  3. Question 3

    A developer is building a Power Apps component framework (PCF) component for a model-driven app. The component needs to display data from a related entity. For example, when placed on an Account form, it should display a list of recent Cases for that account. What is the correct approach to fetch this related data within the PCF component?

    Answer and explanation

    Correct answer: A

    The context.webAPI is the standard and supported method for performing data operations against Dataverse from within a PCF component. The retrieveMultipleRecords method, combined with a FetchXML or OData query, allows the component to securely and efficiently fetch related data without needing to manage authentication tokens manually. Using a direct fetch call is not recommended as it bypasses the component's context and security. Binding a subgrid is a configuration for forms, not a data fetching method within the component's code. Passing data via component properties is for static or parent-driven data, not for fetching related records independently.

  4. Question 4

    A canvas app gallery displays data from a Dataverse table with over 100,000 records. The gallery's Items property is set to Filter(Orders, Status = 'Active' && StartsWith(CustomerName, TxtSearch.Text)). Users report that searching for customers returns incomplete results. You have confirmed the data row limit for non-delegable queries is set to 500. What is the cause of this issue?

    Answer and explanation

    Correct answer: B

    While Filter and equality checks on option sets (Status = 'Active') are delegable to Dataverse, the StartsWith function on a text column is a common cause of delegation issues. Because StartsWith is not delegable, Power Apps first retrieves the initial 500 records (the non-delegable limit) from Dataverse that match Status = 'Active', and then applies the StartsWith filter locally on that small subset. This leads to incomplete search results. The && operator is delegable. To fix this, the developer should use a delegable search function like the Search function or filter on a different, delegable criterion.

  5. Question 5

    You are designing an ALM strategy for a Power Platform solution. The development team consists of five developers working on separate features in their own isolated development environments. The strategy must support merging their changes into a single solution for deployment to a build environment. Which approach should you recommend?

    graph TD subgraph Dev Environments Dev1[Dev Env 1] Dev2[Dev Env 2] Dev3[Dev Env 3] end subgraph SCM [Source Control] Repo(Git Repo) end subgraph Pipelines Build[Build Env] Test[Test Env] Prod[Prod Env] end Dev1 --> |Commit| Repo Dev2 --> |Commit| Repo Dev3 --> |Commit| Repo Repo --> |CI/CD| Build --> Test --> Prod
    Answer and explanation

    Correct answer: C

    This describes a source-control-first ALM strategy, which is the best practice for team development. Each developer works in isolation. Their unmanaged solutions are unpacked (or 'decomposed') into source files. Git is used to merge the changes from different developers. A CI/CD pipeline (like Azure DevOps with Power Platform Build Tools) then automates the process of packing the merged files back into a solution and deploying it. This approach provides version history, conflict resolution, and automation.

  6. Question 6

    You are creating a custom connector for a third-party weather API. The API requires an API key to be sent in a request header named x-api-key. You want to ensure that when a user creates a connection, they are prompted to enter this key, and it is securely stored and automatically added to every API call. Which configuration should you use in the custom connector's Security tab?

    Answer and explanation

    Correct answer: B

    The API Key authentication type is specifically designed for this scenario. Configuring it with the correct parameter name (x-api-key) and location (Header) will automatically create a field on the connection creation screen, securely store the user's input, and add it as the specified header to every outbound request from the connector. This is the simplest and most secure method for handling API keys.

  7. Question 7

    Multiple answers

    A developer needs to implement a long-running business process in Power Automate that orchestrates several approvals and system updates over a period of days. The process must maintain its state and be resilient to system restarts. The developer wants to call this process from a canvas app and get a final status update upon completion. Which components should be used to achieve this? (Select TWO)

    Answer and explanation

    Correct answers: C, E

    Azure Durable Functions are designed for stateful, long-running orchestrations. They can maintain their state across system restarts and handle complex, multi-day processes reliably.

    To call the Azure Durable Function from a canvas app or Power Automate, a custom connector is the standard mechanism. It provides the bridge between the Power Platform and the custom Azure-hosted logic.

  8. Question 8

    You are writing a client-side script for a model-driven app form. The script needs to prevent a record from being saved if the value of the estimatedclosedate field is earlier than today's date. The script should also display a notification to the user explaining the error. Where should this logic be implemented?

    Answer and explanation

    Correct answer: C

    The OnSave event is the correct place to perform final validation before a record is committed to the database. The executionContext.getEventArgs().preventDefault() method is used specifically within the OnSave event to cancel the save operation. After preventing the save, formContext.ui.setFormNotification should be used to display a clear error message to the user, explaining why the save was blocked. Placing this logic in OnLoad or OnChange would be either too early or would not prevent saving if the invalid date was already present when the form loaded.

  9. Question 9

    True or False: When a plug-in is registered in the 'Pre-validation' stage of the event execution pipeline, it executes outside the main database transaction.

    Answer and explanation

    Correct answer: A

    This statement is true. The 'Pre-validation' stage is the first stage in the pipeline and occurs before the main database transaction begins. It is intended for initial validation logic. If the plug-in throws an exception here, the entire operation is aborted without initiating a transaction that would need to be rolled back. The 'Pre-operation' and 'Post-operation' stages execute within the database transaction.

  10. Question 10

    You need to create a Dataverse table to store IoT sensor readings that are written at a very high frequency. The table is expected to contain billions of records over time, and data will primarily be appended, not updated. Query performance for time-series analysis is critical. Which type of table should you create?

    Answer and explanation

    Correct answer: C

    Elastic tables are specifically designed for high-volume, append-heavy workloads like IoT data, logs, and telemetry. They are built on Azure Cosmos DB and offer horizontal scaling and performance benefits for handling massive datasets that standard Dataverse tables (built on Azure SQL) are not optimized for. Virtual tables are for data that resides in external systems, and standard tables are for typical business application data.

Register free to unlock 10 more sample questions

Lifetime One

Own this practice test forever.

$79.99
$75.99
one-time
  • Full access to 235 questions
  • Study, Timed & Flashcard Modes
  • All past and future versions i
  • Detailed Explanations
  • Study Tracking & Past Attempts
  • Brainy AI Assistant
  • Lifetime updates

Two

Any 2 exams per month.

$20.00/exam
$39.99
/month
  • 2 active exam slots
  • Study, Timed & Flashcard Modes
  • All past and future versions i
  • Detailed Explanations
  • Study Tracking & Past Attempts
  • 1,000 Brainy AI Credits
  • Cancel anytime

Premium Twelve

Any 12 exams over 3 months.

$15.00/exam
$179.99
/3 months
  • 4 active exam slots
  • Study, Timed & Flashcard Modes
  • All past and future versions i
  • Detailed Explanations
  • Study Tracking & Past Attempts
  • 15,000 Brainy AI Credits
  • Dedicated support
  • Friend seat included — full access

Trusted by professionals at

NvidiaSupabaseGitHubOpenAITursoClerkClaude AIAmazon