Microsoft Certified: Power Platform Developer Associate (PL-400)

Practice PL-400 questions for Develop integrations (5–10%). These original questions are grounded in verified Microsoft Learn content. These questions cover the English-language PL-400 skills measured through October 15, 2026. Eligible candidates may sit the exam through October 30, 2026.

Q01 - Question

A team must publish Dataverse events to Azure by using a pre-configured Dataverse utility. The events come from application telemetry and form a large real-time stream. The team wants an ingestion service for big data streams. Which Azure service should the team use?

Domain: Develop integrations (5–10%) Type: Single choice

A is correct.

Explanation: Event Hubs provides a real-time data ingestion service for large data streams such as application telemetry, and Dataverse lets you publish events directly to an event hub. This service matches both the high-volume streaming requirement and the need for built-in Dataverse support because it handles millions of events per second.

B is incorrect: Event Grid is an event-driven publish-subscribe framework, but Dataverse doesn't provide out-of-the-box capabilities to integrate with an Event Grid instance.

C is incorrect: API Management manages and publishes custom APIs for internal and external developers, so it doesn't ingest large real-time event streams.

D is incorrect: Logic Apps orchestrates workflows with a Dataverse connector, but it isn't a high-volume streaming ingestion service for application telemetry.

Learn more in Microsoft Learn

Q02 - Question

You registered a Service Bus step that runs when an account row is created. You created an account to test it. You need to confirm that Dataverse started the integration step and to read error details if it failed. Where should you check?

Domain: Develop integrations (5–10%) Type: Single choice

B is correct.

Explanation: The System Jobs view in the Admin center shows whether the integration step ran successfully after you create an account. A successful run displays a Status Reason of Succeeded. If the step fails, you must open the specific System Job record to view the detailed error information and troubleshoot the integration run.

A is incorrect: The Shared access policy supplies the connection string credentials for Dataverse. It doesn't show whether a step ran or failed.

C is incorrect: The Message Format setting specifies JSON, XML, or .NETBinary for the message. It doesn't report step run status or errors.

D is incorrect: The connection string only gives Dataverse access to the namespace. It doesn't display integration run results or error information.

Learn more in Microsoft Learn

Q03 - Question

A Dataverse service endpoint uses a one-way contract to post messages to a Service Bus queue. The consuming listener application is stopped for maintenance. Dataverse posts a message during that time. What happens to the post?

Domain: Develop integrations (5–10%) Type: Single choice

C is correct.

Explanation: One-way contracts require an active event listener to consume a message posted to the Service Bus queue. If no active listener is available, the post fails. Dataverse retries posting the message in exponentially larger time spans until the asynchronous system job is canceled, and the System Job status is set to Failed.

A is incorrect: Queuing without an active listener describes the queue contract, where no active listener is required, rather than the one-way contract.

B is incorrect: Destructive and non-destructive reads apply to consuming queue messages. They don't change how a failed one-way post behaves during maintenance.

D is incorrect: Returning a string value is a two-way or REST contract capability, and it requires an active listener to respond.

Learn more in Microsoft Learn

Q04 - Question

A company must call an existing third-party Web API during account creation. The entire transaction must fail unless the external service processes the payload successfully. The API doesn't use Shared Access Signature authentication. Which integration method should you register?

Domain: Develop integrations (5–10%) Type: Single choice

A is correct.

Explanation: Webhooks are the correct choice when synchronous processing is required, when the whole transaction must fail unless the external service succeeds, and when a third-party Web API already exists. Furthermore, webhooks support header and query string authentication instead of Shared Access Signature authentication, which perfectly matches all the scenario constraints.

B is incorrect: Dataverse supports only asynchronous processing against Service Bus endpoints, so the transaction can't fail based on the external service's result.

C is incorrect: Multiple subscribers suit Service Bus scenarios, but this scenario requires synchronous processing and integration with an existing third-party Web API.

D is incorrect: Event Hubs ingests event streams and doesn't make the Dataverse transaction fail based on the external service's processing result.

Learn more in Microsoft Learn

Q05 - Question

A developer must autoformat a string value before it posts to Dataverse, and the update must perform as well as possible. The team considers moving the logic to an Azure Function called by a webhook. Which approach should the developer use?

Domain: Develop integrations (5–10%) Type: Single choice

C is correct.

Explanation: Azure Functions don't run within the Dataverse event pipeline. For data updates that require the highest performance, such as autoformatting a string value before it posts to Dataverse, a plug-in is recommended. A plug-in also ensures that data operations roll back properly if an exception occurs later in the pipeline.

A is incorrect: An asynchronous webhook calls an external function outside the event pipeline, so it doesn't provide the highest-performing update before posting.

