Free Sample — 15 Practice Questions
Preview 15 of 398 questions from the PL-400 exam.
Try before you buy — purchase the full study guide for all 398 questions with answers and explanations.
Question 380
A company is creating a Power Apps portal to collaborate with vendors.
You need to implement custom functionality in the portal by using JavaScript code.
Which two portal entities can you use? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A. Web pages
B. Web resources
C. Webforms
D. Entity lists
Show Answer
Correct Answer: A, D
Explanation:
Power Apps portals support custom JavaScript in specific portal entities. Web pages allow JavaScript to be added directly through the page source code editor. Entity lists include a dedicated Custom JavaScript field for client-side scripting. Web resources are not used in portals the same way as model-driven apps, and Webforms themselves do not directly host JavaScript (it is added at the web form step level instead).
Question 258
DRAG DROP -
You are creating technical designs for several complex business processes.
You need to implement custom business logic based on the requirements.
Which implementation methods should you use? To answer, drag the appropriate implementation methods to the correct requirements. Each implementation method may be used once, more than once, or not at all. You may need to drag the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Select and Place:
Show Answer
Correct Answer: Access current and new values when data is updated: Plug-in
Run on a schedule: Power Automate flow
Explanation:
Plug-ins can use pre-image and post-image data to compare old and new values during updates. Power Automate flows support scheduled (recurrence) triggers to run logic on a defined timetable.
Question 404
HOTSPOT -
A company updates their client contact information periodically. The contact entity has alternate keys defined.
You have the following code. (Line numbers are included for reference only.)
For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.
Hot Area:
Show Answer
Correct Answer: No
No
No
No
Explanation:
In an Upsert with alternate keys, KeyAttributes are used only to find an existing record. If a record is found, normal attributes are updated; if not, a new record is created using the explicitly set attributes. Here, lastname is finally set to "Doe" in the attribute collection, so it is never stored as "Smith" in any scenario. None of the statements are true.
Question 188
You are creating an integration that uses an Azure function to create records in the Common Data Service when leads are submitted from your company website.
You create a user and grant the user the Basic User security role.
You do not have administrator access to the environment you are using or access to Azure Active Directory. Company policy dictates that service accounts must be used for integrations, and integrations must not be granted privileges beyond what is needed.
You need to recommend actions that an administrator should perform to configure access for the Azure Function.
Which three actions should you perform? Each correct selection presents part of the solution.
NOTE: Each correct selection is worth one point.
A. Create an application registration in Azure Active Directory.
B. Assign the system administrator security role to the application user.
C. Assign the Power Platform administrator role to the application user in Azure Active Directory.
D. Create a new security role with the minimum required permissions and assign to the application user.
E. Grant the application delegated permissions to the Dynamics CRM API in Azure Active Directory.
F. Deploy Azure B2B guest permissions to the application user.
Show Answer
Correct Answer: A, D, E
Explanation:
An Azure Function integrating with Dataverse using a service account should authenticate via an app registration in Azure Active Directory, which an administrator must create. To follow least-privilege principles, the administrator should create a custom Dataverse security role with only the required permissions and assign it to the application user. The app registration must also be granted appropriate permissions to the Dynamics CRM (Dataverse) API so it can create records. Admin-level roles or excessive privileges are not required.
Question 244
You are developing a Power Platform solution for a medical practice. You create a custom table named Doctors to record details about the doctors who work at the medical practice.
You must be able to attach a PDF copy of a doctor's medical license to the row for each doctor.
You need to configure the table.
What should you do?
A. Create a Power Automate flow to add attachments.
B. Navigate to Table options and enable attachments.
C. Navigate to Column options and enable attachments.
D. Create relationships between the Doctor table and the Notes table.
Show Answer
Correct Answer: B
Explanation:
In Dataverse, attaching files to records via Notes/attachments is a table-level setting. Enabling attachments in the table options allows files (such as a PDF medical license) to be attached to each row. Column-level attachment settings do not exist, and no flow or relationship is required.
Question 247
An organization uses Dynamics 365 Sales.
You plan to use a JavaScript web resources file in the Accounts form. The file has a dependency on two image web resource files and on the custom field new_placeofbirth in the Account entity.
You need to add the dependencies for the JavaScript file.
Which three actions should you perform? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. Open the web resource file, add the two image web resources to the dependency's lists, and then add the custom field new_placeofbirth to the dependency's list.
B. From Settings, select Customizations and then select Customize the System.
C. In the Account form, select Form Properties, select Non-Event Dependencies, and then add the custom field new_placeofbirth.
D. Select Account, select Forms, and then select the Account form.
E. From Web Resources, select the JavaScript file for the Account form and then select the JavaScript file.
F. In the Account form, select Form Properties and add the primary JavaScript file and the other two images web resources in Form Libraries.
Show Answer
Correct Answer: A, B, E
Explanation:
Dependencies for a JavaScript web resource are defined on the web resource record itself. You must first open system customizations (B), then locate and open the JavaScript web resource (E). In the web resource editor, you add dependent components, which can include other web resources such as images and entity attributes like the custom field new_placeofbirth (A).
Question 389
A company needs to illustrate the relationships of the entities in Dynamics 365 Sales.
You need to select the appropriate tool to show this graphic.
Which tool should you select?
A. Metadata diagram
B. Sales Insights
C. Power Automate
D. Security model
Show Answer
Correct Answer: A
Explanation:
To illustrate relationships between entities in Dynamics 365 Sales, you use a Metadata diagram, which visually represents entities and their relationships. Sales Insights focuses on analytics, Power Automate on workflows, and the Security model on access control, not entity relationship visualization.
Question 105
HOTSPOT -
An online store has a custom web page that allows customers to place their orders against a Microsoft Dataverse database that uses custom products. The custom web page uses Web API patterns to create and update records.
Customers report that orders can be placed for out-of-stock items.
You need to update the page code to ensure that inventory is available before confirming an order.
Which pattern should you use for each step? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Hot Area:
Show Answer
Correct Answer: Check inventory before retrieve:
IsOptimisticConcurrencyEnabled
Update quantity using PATCH:
If-Match: ETag
Explanation:
Optimistic concurrency ensures the inventory record has not changed between read and update, preventing orders on stale stock levels. Using If-Match with the ETag on PATCH guarantees the quantity update only succeeds if the record version is current.
Question 140
HOTSPOT
-
You are creating a new model-driven app.
The app must meet the following requirements:
• Display an image that can be resized without loss in quality.
• Use a client API function to return language-localized text.
You need to customize the app by using web resources.
Which web resource types should you use?
To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: Display a resized image: SVG
Return language-localized text: RESX
Explanation:
SVG is a vector image format that can be resized without quality loss. RESX resource files store localized strings that can be accessed via client API functions for language-specific text.
Question 156
You are mapping data from an enterprise resource planning (ERP) system to Microsoft Dataverse.
You must reference the Name and Email from the ERP system during mapping to ensure that records are unique.
You need to create an alternate key that references the Name and Email columns.
How should you create the key?
A. Add a Power Apps command function.
B. Use Power Fx.
C. Add column to the Account table in Dataverse.
D. Create a key in the Account table in Dataverse.
Show Answer
Correct Answer: D
Explanation:
To ensure record uniqueness in Microsoft Dataverse based on multiple columns, you must define an alternate key on the table. Creating a key in the Account table that includes the Name and Email columns allows Dataverse to enforce uniqueness and supports upsert and data integration scenarios. Other options like Power Fx, commands, or adding columns do not create or enforce alternate keys.
Question 91
You create a custom API. You define the API as a function.
The custom API does not appear in the response received from https://[yourorg].api.crm.dynamics.com/api/data/v9.2/$metadata and returns an error when called.
You need to identify why the custom API is not working.
What should you do?
A. Add a response property to the custom API.
B. Add a request property to the custom API.
C. Set the Enabled for Workflow option of the customer API to True.
D. Set the is Private property of the custom API to False.
Show Answer
Correct Answer: D
Explanation:
If a custom API is marked as Private (IsPrivate = True), it will not appear in the $metadata document and cannot be called externally, which results in errors when attempting to invoke it. Setting the Is Private property to False makes the custom API public, allowing it to appear in the $metadata endpoint and be callable.
Question 49
Note: This question is part of a series of questions that present the same scenario. Each question in the series contains a unique solution that might meet the stated goals. Some question sets might have more than one correct solution, while others might not have a correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result these questions will not appear on the review screen.
You are designing an integration that sends created records from a custom Dataverse table to an exposed REST API.
When the REST API is unavailable, you must be able to retry if the response status code is 500.
You need to select a solution that meets the requirement.
Solution: Register a service endpoint for an Azure Service Bus queue. Use an Azure Function to process messages from the queue and forward them to the REST API. Redirect failed messages to the dead-letter queue.
Does the solution meet the goal?
Show Answer
Correct Answer: A
Explanation:
Using a Dataverse service endpoint to an Azure Service Bus queue provides reliable buffering when the REST API is unavailable. An Azure Function can process messages from the queue and implement retry logic for HTTP 500 responses. If retries are exhausted, messages can be dead-lettered for later inspection or reprocessing. This satisfies the requirement to retry when the API returns 500 while ensuring resilience.
Question 38
Case study -
This is a case study. Case studies are not timed separately. You can use as much exam time as you would like to complete each case. However, there may be additional case studies and sections on this exam. You must manage your time to ensure that you are able to complete all questions included on this exam in the time provided.
To answer the questions included in a case study, you will need to reference information that is provided in the case study. Case studies might contain exhibits and other resources that provide more information about the scenario that is described in the case study. Each question is independent of the other questions in this case study.
At the end of this case study, a review screen will appear. This screen allows you to review your answers and to make changes before you move to the next section of the exam. After you begin a new section, you cannot return to this section.
To start the case study -
To display the first question in this case study, click the Next button. Use the buttons in the left pane to explore the content of the case study before you answer the questions. Clicking these buttons displays information such as business requirements, existing environment, and problem statements. If the case study has an All Information tab, note that the information displayed is identical to the information displayed on the subsequent tabs. When you are ready to answer a question, click the Question button to return to the question.
Background -
City Power & Light is an energy and utilities company that has offices in Europe. The company subsidizes home improvements for domestic customers, to improve energy efficiency and to meet environmental commitments. The company also distributes and generates electricity for domestic and commercial customers. The company has 2,000 employees in multiple offices and in work-from-home locations.
City Power & Light uses a team of schedulers, assessors, field engineers, and customer support agents for home improvements in a program named Get Energy Fit.
Current Environment -
Get Energy Fit Program -
City Power & Light uses the following to manage the Get Energy Fit program:
• The company uses a Microsoft Excel spreadsheet named Planning Hub on Microsoft SharePoint Online to store information about customer appointments, customer details, and customer eligibility in the program.
• The company records sensitive customer information that includes the document identification numbers and the customer's financial information.
• The company uses an assessor to verify customer eligibility in the program and to perform a suitability assessment. The assessor completes the suitability assessment by using a paper and clipboard at the customer property and enters the data to the Planning Hub after the assessment is completed. The assessor also uploads photographs to an on-premises document library. The assessor completes the eligibility assessment by using an application written in React.
• Schedulers use Microsoft Outlook to schedule engineers and assessors for home improvement appointments. About 200 appointments are scheduled daily.
• Employees for the company submit funding claims on behalf of the customer by uploading evidence and compliance checks information to an application named the Claim Submission Portal.
Technical Environment -
• Schedulers use Windows 11 desktop and laptop computers with the latest version of Microsoft Edge.
• Assessors use iOS and Android tablet devices.
• The Claim Submission Portal uses REST-based APIs for all operations and a dedicated testing environment. Authentication to the API is provided by using the following example header key and value pair: o Authentication: 2C8D41431415E429C7FC7A74D8315
• The company uses Microsoft Azure for hosting multiple applications.
Requirements -
Overview -
City Power & Light plans to implement Microsoft Power Platform to improve the customer experience and increase delivery for the Get Energy Fit program.
Business Requirements -
• Only team leaders and senior managers should have access to read personally identifiable information (PII).
• All development changes must be tested in a separate environment.
• The company requires out-of-the-box solutions, when possible.
• Sensitive credentials, such as user passwords and API secrets, must be stored securely.
• The Claim Submission Portal must allow citizen developers to create automated solutions.
• Customer and appointment information must be accessible to all applications.
Planning Hub Application -
The company is planning to replace the Planning Hub spreadsheet with a new application. The new application has the following requirements:
• The application must support a component design that provides rapid changes requested by the schedulers.
• The data model for the application must capture the following information:
o Information about customers such as name, address, and other PII. o The data and time for an assessor's or engineer's appointment. Schedulers must be able to view all appointments without filters. o Records the details of the home improvements installed for the customer. o Contains all the information and evidence for submission to the Claim Submission Portal.
• After an assessor uploads the funding application and all evidence after a home improvement has been complete, the company requires that the status of the application is set to Submit and should run the following:
o Retrieve the details about the customer and the improvement installed. o Send an approval to a senior manager to review and approve in Microsoft Teams. o Upload the information to the API endpoint. o If the upload fails to complete, it should retry after a delay of 30 seconds up to three times. If an error occurs after three times, the application should send an email notification to the application support team. o Must record the status on the funding application.
Suitability Assessment Tool -
The company plans to implement a new application named the Suitability Assessment Tool for the assessors. The new application has the following requirements:
• Must integrate with Microsoft Power Platform.
• Assessors must be able to complete the eligibility assessment by using the Suitability Assessment Tool. The assessors must be able to upload photographs to the on-premises file share.
• Must be developed by using modular components that can be used by other applications.
• Must be optimized for use on tablet devices.
• All changes to the application must be completed in the Suitability Assessment Tool solution.
Reporting -
The company has the following requirements for a reporting solution:
• The data source for the reporting solution must support incremental refreshes.
• The solution must report accurate data if an error occurs.
Issues -
• A recent audit identified that all users can access the PII in the Planning Hub spreadsheet.
• After a developer deploys a change to the production environment, a user reports information is loaded incorrectly to the test system when processing a funding application.
• After deploying a change to the new eligibility assessment tool in the development environment, you observe that the changes do not appear in the development environment.
• After removing a column from the Planning Hub application and deploying the changes to the production environment, you observe that the column is still present.
• You deploy the customizations for the data model. Users report that the email address of the user who created the appointment is missing and that searches on the description information do not return any results.
You need to resolve the issue with the eligibility assessment tool.
Which two commands should you run? Each correct answer presents part of the solution.
NOTE: Each correct selection is worth one point.
A. pac solution version
B. pac solution import
C. pac pcf push
D. pac pcf version --strategy manifest
Show Answer
Correct Answer: B, C
Explanation:
The issue states that changes to the eligibility assessment tool do not appear in the development environment after deployment. This commonly occurs when solution changes or PCF components are not properly deployed.
Running **pac solution import** ensures that the latest version of the solution containing the Suitability Assessment Tool is imported into the development environment.
Running **pac pcf push** is required when the application uses Power Apps Component Framework (PCF) components, as it deploys the updated component directly to the environment. Without this step, PCF changes will not be visible.
Question 44
DRAG DROP
-
You are designing an implementation that has complex data requirements.
The data storage requirements are as follows:
• Query large amounts of unstructured data in Dataverse.
• Read and update structured data stored outside of Dataverse.
You need to implement data storage to meet the requirements.
Which table types should you use? To answer, move the appropriate table types to the correct data storage requirements. You may use each table type once, more than once, or not at all. You may need to move the split bar between panes or scroll to view content.
NOTE: Each correct selection is worth one point.
Show Answer
Correct Answer: Unstructured data inside Dataverse:
Elastic
Structured data outside Dataverse:
Virtual
Explanation:
Elastic tables are optimized for querying very large volumes of unstructured or semi-structured data within Dataverse. Virtual tables enable reading and updating structured data that remains in external data sources without storing it in Dataverse.
Question 297
You need to add the script for the registration form event handling.
Which code segment should you use?
A. formContext.data.entity.addOnSave(myFunction)
B. formContext.data.addOnLoad(myFunction)
C. formContext.data.removeOnLoad(myFunction)
D. addOnPreProcessStatusChange
E. formContext.data.isValid()
Show Answer
Correct Answer: B
Explanation:
The requirement is to add script for registration form event handling when the form loads, specifically to pre-populate information as the form opens. In the model-driven app client API, addOnLoad is used to register a function that runs when the form is loaded. Other options either relate to save events, removing handlers, process status changes, or validation checks, none of which handle form load initialization.