Exam PL-400: Microsoft Power Platform Developer — Questions and Answers
Question 1: In Power Platform, what is the purpose of connection references when deploying solutions across environments?
- They abstract connector credentials so environment-specific connections can be swapped without modifying the solution (Correct answer)
- They cache API responses for performance
- They define retry policies for failed API calls
- They enforce row-level security on Dataverse tables
Correct answer: They abstract connector credentials so environment-specific connections can be swapped without modifying the solution
Connection references decouple the connector identity from the solution, allowing different credentials per environment during ALM deployments.
Question 2: In Power Platform pipelines (in-product), what role must a user have to deploy solutions using the pipeline?
- Solution Publisher
- Deployment Pipeline User (Correct answer)
- Environment Maker
- System Administrator
Correct answer: Deployment Pipeline User
The 'Deployment Pipeline User' security role grants users permission to run pipelines and deploy solutions within Power Platform pipelines.
Question 3: In Power Platform, what does the 'Minimum Privilege' principle mean when assigning Dataverse security roles?
- Users should receive the highest role to avoid access issues
- Users should receive only the permissions necessary to perform their job functions (Correct answer)
- All users should share a single role for simplicity
- Roles should be assigned at the organization level only
Correct answer: Users should receive only the permissions necessary to perform their job functions
The principle of least privilege requires granting only the minimum permissions needed for a user to accomplish their intended tasks.
Question 4: Which Canvas App control property would you use to conditionally apply different colors to gallery rows based on a record's Status field?
- Style property with a conditional class
- Conditional formatting rule in the gallery settings
- Template.Fill with a ColorValue expression
- Fill property with an If() or Switch() formula (Correct answer)
Correct answer: Fill property with an If() or Switch() formula
The Fill property of a control inside a Gallery can use If() or Switch() referencing ThisItem fields to dynamically change row color.
Question 5: A developer registers a plug-in step in Dataverse for the 'Create' message on the Account table. In which pipeline stage should they register it to validate data BEFORE it is written to the database?
- Post-operation synchronous
- Pre-validation
- Post-operation asynchronous
- Pre-operation (Correct answer)
Correct answer: Pre-operation
The pre-operation stage fires after security checks but before the database write, making it the correct stage to modify or validate input data.
Question 6: When registering a Dataverse plug-in step, what does setting the execution mode to 'Asynchronous' mean?
- The plug-in runs synchronously on the server thread
- The plug-in runs before the database transaction commits
- The plug-in can cancel the operation if it throws an exception
- The plug-in runs in the background after the main operation completes (Correct answer)
Correct answer: The plug-in runs in the background after the main operation completes
Asynchronous plug-ins are queued and executed by the asynchronous processing service after the main transaction has completed.
Question 7: A company wants to prevent Power Platform users from exporting data from Dataverse to Excel. Which setting achieves this?
- Use Conditional Access to block Excel application access
- Set environment data policies to restrict export operations
- Enable DLP policies blocking the Excel Online connector
- Disable the Export to Excel privilege in all security roles (Correct answer)
Correct answer: Disable the Export to Excel privilege in all security roles
Removing the 'Export to Excel' miscellaneous privilege from security roles prevents users from exporting Dataverse data to Excel directly from model-driven apps.
Question 8: In Canvas Apps, what is the purpose of the UpdateContext() function?
- Updates a record in the connected data source
- Modifies a global variable accessible across all screens
- Refreshes the app's connection context
- Creates or updates a local variable scoped to the current screen (Correct answer)
Correct answer: Creates or updates a local variable scoped to the current screen
UpdateContext() sets screen-level local variables, which are only accessible within the screen where they are defined.
Question 9: Which deployment strategy ensures that a new version of a solution is deployed with zero downtime using a side-by-side approach?
- Recreate deployment
- Blue-green deployment (Correct answer)
- Rolling deployment
- Canary deployment
Correct answer: Blue-green deployment
Blue-green deployment runs two identical environments simultaneously and switches traffic to the new version, ensuring zero downtime.
Question 10: Which integration method fits scenario 3?
- Unstable API
- Ignore integration
- Unsecured link
- Secure connector 3 (Correct answer)
Correct answer: Secure connector 3
For scenario 3, the correct integration method is "Secure connector 3," implying that a specific, secure connection mechanism is required for this particular integration need within the Power Platform. Utilizing a secure connector ensures that data is exchanged reliably and safely between systems, adhering to necessary authentication and authorization protocols. This approach is crucial for maintaining data security and system integrity.
Question 11: Which tool in the Power Apps maker portal lets you view and resolve dependency errors before exporting a solution?
- Monitor tool
- App checker in Power Apps Studio
- Solution checker (with dependency analysis) (Correct answer)
- Environment variable editor
Correct answer: Solution checker (with dependency analysis)
The solution checker analyzes solution components for issues including missing dependencies, helping you resolve them before export or deployment.
Question 12: A developer uses Power BI Desktop's 'Publish to Power BI' feature but the target workspace is grayed out. What is the most likely cause?
- The workspace is in read-only mode
- The user does not have at least Contributor role in the workspace (Correct answer)
- The workspace is on shared capacity
- The dataset is too large for the workspace
Correct answer: The user does not have at least Contributor role in the workspace
Publishing to a workspace requires at least the Contributor role; Viewer role is insufficient for publishing new or updated content.
Question 13: Which Power Platform tool provides a command-line interface to register and update plugin assemblies without using the GUI Plugin Registration Tool?
- dotnet dataverse publish
- xrmtoolbox deploy
- msbuild /t:DeployPlugin
- pac plugin push (Correct answer)
Correct answer: pac plugin push
The Power Platform CLI command 'pac plugin push' automates plugin assembly registration directly from the terminal.
Question 14: How should Microsoft Certified Power Platform Developer Associate professionals respond to quality audit findings that identify areas for improvement?
- Dispute the findings to protect professional reputation
- Acknowledge the findings but take no formal action
- Develop and implement an action plan with measurable goals and timelines (Correct answer)
- Wait for the next audit to see if the issues persist
Correct answer: Develop and implement an action plan with measurable goals and timelines
A structured action plan with measurable goals and defined timelines demonstrates commitment to quality improvement. This systematic response ensures that identified issues are addressed effectively and progress can be tracked.
Question 15: A developer needs to allow external guest users (Azure AD B2B) to view an embedded Power BI report. What configuration is required in the Power BI tenant settings?
- Set the workspace to public visibility
- Enable 'Publish to web' for the report
- Enable 'Export to Excel' for guest users
- Enable 'Allow Azure Active Directory guest users to access Power BI' (Correct answer)
Correct answer: Enable 'Allow Azure Active Directory guest users to access Power BI'
The tenant admin must enable 'Allow Azure Active Directory guest users to access Power BI' in the admin portal before B2B guests can view content.
Question 16: You want to use environment variables in a canvas app to store a configuration URL that differs between dev and production environments. Where do you define environment variables?
- In the .env file included with the app package
- In the solution as an environment variable definition and value component (Correct answer)
- In the canvas app's App.OnStart using Set()
- In the Power Platform admin center under Settings
Correct answer: In the solution as an environment variable definition and value component
Environment variables are solution components with a definition and optional value; each environment can supply its own value without modifying the app itself.
Question 17: Which integration method fits scenario 6?
- Ignore integration
- Secure connector 6 (Correct answer)
- Unstable API
- Unsecured link
Correct answer: Secure connector 6
In the Power Platform, 'Secure connectors' are the standard and recommended method for integrating with external services and data sources. They provide a robust and secure way to connect applications and flows to various systems, ensuring data integrity and authentication. This approach is crucial for maintaining the security and reliability of business processes within the Power Platform ecosystem, making it the appropriate choice for scenario 6.
Question 18: A developer needs to audit which users accessed sensitive Dataverse records over the past 30 days. Which feature provides this capability?
- Microsoft 365 compliance center audit search
- Dataverse auditing with audit log queries (Correct answer)
- Power Platform admin center activity log
- Azure Monitor diagnostic settings
Correct answer: Dataverse auditing with audit log queries
Dataverse auditing tracks read, create, update, and delete operations on tables and can be queried through the audit log in the Power Platform admin center.
Question 19: Which approach best demonstrates mastery of model-driven apps in PL 400 practice?
- Relying entirely on technology
- Following procedures without understanding
- Applying principles to novel situations with sound judgment (Correct answer)
- Avoiding complex scenarios
Correct answer: Applying principles to novel situations with sound judgment
True mastery involves understanding underlying principles well enough to apply them to new and unfamiliar situations with professional judgment.
Question 20: What is the primary purpose of the Power Apps Component Framework (PCF)?
- To configure Dataverse security roles and permissions
- To build embedded Power BI dashboards within Power Apps
- To create custom, reusable UI controls for canvas and model-driven apps (Correct answer)
- To automate business workflows in Power Automate
Correct answer: To create custom, reusable UI controls for canvas and model-driven apps
PCF enables pro developers to build custom, reusable UI controls that extend the default controls available in Power Apps canvas and model-driven apps.
Question 21: A Canvas App needs to send an email via the Office 365 Outlook connector. Which function call is correct?
- Office365Outlook.SendEmailV2(to, subject, body) (Correct answer)
- OutlookConnector.Send({to, subject, body})
- SendEmail(Office365Outlook, to, subject, body)
- Email.Send(to, subject, body)
Correct answer: Office365Outlook.SendEmailV2(to, subject, body)
The Office 365 Outlook connector exposes SendEmailV2() as the standard action for sending emails from a Canvas App.
Question 22: A developer needs to create an environment variable in a Power Apps solution to store a configuration value that differs between development and production. Where is this configured?
- In the app's OnStart property using a Set() call
- In the Power Platform admin center under environment settings
- In a Dataverse configuration table with a fixed schema
- As an environment variable definition and value within the solution (Correct answer)
Correct answer: As an environment variable definition and value within the solution
Environment variables are added as components within a solution, with separate definition and value records allowing different values per environment.
Question 23: A developer needs to include custom code components (PCF controls) in a solution for deployment. What must be done before adding the PCF control to the solution?
- Register the PCF control in Azure AD
- Convert the PCF project to a managed solution separately
- Build the PCF project using 'npm run build' to generate deployable assets (Correct answer)
- Publish the PCF control to AppSource
Correct answer: Build the PCF project using 'npm run build' to generate deployable assets
PCF controls must be built with 'npm run build' to compile TypeScript and bundle assets before they can be added to a solution and deployed.
Question 24: What distinguishes a Microsoft Certified Power Platform Developer Associate certified professional from a non-certified practitioner?
- Certification validates competency through standardized assessment against established benchmarks (Correct answer)
- There is no meaningful difference in competency
- Certified professionals always have more years of experience
- Certified professionals exclusively work in larger organizations
Correct answer: Certification validates competency through standardized assessment against established benchmarks
Certification provides objective validation of competency through standardized assessment. While non-certified practitioners may be skilled, certification offers verified evidence that a professional meets established benchmarks for knowledge and performance.
Question 25: Which Power Automate feature allows a developer to group a set of actions so that error handling can be applied uniformly to the entire group?
- Condition
- Scope (Correct answer)
- Parallel Branch
- Do Until
Correct answer: Scope
A Scope action groups related actions together, and 'Run After' can be configured on the Scope to handle errors from all contained actions.
Question 26: In a Power Apps portal (now Power Pages), which method allows the portal to call a Dataverse action securely from client-side JavaScript?
- Direct OData calls using the portal's session cookie
- Azure Function proxy
- Portal Web API with explicit table/column permissions configured (Correct answer)
- Liquid template fetch
Correct answer: Portal Web API with explicit table/column permissions configured
The Power Pages/Portal Web API requires table and column permissions to be explicitly granted before client JavaScript can read or write Dataverse data.
Question 27: What automation logic is used in step 1?
- Repeat errors
- Proper automation logic 1 (Correct answer)
- Skip triggers
- Manual process
Correct answer: Proper automation logic 1
"Proper automation logic 1" refers to the initial, foundational step in designing an automated process within the Power Platform. This step is crucial for defining the trigger and the very first action of the automation. Establishing this correctly ensures the entire workflow starts as intended and sets the stage for subsequent actions.
Question 28: A developer registers an Azure AD app for Power BI embedding. Which API permission scope is required for reading reports?
- Report.Read.All (Correct answer)
- Report.ReadWrite.All
- Dataset.Read.All
- Workspace.Read.All
Correct answer: Report.Read.All
The Report.Read.All delegated permission grants read access to all Power BI reports in the tenant.
Question 29: A company wants to enforce governance by requiring approval before any solution is deployed to production through Power Platform pipelines. What feature enables this?
- Solution checker enforcement
- Managed environments gating
- Pre-deployment approvals in pipelines (Correct answer)
- Conditional access policies
Correct answer: Pre-deployment approvals in pipelines
Power Platform pipelines support pre-deployment approvals, requiring designated approvers to authorize a deployment before it proceeds to the next stage.
Question 30: In the context of Power Platform ALM, what does the 'unpack' operation do to a solution file?
- Extracts solution components into individual files for source control (Correct answer)
- Converts a managed solution to unmanaged
- Removes all customizations from a solution
- Deletes unused components from the solution
Correct answer: Extracts solution components into individual files for source control
Unpacking a solution extracts its XML components into individual files that can be tracked in source control systems like Git.
Question 31: What is the MOST important deliverable at the completion of a PL 400 design phase?
- Meeting minutes from design discussions
- Comprehensive documentation including specifications, drawings, calculations, and compliance evidence (Correct answer)
- A brief email summarizing key decisions
- A verbal summary of the design concept
Correct answer: Comprehensive documentation including specifications, drawings, calculations, and compliance evidence
Comprehensive design documentation serves as the authoritative reference for implementation, provides evidence of compliance, supports future maintenance and modifications, and creates a professional record of the design process.
Question 32: Which Dataverse table type stores data outside of Dataverse storage and requires a virtual table provider?
- Virtual table (Correct answer)
- Activity table
- Elastic table
- Standard table
Correct answer: Virtual table
Virtual tables surface external data in Dataverse without storing it, using a data provider to query the source system.
Question 33: When a plugin is registered on the Associate message, which entity is represented in context.InputParameters['Target']?
- An EntityReference pointing to the target entity (Correct answer)
- A Relationship object describing the relationship schema
- An EntityReferenceCollection containing both related records
- The primary entity of the N:N relationship
Correct answer: An EntityReference pointing to the target entity
For the Associate message, Target is an EntityReference for the primary record, and RelatedEntities holds the associated records.
Question 34: A plugin must update related records without triggering its own registered step again. What technique prevents an infinite loop?
- Set the plugin's filter attributes to exclude the looping field
- Check context.Depth and exit if greater than 1 (Correct answer)
- Register the step with Execution Mode set to Asynchronous
- Use a different IOrganizationService user context
Correct answer: Check context.Depth and exit if greater than 1
Checking context.Depth > 1 allows the plugin to detect recursive calls and exit early, breaking the loop.
Question 35: A Power Automate flow uses an HTTP connector to call an internal API that requires OAuth 2.0. The token must be refreshed automatically. Which approach is most appropriate?
- Store the access token in a flow variable and manually refresh it
- Use a custom connector with OAuth 2.0 authentication configured (Correct answer)
- Hardcode the bearer token in the HTTP action header
- Use a connection reference pointing to a generic HTTP connector
Correct answer: Use a custom connector with OAuth 2.0 authentication configured
Custom connectors support OAuth 2.0 configuration that handles token acquisition and refresh automatically, abstracting credential management from the flow.
Question 36: Which table relationship type in Dataverse creates a cascade behavior that deletes child records when the parent is deleted?
- Many-to-many relationship with cascade delete
- One-to-many relationship with Delete cascade set to Restrict
- One-to-many relationship with Delete cascade behavior set to Cascade All (Correct answer)
- Activity relationship with parental behavior
Correct answer: One-to-many relationship with Delete cascade behavior set to Cascade All
A one-to-many relationship with the Delete cascade behavior set to 'Cascade All' automatically deletes all related child records when the parent record is deleted.
Question 37: When configuring column-level security in Dataverse, what must a user have to read a secured column?
- A field security profile that grants Read permission on that column (Correct answer)
- Business unit manager role
- System Administrator role
- Owner of the record
Correct answer: A field security profile that grants Read permission on that column
Field security profiles control access to secured columns; a user or team must be assigned a profile granting the appropriate permission.
Question 38: What is the correct way to pass a Bearer token to a downstream API inside a Power Automate HTTP action?
- Use the API Key header named 'X-Auth-Token'
- Set the Authorization header to 'Bearer {token}' (Correct answer)
- Add it as a query parameter named 'token'
- Include it in the request body as 'access_token'
Correct answer: Set the Authorization header to 'Bearer {token}'
The HTTP standard requires Bearer tokens to be sent in the Authorization header with the 'Bearer ' prefix.
Question 39: Which Dataverse feature enables a developer to define a formula-based column value that is calculated in real time during a query?
- Rollup column
- Autonumber column
- Formula column (Correct answer)
- Calculated column
Correct answer: Formula column
Formula columns use Power Fx expressions and are evaluated at query time rather than stored as a static value.
Question 40: Which file type is used to define a model-driven app's sitemap in a solution?
- Ribbon XML
- AppModule XML
- FormXml
- SiteMap XML (Correct answer)
Correct answer: SiteMap XML
The SiteMap XML defines the navigation structure of a model-driven app and is exported as part of a solution.
Exam PL-400: Microsoft Power Platform Developer
This certification validates the skills of developers to design, develop, secure, and troubleshoot solutions built on the Microsoft Power Platform.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong — answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds