10 PL-400 Practice Questions That Mirror the Real Exam
Here are 10 multiple-choice questions designed to mirror the difficulty, style, and domain coverage of the Microsoft PL-400 exam. These questions focus on solution architecture, debugging, Dataverse, Power Automate, and Power Pages.
Intro: These questions are designed to test your practical knowledge of developing with Power Platform. Pay close attention to the wording—like the real exam, some options are "correct" in a general sense but not the best answer for the specific scenario described. Before moving on, consider reading MB-500 Salary: The Real Numbers, Not the Marketing Ones.
If you want a quick check of which topics need the most attention before you start, take a free PL-400 readiness check that highlights your weakest area.
Question 1
You are creating a Power Apps canvas app that must display a list of records from a Dataverse table. You need to filter the records based on the current user’s department. Which approach should you use to ensure the best performance and security?
A. Use a Filter() function in the Items property of the gallery to filter the data client-side.
B. Use the User() function to get the department and apply a Where clause in the Filter() function.
C. Use the LookUp() function to retrieve the user record and then use a Delegate function.
D. Use the Search() function with a text input for the department name.
Answer: B
Explanation: While the Filter() function is correct, it is not always delegable. The best practice is to use the User() function to retrieve the current user's email (or ID) and pass it to a server-side filter (often combined with a Where clause in a Power Fx formula). This ensures the filter is delegated to the Dataverse server, improving performance and security by only returning relevant data. Option A is incorrect because Filter() on a non-delegable column will only fetch the first 500 records client-side.
Question 2
You have a Power Automate cloud flow that creates a record in Dataverse. The flow fails when the Owner field is set, but only for some users. What is the most likely cause of the failure?
A. The users do not have a valid license assigned.
B. The users are not in the correct business unit.
C. The users do not have the prvAppendTo privilege for the table.
D. The users do not have the prvAssign privilege for the table.
Answer: D
Explanation: Setting the Owner field is an assignment operation, not an append operation. To assign a record to another user, the user running the flow (or the service principal) must have the Assign privilege on the target table. Option C is incorrect because AppendTo is for attaching notes or activities. Options A and B are less likely to cause a specific field-level failure.
Question 3
You are building a Power Pages site. You need to ensure that only authenticated users from a specific Azure AD tenant can access a certain page. What is the most efficient way to configure this?
A. Use a Page Permission rule and set the "Read" permission to "Authenticated Users" only.
B. Use a Web Role and assign the page to that role, then set the role's "Authenticated Users" to "External".
C. Use a Page Permission rule and set the "Read" permission to "Authenticated Users" and select the specific Azure AD connector.
D. Use a Page Permission rule and set the "Read" permission to "Authenticated Users" and then use a custom JavaScript check on page load.
Answer: A
Explanation: Page Permissions in Power Pages allow you to control access to specific pages. Setting the permission to "Authenticated Users" will allow any logged-in user. To restrict to a specific tenant, you would typically configure the identity provider settings at the site level (restricting the allowed Azure AD tenant) rather than per-page. Option C is incorrect because you don't select a connector within a page permission rule; the restriction is done at the site's identity provider configuration.
Question 4
You are debugging a Power Automate flow that uses an HTTP action to call a custom API. The flow is failing with a 400 Bad Request error. Which step should you take first to diagnose the issue?
A. Check the flow's run history and review the raw inputs and outputs of the HTTP action.
B. Recreate the flow from scratch to see if the error persists.
C. Check the API's authentication settings in Azure AD.
D. Add a "Compose" action before the HTTP action to validate the variable types.
Answer: A
Explanation: The 400 Bad Request error almost always indicates a problem with the request payload, headers, or URL. The first step is to examine the exact inputs (the request body) and outputs (the error message) from the failed run. This will tell you exactly what the API received and why it rejected it. Options C and D are secondary debugging steps; you should always look at the specific error details first.
Question 5
You are implementing a business rule in Dataverse. The rule needs to set the value of a field to "N/A" when a different field is left blank. How should you implement this?
A. Create a Power Automate flow that triggers on "When a row is created or modified".
B. Create a business rule with a condition and a "Set Field Value" action.
C. Create a calculated field that references the other field.
D. Create a plugin that runs in the Pre-Operation stage.
Answer: B
Explanation: Business rules are the ideal tool for simple client-side logic like setting a field value based on the state of another field. They are real-time, work on all clients (web, mobile, etc.), and do not require code or additional licensing. Option A (Power Automate) is for more complex logic and introduces latency. Option C (calculated field) cannot set a value conditionally. Option D (plugin) is overkill for this simple requirement.
Question 6
You are using the Dataverse Web API to perform a bulk operation to update 500 records. What is the most efficient and reliable method to do this? This topic pairs well with PL-400 or MB-820? A Straight Comparison for 2026.
A. Loop through each record and perform a PATCH request for each one.
B. Use a POST request to /$batch to send multiple PATCH requests in a single HTTP call.
C. Use a PUT request to the collection endpoint to replace all records.
D. Use a GET request to retrieve all records, modify them, and then use a POST request to create new ones.
Answer: B
Explanation: The OData $batch endpoint is specifically designed for this scenario. It allows you to send multiple operations (create, update, delete) in a single HTTP request, which is much more efficient than 500 separate calls. Option C (PUT on a collection) is not a standard REST operation for bulk updates. Option A is inefficient and could hit API limits. Option D is incorrect because it would create duplicate records.
Question 7
You are creating a custom connector for Power Automate. The API you are connecting to uses OAuth 2.0 with the client_credentials grant type. You need to ensure the connector can refresh the token automatically. What should you configure?
A. Set the "Refresh token" parameter in the security definition.
B. Set the "Access token" parameter in the security definition.
C. Set the "Client ID" and "Client Secret" and select "Client Credentials" as the grant type.
D. Set the "Authorization Code" grant type and provide a redirect URI.
Answer: C
Explanation: The client_credentials grant type does not use refresh tokens. Instead, the connector (or the client) uses the Client ID and Client Secret to request a new access token each time it expires. By configuring the security policy with "Client Credentials," the connector will automatically handle this token exchange. Options A and B are incorrect as client_credentials does not involve refresh tokens. Option D is for user-context flows, not service-to-service.
Question 8
You are writing a C# plugin for Dataverse. The plugin must run asynchronously after the main operation completes. Which stage and execution mode should you use?
A. Post-Operation, Synchronous
B. Pre-Operation, Asynchronous
C. Post-Operation, Asynchronous
D. Pre-Validation, Asynchronous
Answer: C
Explanation: To run code after the transaction is committed, you use the "Post-Operation" stage. To run it asynchronously (in the background), you select "Asynchronous" for the execution mode. This is the standard configuration for long-running operations like sending emails or calling external systems. Option A is synchronous, which would block the main operation. Options B and D are incorrect because they run before the operation.
Question 9
A solution contains a canvas app and a custom Dataverse table. You need to export the solution from a development environment and import it into a production environment. Which type of solution should you use?
A. An unmanaged solution.
B. A managed solution.
C. A global solution.
D. A patch solution.
Answer: B
Explanation: Managed solutions are the standard for deploying to production. They are locked after import (preventing direct edits), support lifecycle management (upgrades/patches), and are required for ALM (Application Lifecycle Management). Unmanaged solutions are for development environments. Options C and D are not standard solution types (patches are applied to managed solutions, but you don't "export" a patch as a primary solution).
Question 10
You are optimizing a Power Apps model-driven app. Users report that the main form is loading slowly. You notice the form includes a subgrid that displays a large number of records. What is the most effective way to improve performance?
A. Change the subgrid to display a maximum of 10 records.
B. Disable the subgrid's "Display" property until the user clicks a button.
C. Change the subgrid's view to a system view that filters the records to a smaller set.
D. Remove the subgrid and use a custom page instead.
Answer: C
Explanation: The most effective performance improvement is to reduce the amount of data loaded initially. Changing the view to a more restrictive system view (or a custom view with filters) will reduce the number of records fetched and rendered. Option A (10 records) is a UI change but the underlying query might still fetch more data depending on the view. Option B is a valid technique but is more complex and less standard than simply optimizing the view. Option D is overkill for this issue.
Closing: These questions represent the analytical depth and practical scenarios you will face on the PL-400 exam. Remember to focus on the "why" behind each answer, not just memorizing facts. For more practice covering these domains and more, check out our other resources.
Running through full-length Microsoft Power Platform Developer (PL-400) mock tests under timed conditions is the closest rehearsal you can get before the real thing.
To build a week-by-week schedule around these timed sessions, use a free PL-400 study plan that adjusts to the hours you can set aside.
