PL-400 Practice Questions
Prepare for PL-400 with more than an answer.
- Exam fee
- $165 USD
- Level
- Associate
- Valid for
- 1 year
Domains covered on the exam 6
- Create a technical design12.5%
- Build Power Platform Solutions12.5%
- Implement Power Apps improvements12.5%
- Extend the user experience12.5%
- Extend the platform32.5%
- Develop integrations12.5%
- 1
You are creating a custom page for a model-driven app. The custom page must display a list of tasks from a custom
Tasktable and allow users to create new tasks. The look and feel must be precisely controlled and pixel-perfect. Which component should you use to display the list of tasks on the custom page?Show answer details
Correct answer: D
Custom pages are essentially canvas apps embedded within a model-driven app. To achieve a pixel-perfect, highly customized layout for displaying a list of records, the standard canvas app
Gallerycontrol is the appropriate choice. It provides complete control over the layout, controls, and data displayed for each item in the list, which aligns with the core strengths of canvas apps. Subgrids and PCF grids are used on standard model-driven forms and views, not typically within the custom page canvas designer. - 2
A developer is creating a solution that includes a canvas app, a Power Automate flow, and several Dataverse tables. The solution needs to connect to an external system, and the URL for this system is different for the Dev, Test, and Prod environments. What is the recommended way to manage this URL?
Show answer details
Correct answer: C
Environment variables are the standard, recommended mechanism for managing configuration data that varies between environments. By creating an environment variable in the solution, the canvas app and flow can reference it. After the solution is deployed to a new environment (like Test or Prod), an administrator can provide the correct URL for that specific environment without modifying the app or flow, which is a core ALM principle.
- 3
An external system needs to be updated whenever an Account record in Dataverse is assigned to a new owner. The external system must be notified with the Account ID and the new owner's ID. This process must execute asynchronously after the Dataverse transaction is successfully committed. Which components are required to build this solution? (Select THREE)
Show answer details
Correct answer: B, D, E
The
Assignmessage is the specific message that fires when a record's ownership is changed. This is the correct message to trigger the logic.The requirement specifies the process must execute asynchronously after the transaction is committed. This improves system performance and user experience by not holding up the UI.
An asynchronous plug-in that integrates with an external system should not call the external system directly. The best practice is to post the execution context to a Service Endpoint, which decouples the systems and provides a more robust integration pattern.
- 4
You are debugging a complex client-side script on a model-driven app form that is not behaving as expected. The script makes multiple calls to the Dataverse Web API. You need to inspect the exact API requests being sent, including their headers and bodies, and the responses received from the server. Which tool is most suitable for this task?
Show answer details
Correct answer: C
The browser's developer tools (F12) are essential for debugging client-side code. The 'Network' tab specifically captures all HTTP requests made by the page, including the Web API calls from your script. It allows you to inspect the full request URL, headers, payload, and the server's response, which is exactly what is needed to debug API interactions. The Monitor tool is more focused on Power Fx and connector calls within canvas apps and custom pages, not traditional model-driven form scripting.
- 5
A developer needs to create a reusable component that renders a custom data visualization using a third-party JavaScript charting library. This component must be usable in both canvas apps and model-driven apps. Which technology should be used to create this component?
Show answer details
Correct answer: C
The Power Apps component framework (PCF) is the designated framework for creating code-based, reusable components that can be used across both canvas apps and model-driven apps. It allows developers to use standard web technologies like HTML, CSS, and TypeScript (and by extension, third-party JavaScript libraries) to create rich user experiences that are not possible with out-of-the-box controls. Canvas components are only usable within canvas apps.
- 6
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?
Show answer details
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. TheTargetentity in theInputParameterswill 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. - 7
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?
Show answer details
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.
- 8
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?
Show answer details
Correct answer: A
The
context.webAPIis the standard and supported method for performing data operations against Dataverse from within a PCF component. TheretrieveMultipleRecordsmethod, 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 directfetchcall 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. - 9
A canvas app gallery displays data from a Dataverse table with over 100,000 records. The gallery's
Itemsproperty is set toFilter(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?Show answer details
Correct answer: B
While
Filterand equality checks on option sets (Status = 'Active') are delegable to Dataverse, theStartsWithfunction on a text column is a common cause of delegation issues. BecauseStartsWithis not delegable, Power Apps first retrieves the initial 500 records (the non-delegable limit) from Dataverse that matchStatus = 'Active', and then applies theStartsWithfilter 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 theSearchfunction or filter on a different, delegable criterion. - 10
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 --> ProdShow answer details
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.