B is incorrect: Logic Apps operates outside the Dataverse pipeline and updates after the row is created, which doesn't meet the before-post requirement.

D is incorrect: A synchronous webhook runs outside the pipeline. Its data operations also don't roll back if the pipeline later has an exception.

Learn more in Microsoft Learn

Q06 - Question

A nightly integration service calls the Dataverse Web API without a signed-in person. You registered the app in Microsoft Entra ID and use Server-to-Server (S2S) authentication. Requests are authenticated but fail to perform operations. What should you configure in each Dataverse environment?

Domain: Develop integrations (5–10%) Type: Single choice

A is correct.

Explanation: When you use S2S authentication, a Dataverse application user must be configured in each environment you access. You must associate the application user with the Entra ID app and configure which Dataverse security roles apply. These roles permit the operations you perform using the Web API.

B is incorrect: Delegated permissions are not required for S2S authentication. They apply when an application accesses Dataverse on behalf of an interactive user.

C is incorrect: A Redirect URI applies to registering web apps. It does not give a non-interactive service account Dataverse roles or permissions.

D is incorrect: Account type controls which directories can use the app. It does not create a Dataverse application user or assign security roles.

Learn more in Microsoft Learn

Q07 - Question

An integration synchronizes accounts between two systems. Each message carries an account ID and several changed attribute values. You want one request that updates the row and can also create it if it doesn't exist. Which HTTP method should you use?

Domain: Develop integrations (5–10%) Type: Single choice

C is correct.

Explanation: You should use the HTTP PATCH method when you perform an update of multiple attribute values. PATCH methods provide upsert capability if you provide an ID value as part of your request. This is a highly beneficial feature when you synchronize data between systems.

A is incorrect: You use the HTTP POST method to create rows. It is not the documented method for updating multiple attributes with upsert.

B is incorrect: You use the HTTP PUT method if you are updating a single attribute value. This scenario changes several attributes, preventing PUT.

D is incorrect: Using the HTTP DELETE method followed by POST requires two requests. PATCH performs the update and upsert in a single request.

Learn more in Microsoft Learn

Q08 - Question

A developer must query Dataverse through the Web API and needs option set labels in the results. The filtering requirements are more complex than the OData connectors support. Which query approach should the developer choose?

Domain: Develop integrations (5–10%) Type: Single choice

B is correct.

Explanation: FetchXML is a query language that provides considerably more filtering options than the OData connectors. It also allows you to see the labels for reference data, such as option set labels or lookup fields. You can run these complex FetchXML queries by using the Dataverse Web API.

A is incorrect: The $select query controls which properties are returned. It does not provide the extra filtering options or option set labels.

C is incorrect: You use the HTTP PUT method to update a single attribute value. It is a write operation, not a data query.

D is incorrect: The odata.track-changes preference header retrieves changes for a table over time. It does not add complex filtering or option set labels.

Learn more in Microsoft Learn

Q09 - Question

An integration account creates account rows on behalf of sales users. Security roles of each sales user must apply, and auditors must see who actually made the call. Which implementation meets both requirements?

Domain: Develop integrations (5–10%) Type: Single choice

A is correct.

Explanation: You can provide a CallerObjectId in your message header with the user's Microsoft Entra ID object ID. The logic applies all appropriate roles based on the user you are impersonating. The createdonbehalfby value contains the ID of the user who actually performed the operation for another user.

B is incorrect: Assigning roles to the integration account does not run the request as the sales user. The createdby value omits the caller.

C is incorrect: The CallerObjectId must hold the impersonated user's ID. Using the integration account's ID does not apply the sales user's security roles.

D is incorrect: The odata.track-changes preference header retrieves table changes over time. It does not impersonate users or identify who actually performed an operation.

Learn more in Microsoft Learn

Q10 - Question

Change tracking is enabled on the account table. Your first request with the odata.track-changes preference returned all matching rows and an @odata.deltaLink. Later, you need only rows changed since that request. What should the app do?

Domain: Develop integrations (5–10%) Type: Single choice

D is correct.

Explanation: The initial response returns the full result set and an @odata.deltaLink. Running that link returns changes that have occurred since the initial request. It is up to your app to maintain the delta link, and each response provides a new link for the next time you query.

A is incorrect: Without a deltatoken, the request behaves like an initial request and returns the entire set of data that applies to it.

B is incorrect: Date and time stamp tracking is an older approach. Change tracking uses delta links that the app maintains to retrieve changes.

C is incorrect: Adding the $count parameter retrieves only the number of changes made in a given delta. It does not return changed rows.

Learn more in Microsoft Learn

Take the PL-400 practice test · Read the PL-400 study guide