PL-400 study plan
PL-400 · Give each week a clear focus.
8 weeks · About 8 hours per week
Extend the platform
Provision a developer environment and install the Power Platform CLI plus the Plug-in Registration Tool.
Write an IPlugin class that validates a primary name field and throws InvalidPluginExecutionException with a user-friendly message.
Register the plug-in on Create at PreOperation with filtering attributes, and a second registration at PostOperation as asynchronous with a pre-image.
Debug the plug-in locally using the Plug-in Profiler and read the resulting trace log to confirm the execution pipeline stage.
Your checkpoint
Unmanaged solution .zip containing two registered plug-ins (synchronous pre-operation with attribute filtering, asynchronous post-operation with pre-image) plus an exported profiler trace log showing a successful debug run.
Extend the platform
Build a Custom API with request and response parameters and call it from both a plug-in and client JavaScript via Xrm.WebApi.
Write a Custom Workflow Activity using CodeActivity and invoke it from a cloud flow.
Register a webhook endpoint and consume the JSON payload in a small HTTP listener or Azure Function.
Package every component into a managed solution and import it into a second, clean environment.
Your checkpoint
Managed solution successfully imported into a second environment where a cloud flow triggers the custom workflow activity and a Custom API call returns the expected JSON payload documented in a results table.
Extend the platform & Configure Microsoft Dataverse
Model a Dataverse data model of four tables covering one-to-many, many-to-many, and a customer lookup.
Configure security roles and teams, then restrict two sensitive columns with column-level security.
Enable auditing at the table and column level and verify an audit record is created after an update.
Apply solution layering by shipping one change as a patch on top of the managed base solution.
Your checkpoint
Exported solution plus a security matrix listing each table, role, and column-level restriction, verified by logging in as two different test users and confirming the restricted columns are hidden for one of them.
Configure Microsoft Dataverse & Create a technical design
Implement business rules, a rollup column, a calculated column, and an alternate key on the modeled tables.
Draft the technical design sections for data model, security model, integration points, and ALM strategy.
Document service protection API limit handling and the retry/backoff approach for each integration point.
Review the design against a self-built checklist of PL-400 design concerns and close every gap.
Your checkpoint
A written technical design document of at least five pages whose data model section matches the working solution and whose checklist has zero open items.
Create and configure Power Apps
Configure a model-driven app with a custom sitemap, two main forms, three views, one chart, and one dashboard.
Build a canvas app that reads and writes Dataverse rows and embeds one reusable canvas component.
Parameterize the apps with an environment variable and a connection reference instead of hard-coded values.
Add a business process flow and confirm stage transitions persist on save.
Your checkpoint
Single solution containing the model-driven app, the canvas app, and the business process flow, imported into the clean environment where the environment variable is re-pointed without editing any app.
Extend the user experience & Develop integrations
Write a namespaced JavaScript web resource with three handlers using executionContext.getFormContext, an OnChange handler, and Xrm.WebApi.
Register the client-side events on a form, including OnSave validation that prevents saving when a field is invalid.
Create and deploy a PCF field control with the Power Platform CLI and place it on a model-driven form.
Build a custom connector for a public REST API and add a retry policy for non-2xx responses.
Your checkpoint
Deployed PCF control rendered on a live form plus a JavaScript library passing a lint check and a custom connector that succeeds on a 200 response and retries correctly on an injected failure.
Develop integrations & Extend the platform
Configure an Azure Service Bus queue or topic endpoint and publish a Dataverse message to it from a plug-in registration.
Handle 429 service protection responses in an integration flow with exponential backoff and log each retry.
Expose external data through a virtual table or an OData call and consume it in a model-driven view.
Re-run the Week 2 components after refactoring them into a segmented solution and confirm nothing breaks.
Your checkpoint
Integration runbook showing one message delivered to Service Bus, one 429 response recovered by retry (with log timestamps), and a virtual table record displayed in a model-driven view.
Extend the platform & Create a technical design & Configure Microsoft Dataverse & Create and configure Power Apps & Extend the user experience & Develop integrations
Re-run every deliverable from Weeks 1 through 7 against the clean environment and fix regressions.
Score at least 80 percent on a full-length timed practice assessment.
Rebuild the three weakest objectives from memory without reference material.
Finalize a one-page personal cheat sheet mapping each exam domain to the artifacts you built.
Your checkpoint
Practice assessment score report of 80 percent or higher plus a checklist confirming all eight weekly deliverables import and run cleanly in the clean environment.
Milestones
Week 2: A managed solution containing a plug-in, a Custom API, a Custom Workflow Activity, and a webhook imports into a second environment and executes end to end without error.
Week 4: Technical design document is complete, and the Dataverse model passes a security test with a restricted user who cannot see the column-level-secured fields.
Week 6: PCF control and JavaScript handlers are live on a model-driven form, and a custom connector call succeeds from a canvas app.
Week 8: Full-length practice assessment scored 80 percent or higher with all eight deliverables re-verified in the clean environment.