Exam PL-400: Microsoft Power Platform Developer — Questions and Answers
Question 1: A developer exports a custom connector as part of a managed solution. Which action is blocked on the custom connector once it is part of a managed solution in the target environment?
- Using the connector in a flow
- Creating a connection to the connector
- Sharing the connector with other users
- Editing the connector definition directly (Correct answer)
Correct answer: Editing the connector definition directly
Managed solution components are read-only in target environments; the connector definition cannot be edited without going through the source environment.
Question 2: Which professional attribute is most valued in model-driven apps within the PL 400 field?
- Prioritizing personal convenience
- Avoiding challenging situations
- Accountability and commitment to standards (Correct answer)
- Working in isolation
Correct answer: Accountability and commitment to standards
Accountability and commitment to professional standards build trust and ensure consistent, high-quality practice.
Question 3: Which integration method fits scenario 5?
- Ignore integration
- Unstable API
- Unsecured link
- Secure connector 5 (Correct answer)
Correct answer: Secure connector 5
For scenario 5, the designated integration method is "Secure connector 5," signifying that a specific, secure connection mechanism is the optimal choice for this particular integration requirement in the Power Platform. Using a secure connector guarantees that data communication is encrypted, authenticated, and authorized, thereby safeguarding sensitive information and ensuring the reliability of the integrated systems.
Question 4: Which Azure service can be placed in front of a backend API to provide throttling, caching, and a single endpoint for multiple custom connectors?
- Azure Service Bus
- Azure Logic Apps
- Azure API Management (Correct answer)
- Azure Relay
Correct answer: Azure API Management
Azure API Management provides a managed gateway with policies for throttling, caching, and transformation in front of backend APIs used by custom connectors.
Question 5: A Dataverse plug-in must read a configuration value that differs between dev and production without redeploying the plug-in. What is the recommended approach?
- Hard-code the value with a compile-time constant
- Read the value from an Azure Key Vault secret
- Use the plug-in's unsecure configuration field in the step registration (Correct answer)
- Store the value in a custom Dataverse configuration table
Correct answer: Use the plug-in's unsecure configuration field in the step registration
The unsecure (and secure) configuration fields in the plug-in step registration allow environment-specific strings to be passed to the plug-in without redeployment.
Question 6: Which Dataverse service should a plugin use to impersonate another user when performing data operations?
- IOrganizationServiceFactory.CreateOrganizationService(targetUserId) (Correct answer)
- IOrganizationService with a custom header
- context.InitiatingUserId property setter
- OrganizationServiceProxy with alternate credentials
Correct answer: IOrganizationServiceFactory.CreateOrganizationService(targetUserId)
Calling CreateOrganizationService with a specific userId creates a service instance that impersonates that user for all subsequent operations.
Question 7: What is the maximum allowed execution time for a synchronous plugin before Dataverse terminates it?
- 5 minutes
- 2 minutes (Correct answer)
- 10 minutes
- 30 seconds
Correct answer: 2 minutes
Synchronous plugins must complete within 2 minutes; exceeding this limit causes Dataverse to throw a timeout exception.
Question 8: What is the maximum number of columns that can be included in a Dataverse alternate key?
- 5
- 1
- 3
- 10 (Correct answer)
Correct answer: 10
Dataverse supports up to 10 columns in a single alternate key definition.
Question 9: How often should PL 400 compliance training be conducted?
- At regular intervals as required by regulations (Correct answer)
- Only during initial orientation
- Only when violations occur
- Every five years
Correct answer: At regular intervals as required by regulations
Compliance training must be conducted at regular intervals as specified by applicable regulations to keep practitioners current.
Question 10: Which model-driven app component allows developers to embed a list of related records directly on a parent entity's main form?
- Quick View form
- Timeline
- Business Process Flow
- Subgrid (Correct answer)
Correct answer: Subgrid
A subgrid control on a main form displays related records from a child entity based on a relationship, allowing in-line viewing and interaction.
Question 11: A developer needs to expose Dataverse table data to an external reporting tool that requires incremental data loads. Which feature should they configure on the table?
- Change tracking (Correct answer)
- Elastic table mode
- Auditing
- Alternate key
Correct answer: Change tracking
Enabling change tracking on a table allows external tools to retrieve only rows that have changed since the last retrieval using a delta token.
Question 12: What step is essential in Power App creation 5?
- Avoid connectors
- Essential design step 5 (Correct answer)
- Skip UI setup
- Ignore logic
Correct answer: Essential design step 5
"Essential design step 5" is a vital phase in the iterative process of building a Power App. This stage often focuses on testing initial functionalities or incorporating user feedback. It ensures the app remains aligned with user needs and performs as expected before further development.
Question 13: A custom connector action returns an object with a property whose name is unknown at design time. Which x-ms extension allows the connector to declare this dynamic output structure?
- x-ms-dynamic-schema (Correct answer)
- x-ms-dynamic-values
- x-ms-summary
- x-ms-visibility
Correct answer: x-ms-dynamic-schema
x-ms-dynamic-schema instructs the connector to call a specified operation at design time to retrieve the actual output schema for that action.
Question 14: What is the recommended first step when a PL 400 professional identifies a compliance violation?
- Ignore it if minor
- Wait for someone else to report it
- Document and report through proper channels (Correct answer)
- Discuss on social media
Correct answer: Document and report through proper channels
All compliance violations should be documented and reported through established channels to ensure proper investigation and resolution.
Question 15: What distinguishes a Microsoft Certified Power Platform Developer Associate certified professional from a non-certified practitioner?
- There is no meaningful difference in competency
- Certified professionals always have more years of experience
- Certification validates competency through standardized assessment against established benchmarks (Correct answer)
- 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 16: Which property in the OpenAPI definition controls the base URL that the custom connector uses to make API calls?
- info.contact.url
- host and basePath (Swagger 2.0) or servers[].url (OpenAPI 3.0) (Correct answer)
- x-ms-api-annotation.url
- externalDocs.url
Correct answer: host and basePath (Swagger 2.0) or servers[].url (OpenAPI 3.0)
In Swagger 2.0 the host and basePath fields combine to form the base URL; in OpenAPI 3.0 the servers array's url property serves this purpose.
Question 17: Which practice improves the security of plugin development implementations?
- Input validation and principle of least privilege (Correct answer)
- Disabling all logging
- Granting maximum permissions to all users
- Using default credentials
Correct answer: Input validation and principle of least privilege
Input validation prevents injection attacks while the principle of least privilege limits the damage potential of any compromised component.
Question 18: A developer exports a solution and commits it to Git, but the XML files show constant noise changes like reordered attributes. What is the best fix?
- Manually sort XML files before every commit
- Disable version control for solution exports
- Always commit binary .zip files instead of unpacked XML
- Use 'pac solution unpack' with the --processCanvasApps flag to normalize output (Correct answer)
Correct answer: Use 'pac solution unpack' with the --processCanvasApps flag to normalize output
The --processCanvasApps flag in 'pac solution unpack' normalizes canvas app source output, reducing noise from attribute reordering and making diffs meaningful.
Question 19: What is the recommended way to share a Canvas App with all users in an organization without assigning individual licenses?
- Share with 'Everyone' in the organization and assign a Power Apps per-app or per-user plan (Correct answer)
- Export the app as a .msapp file and distribute by email
- Publish the app to Microsoft Teams
- Embed the app in a SharePoint page
Correct answer: Share with 'Everyone' in the organization and assign a Power Apps per-app or per-user plan
Sharing with the entire organization requires that each user has an appropriate Power Apps license, either per-user or per-app through Microsoft licensing.
Question 20: When using Azure DevOps pipelines for Power Platform, which task is used to export a solution from a source environment?
- PowerPlatformPublishCustomizations
- PowerPlatformPackSolution
- PowerPlatformExportSolution (Correct answer)
- PowerPlatformImportSolution
Correct answer: PowerPlatformExportSolution
The PowerPlatformExportSolution task in the Power Platform Build Tools extension exports a solution from a specified environment.
Question 21: What is the most important professional competency for PL 400 certification in model-driven apps?
- Speed of task completion
- Memorization of all reference materials
- Ability to work alone exclusively
- Deep knowledge combined with practical application skills (Correct answer)
Correct answer: Deep knowledge combined with practical application skills
Professional competency requires both deep knowledge of the subject matter and the ability to apply that knowledge in practical situations.
Question 22: Which quality management tool is MOST useful for PL 400 professionals identifying the root cause of a problem?
- Root cause analysis using tools such as fishbone diagrams or the 5 Whys method (Correct answer)
- Employee satisfaction surveys
- Random audits without specific focus
- A suggestion box
Correct answer: Root cause analysis using tools such as fishbone diagrams or the 5 Whys method
Root cause analysis tools like fishbone diagrams and the 5 Whys method help professionals systematically trace problems back to their underlying causes rather than just addressing symptoms. This leads to more effective and lasting solutions.
Question 23: Which expression returns the current UTC date and time as a string in ISO 8601 format inside a Power Automate flow?
- utcNow() (Correct answer)
- currentDate()
- formatDateTime(now(), 'yyyy-MM-dd')
- now()
Correct answer: utcNow()
The `utcNow()` function returns the current UTC timestamp in ISO 8601 format.
Question 24: In Canvas Apps, which technique ensures that a collection used as a local data cache is initialized only once per session?
- Place ClearCollect() in the App OnStart property (Correct answer)
- Use Collect() in a Timer control
- Place ClearCollect() in the Button OnSelect property
- Place ClearCollect() in each Screen OnVisible property
Correct answer: Place ClearCollect() in the App OnStart property
App.OnStart runs once when the app launches, making it the correct place to initialize collections that should persist for the entire session.
Question 25: A cloud flow action returns a '429 Too Many Requests' HTTP status. The developer wants the flow to automatically retry with exponential backoff. Which retry policy type should be configured on the action?
- Fixed interval
- Exponential interval (Correct answer)
- None
- Default
Correct answer: Exponential interval
The 'Exponential interval' retry policy increases the wait time between retries progressively, which is well-suited for handling rate-limiting responses.
Question 26: A developer needs to ensure that environment-specific configuration values like connection strings are not hardcoded in a solution. What Power Platform feature should they use?
- Solution layers
- Canvas app parameters
- Connection references
- Environment variables (Correct answer)
Correct answer: Environment variables
Environment variables allow storing configuration values that differ across environments without modifying the solution itself.
Question 27: What is the MOST effective approach to quality assurance in Microsoft Certified Power Platform Developer Associate?
- Integrating quality checks throughout the entire process from planning to completion (Correct answer)
- Conducting quality reviews only when complaints are received
- Assigning quality responsibility to a single person
- Inspecting finished work only at the final stage
Correct answer: Integrating quality checks throughout the entire process from planning to completion
Quality assurance is most effective when integrated throughout the entire process. Checking quality only at the end allows defects to propagate, while continuous monitoring catches issues early when they are easier and less costly to address.
Question 28: Which type of form in a model-driven app is used specifically to display read-only information from a related record directly on the parent record's form?
- Quick View form (Correct answer)
- Quick Create form
- Card form
- Main form
Correct answer: Quick View form
Quick View forms display read-only information from a related record and are embedded within the main form of a parent record.
Question 29: What is the primary benefit of version control in alm and deployment for PL 400?
- It makes files larger
- It replaces testing
- It eliminates the need for documentation
- It tracks changes and enables collaboration (Correct answer)
Correct answer: It tracks changes and enables collaboration
Version control systems track all changes to code and configurations, enabling collaboration, rollback, and audit trails.
Question 30: A team uses feature branching in Git for Power Platform development. What is the recommended approach when merging feature branches to avoid solution conflicts?
- Always use the latest timestamp merge strategy
- Manually delete conflicting components before merge
- Deploy each branch to production separately
- Use solution-aware merge tools that understand XML component structure (Correct answer)
Correct answer: Use solution-aware merge tools that understand XML component structure
Solution-aware merge tools understand the XML structure of Power Platform components and can resolve conflicts at the component level.
Question 31: Which workflow correctly packages and deploys a PCF control to a Dataverse environment for production use?
- Build the solution with `pac solution build` to create an importable .zip, then import it via the Maker Portal or pac solution import (Correct answer)
- Compress the project folder manually and upload it to Power Platform Admin Center
- Upload the TypeScript source files directly through the Power Apps Maker Portal
- Run `npm run build --deploy` which automatically publishes to the connected environment
Correct answer: Build the solution with `pac solution build` to create an importable .zip, then import it via the Maker Portal or pac solution import
For production, `pac solution build` (or `msbuild`) creates a solution .zip that is imported like any other Dataverse solution; `pac pcf push` is a faster shortcut only appropriate for development environments.
Question 32: When implementing column-level security in Dataverse, what must be true before a user can read a secured column?
- The user must be assigned to a Column Security Profile that grants read access (Correct answer)
- The user's security role must include the entity read privilege
- The user must be the record owner
- The user must have a System Administrator role
Correct answer: The user must be assigned to a Column Security Profile that grants read access
Column security profiles explicitly grant read, create, or update permissions on secured columns independent of table-level security roles.
Question 33: In the `updateView` method signature, which parameter provides access to the control's current input property values and all framework services?
- context (Correct answer)
- inputs
- state
- props
Correct answer: context
The `context` parameter of type `ComponentFramework.Context<IInputs>` exposes `context.parameters` for property values plus all framework service APIs such as webAPI, formatting, and client.
Question 34: What automation logic is used in step 9?
- Repeat errors
- Skip triggers
- Proper automation logic 9 (Correct answer)
- Manual process
Correct answer: Proper automation logic 9
Similar to Q1, this question refers to a specific step (step 9) in an automation workflow. "Proper automation logic 9" indicates that the design and implementation of this particular step adhere to established best practices and requirements for automation within the Power Platform. This ensures the step executes correctly, contributing to the overall efficiency and reliability of the automated process.
Question 35: In Dataverse, which relationship type allows a single record in Table A to be related to multiple records in Table B, and vice versa?
- One-to-Many (1:N)
- Self-referential
- Many-to-One (N:1)
- Many-to-Many (N:N) (Correct answer)
Correct answer: Many-to-Many (N:N)
Many-to-Many relationships use an intersect (relationship) table to link records from both tables bidirectionally.
Question 36: What automation logic is used in step 5?
- Repeat errors
- Manual process
- Skip triggers
- Proper automation logic 5 (Correct answer)
Correct answer: Proper automation logic 5
"Proper automation logic 5" refers to an advanced stage in building sophisticated automation. This step might involve loops, parallel branches, or interactions with external systems. It ensures the automation can manage complex tasks and integrate seamlessly across different platforms.
Question 37: What is a key configuration in Dataverse task 2?
- Correct configuration 2 (Correct answer)
- Random entry
- Skip validation
- Unrelated feature
Correct answer: Correct configuration 2
Similar to the previous question, this refers to a specific technical requirement for a Dataverse task within the PL-400 certification. 'Correct configuration 2' signifies a particular setup or parameter that needs to be accurately applied. Identifying and implementing this specific configuration is essential for successful completion of the given Dataverse task.
Question 38: A developer needs to ensure that when a Power Apps form is submitted, the related Power BI dashboard refreshes automatically. What is the best approach?
- Enable incremental refresh in Power BI Desktop
- Use DirectQuery mode in the dataset
- Schedule a daily Power BI refresh
- Trigger a Power Automate flow on form submission that calls the Power BI refresh API (Correct answer)
Correct answer: Trigger a Power Automate flow on form submission that calls the Power BI refresh API
A Power Automate flow triggered on form submission can call the Power BI dataset refresh REST API endpoint to initiate an on-demand refresh.
Question 39: Which Dataverse permission is required to publish customizations like table and column changes made in a managed or unmanaged solution?
- Environment Maker
- System Customizer (Correct answer)
- System Administrator
- Delegate
Correct answer: System Customizer
The System Customizer role has the Publish Customizations privilege required to push changes live in the environment.
Question 40: Which Power Apps expression correctly increments a counter variable by 1 each time a button is pressed?
- UpdateContext({varCounter: varCounter + 1})
- Set(varCounter, varCounter + 1) (Correct answer)
- varCounter++
- Increment(varCounter, 1)
Correct answer: Set(varCounter, varCounter + 1)
Set() updates a global variable's value, and using Set(varCounter, varCounter + 1) reads the current value and assigns the incremented result.
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