PL-400 Exam 2026: Your Complete Microsoft Power Platform Developer Guide
The Microsoft PL-400: Microsoft Power Platform Developer exam is the single requirement to earn the Power Platform Developer Associate badge. It validates that you can design technical architecture, build solutions, write Power Fx and TypeScript/JavaScript, develop Dataverse plug-ins and PCF (Power Apps Component Framework) controls, build custom connectors, integrate Azure Functions, and ship Copilot Studio agents.
PL-400 is the code-first certification in Microsoft's low-code/no-code lineup. While PL-200 (Functional Consultant) and PL-600 (Solution Architect) are configuration-and-design exams, PL-400 expects you to write TypeScript, C#, JavaScript, and Power Fx by hand — and the March 19, 2026 skills outline has expanded the AI footprint to include Copilot Studio agents, custom AI prompts, and using AI tools as part of the developer workflow.
This guide leads with the angle most competitor blogs miss: PL-400 is 30–35% Dataverse server-side extensibility (plug-ins, custom APIs, custom connectors, Azure Functions integration) plus another ~25% client-side code (PCF, Client API JavaScript), per the March 19, 2026 Microsoft Learn outline. Many competitor blogs (Edusum, PassITExams) still quote a stale "40–45%" weight for Extend the Platform — the official outline updated in 2026. If you study like a Functional Consultant, you fail. We cover the full skills outline, the PL-200 vs PL-400 vs PL-600 decision, exam logistics ($165, 700/1000, 100 minutes, 1-year renewal), a 6-week FREE study plan, and the Copilot Studio + AI Builder integration that has expanded since 2024.
Start Your FREE PL-400 Prep Today
Our free PL-400 prep mirrors the real Microsoft case-study and code-completion format with AI-generated explanations citing the March 2026 skills outline. 100% FREE, no credit card.
PL-400 Exam Format at a Glance
| Spec | Detail |
|---|---|
| Exam code | PL-400 |
| Title | Microsoft Power Platform Developer |
| Certification earned | Power Platform Developer Associate |
| Questions | 40–60 (typically ~50) |
| Time | 100 minutes (core); ~120 min seat time |
| Passing score | 700 of 1000 (scaled — not 70%) |
| Question types | Multiple choice, multiple answer, drag-drop, build-list, hot area, case study, code completion (C#, JavaScript, Power Fx) |
| Fee (US) | $165 USD |
| Languages | English, Japanese, Chinese (Simplified), Korean, German, French, Spanish, Portuguese (Brazil) |
| Validity | 1 year — renewed FREE on Microsoft Learn |
| Skills outline date | March 19, 2026 (Microsoft Learn) |
| Delivery | Pearson VUE test center or online proctored |
| Prerequisites | None — but PL-900 fundamentals + 1 year .NET/JavaScript experience strongly recommended |
Important: The 700 pass mark is scaled, not a raw 70%. Microsoft uses item-response weighting, so harder questions count more.
The 6 PL-400 Domains (March 2026 Skills Outline)
| Domain | Weight | Focus |
|---|---|---|
| 1. Create a technical design | 10–15% | Architecture, security, business logic placement, table choice |
| 2. Build Power Platform solutions | 10–15% | Solutions, ALM, environment management, Power Platform Pipelines |
| 3. Implement Power Apps improvements | 10–15% | Power Fx, component libraries, performance optimization |
| 4. Extend the user experience | 10–15% | Client API JavaScript, PCF code components |
| 5. Extend the platform | 30–35% | Plug-ins, custom APIs, custom connectors, Azure Functions, Power Automate, Dataverse Web API |
| 6. Develop integrations | 10–15% | Dataverse events, change tracking, alternate keys, Service Bus / Event Hub |
Domain 5 is the giant. A third of the exam is Dataverse server-side extensibility. If you cannot write a C# plug-in that registers on the PreOperation stage of an Update message, register pre/post images, and call IOrganizationService.Retrieve in under 90 seconds, you are not ready.
PL-200 vs PL-400 vs PL-600: Which Power Platform Cert?
| Cert | Code | Audience | Code-required? | Best for |
|---|---|---|---|---|
| Power Platform Functional Consultant | PL-200 | Configuration, no-code | No | Citizen developers, business analysts |
| Power Platform Developer | PL-400 | Code-first | Yes — C#, JS, TS, Power Fx | Pro devs extending Power Platform |
| Power Platform Solution Architect | PL-600 | Architecture, end-to-end design | Some — design-level | Senior architects shaping enterprise rollouts |
| Power Platform Maker | PL-7003 (replacement of PL-100) | Canvas/model app makers | Light Power Fx | Citizen developers building apps |
Recommended order for a pro developer: PL-900 (free fundamentals) → PL-400 → PL-600 (after 2+ years experience). PL-200 is not a prerequisite for PL-400 and the two have only ~10% overlap (security roles, basic Dataverse).
What Changed in the March 2026 PL-400 Skills Outline
The March 19, 2026 revision is mostly "minor" updates per Microsoft's change log, but two structural shifts matter:
1. AI as part of solution logic — explicit objective
The audience profile now explicitly lists "AI as part of your solution logic" and "AI tools, including agents, to improve development and troubleshooting solutions" — meaning Copilot Studio agents, custom AI prompts, and AI Builder are fair game. Be ready for questions on:
- Copilot Studio agents that trigger Power Automate flows, respond to inputs, and embed in Power Apps
- AI Builder prebuilt and custom models (form processing, object detection, prediction, sentiment analysis)
- Custom prompts (the new Power Platform AI prompt builder for GPT-style invocations)
- AI as a developer tool — Copilot for Power Apps, Copilot Studio code suggestions
2. Power Platform Pipelines and Build Tools
The ALM domain now reads "Implement and extend Power Platform Pipelines" and "Create CI/CD automations using Power Platform Build Tools." Pipelines is the in-product DevOps experience for low-risk solution promotion; Build Tools are the GitHub Actions / Azure DevOps tasks for code-heavy projects. PL-400 expects you to know when to use which.
3. Elastic tables, virtual tables, and standard tables
The "Determine when to use standard tables, virtual tables, elastic tables, or connectors" objective adds elastic tables — Dataverse's NoSQL-style tables built on Cosmos DB. Know that elastic tables sacrifice some Dataverse features (no business rules, no plug-ins on certain messages, no rollup fields) in exchange for billion-row scale.
Try a FREE PL-400 Practice Question Set
Our FREE Microsoft-style question bank covers all 6 domains with detailed Microsoft Learn citations.
Domain 5 Deep-Dive: Extend the Platform (30–35%)
This is the make-or-break domain. Five sub-areas:
Dataverse plug-ins
A plug-in is custom .NET (C#) business logic registered against a Dataverse message (Create / Update / Delete / Retrieve / Custom) and stage:
| Stage | When | Use case |
|---|---|---|
| Pre-validation | Before security checks | Cancel transaction without rollback overhead |
| Pre-operation | Inside transaction, before DB write | Modify the Target entity before save |
| Post-operation (sync) | Inside transaction, after DB write | Read post-image, throw to roll back |
| Post-operation (async) | After transaction, queued | Long-running side effects, no rollback |
Memorize the plug-in execution context members: IPluginExecutionContext, IOrganizationService, ITracingService, Target and PreEntityImages/PostEntityImages. Pre-images are mandatory if you need the prior values of changed columns (Update message); post-images give the saved record after write.
Common gotcha: Async plug-ins cannot abort the parent transaction — only sync plug-ins can throw InvalidPluginExecutionException to roll back.
Custom APIs and custom messages
Custom APIs are the modern replacement for Custom Actions. They appear in the Dataverse Web API, can be invoked from Power Automate, JavaScript, plug-ins, and the SDK. They support strongly typed input/output parameters, bound (operate on a specific entity) or unbound (global), and private (only callable in the registered plug-in chain) or public.
Custom connectors
A custom connector wraps an existing REST API for use in Power Apps and Power Automate. You can:
- Import an OpenAPI 2.0 (Swagger) definition or a Postman collection
- Use policy templates to modify behavior at runtime (URL rewrite, header injection, OAuth flow)
- Implement authentication: OAuth 2.0, API key, Basic, Microsoft Entra ID, No auth
- Wrap an Azure Function to add custom logic the original API does not support
Azure Functions integration
For heavy lifting, offload to Azure Functions:
- Use managed identity to authenticate from Function back to Power Platform / Dataverse
- Use scheduled triggers (timer triggers) for nightly jobs
- Use event-driven triggers (Service Bus, Event Hub) when the Function reacts to Dataverse events
- For long-running operations, Power Automate calls the Function rather than running logic in the flow itself (avoids 5-minute action timeout)
Power Automate cloud flows (developer perspective)
Key developer-grade objectives:
- Child flows for reusable logic across parent flows in the same solution
- Trigger filter expressions (OData) to fire only when conditions met — avoids unnecessary runs
- Retry policies on actions (exponential, fixed, none) and error handling with Configure run after (succeeded, failed, skipped, timed out)
- Microsoft Entra ID service principal authentication for unattended flows (no user license consumed)
- Azure Key Vault integration for secrets — never hard-code keys in expressions
- Sensitive input/output parameters to redact from run history
Domain 4 Deep-Dive: Extend the User Experience (10–15%)
Two halves: Client API JavaScript for model-driven apps and PCF code components.
Client API JavaScript (model-driven apps)
- Target the Client API object model (
formContext,Xrm.WebApi,Xrm.Navigation) - Register events: OnLoad, OnSave, OnChange (per attribute), TabStateChange, OnReadyStateComplete
- Use
Xrm.WebApi.online.executeto call bound/unbound custom APIs - For commands (ribbon buttons), use command bar customization with Power Fx (preferred new path) or JavaScript (legacy)
- Navigate to custom pages with
Xrm.Navigation.navigateTo
PCF (Power Apps Component Framework)
A PCF control is a TypeScript/React component packaged as a Dataverse solution component. Lifecycle methods:
init— called once at start; receive context, notifyOutputChanged callback, state, containerupdateView— called whenever inputs or context change; render the UIgetOutputs— called when control needs to push values back to the frameworkdestroy— cleanup before unmount
Key APIs:
- Device — camera, GPS, barcode
- Utility — open lookups, alert dialogs, get entity metadata
- Web API — call Dataverse directly without Xrm namespace
PL-400 Salary in 2026
| Role | US Median | Range |
|---|---|---|
| Junior Power Platform Developer | $98,000 | $82k–$115k |
| Power Platform Developer (PL-400 holder) | $130,000 | $112k–$155k |
| Senior Power Platform Developer | $160,000 | $140k–$185k |
| Power Platform / D365 Architect (PL-600) | $180,000 | $155k–$215k |
Source: Glassdoor, Payscale, Levels.fyi 2026. PL-400 holders earn roughly 15–18% more than uncertified Power Platform devs in the same role band, per Microsoft's 2025 IT certification value report. The PL-400 + Azure Developer (AZ-204) combination clusters in the upper salary band.
Your 6-Week FREE PL-400 Study Plan
| Week | Focus | Hours | Tasks |
|---|---|---|---|
| 1 | Domain 1 + 2: Design + ALM | 8–10 | Microsoft Learn paths "Get started with Power Platform development" + ALM essentials. Set up dev/test/prod environments and a solution. |
| 2 | Domain 3: Power Apps improvements | 8–10 | Build a canvas app with reusable components and complex Power Fx. Build a model-driven app, optimize forms, run Monitor. |
| 3 | Domain 4: Extend the UX | 10–12 | Hand-write 3 JavaScript event handlers using formContext and Xrm.WebApi. Build and deploy at least one PCF code component end-to-end. |
| 4 | Domain 5 part 1: Plug-ins + custom APIs | 12–14 | Build a sync plug-in with pre-image and post-image. Register a custom API. Wire it up to JavaScript and Power Automate. |
| 5 | Domain 5 part 2: Connectors + Azure | 10–12 | Build a custom connector from an OpenAPI definition with OAuth. Implement an Azure Function with managed identity calling Dataverse. Configure Service Bus event publishing. |
| 6 | Domain 6 + Mocks | 10–12 | Microsoft free Practice Assessment 3+ times. Two third-party full-length mocks. Re-read the change-log items in the March 2026 outline. |
Total prep: 60–80 hours over 6 weeks for someone with 1 year of .NET / TypeScript and Power Platform basics. Citizen developers transitioning to PL-400 typically need 100–130 hours.
Free Resources From Microsoft
- PL-400 Study Guide (March 2026 outline) — the only authoritative source
- Microsoft Learn PL-400 collection — 100+ free modules
- Free Practice Assessment for PL-400 — 50 questions, free, retakeable
- Power Apps developer documentation
- Dataverse developer guide
- Power Apps Component Framework reference
- Plug-in Registration Tool download
- Power Platform CLI
- Microsoft 365 Developer Program (free) — gives you a Power Platform tenant for hands-on labs
Take a FREE Full-Length PL-400 Mock Exam
Unlimited mock exams, AI-explained answers grounded in the March 2026 outline, and a personalized weak-spot dashboard — 100% FREE.
PL-400 Retake Policy and Cost-Saving Tips
Microsoft's official rules for PL-400 retakes (Microsoft Learn retake policy):
| Attempt | Wait time | Cost |
|---|---|---|
| 1st retake (after fail) | 24 hours | $165 USD (full price) |
| 2nd–5th retake | 14 days between attempts | $165 USD each |
| Maximum attempts in 12 months | 5 | — |
| If you fail 5 times | Wait 12 months from your first attempt | — |
Key rules:
- You cannot retake an exam you have passed unless your certification has expired
- The 14-day waiting period can only be waived for documented internet/equipment failure with a Pearson VUE case number — "I forgot to study" does not qualify
- Exam Replay voucher (~$33 add-on at original purchase) gets you one discounted retake
- Verified-student 50% discount drops PL-400 to ~$82.50 with a
.eduemail - Free renewal via the unproctored online assessment on Microsoft Learn keeps the cert active without ever paying again
Hands-On Labs Checklist (Cannot Skip)
PL-400 is a code-first exam. The Microsoft 365 Developer Program gives you a free Power Platform tenant — use it. Complete these labs end-to-end before sitting:
| # | Lab | Domain | Time |
|---|---|---|---|
| 1 | Create dev/test/prod environments; build a managed solution and move it through environments via a managed-environment Power Platform Pipeline | 2 | 1.5h |
| 2 | Configure Power Platform Build Tools in Azure DevOps with export, unpack, and import-solution tasks | 2 | 2h |
| 3 | Build a canvas app with a reusable component library and at least 5 complex Power Fx formulas (e.g., LookUp, AddColumns, Patch with delegation) | 3 | 2h |
| 4 | Optimize a slow model-driven form: run Monitor, identify long-running JavaScript, fix delegation warnings | 3 | 1h |
| 5 | Hand-write a JavaScript event handler that calls Xrm.WebApi.online.execute to invoke a custom API on form save | 4 | 1.5h |
| 6 | Build a PCF code component in TypeScript/React with init, updateView, getOutputs, package and deploy via pac pcf push | 4 | 3h |
| 7 | Write a C# Dataverse plug-in registered on Update PreOperation with a pre-image; throw InvalidPluginExecutionException to roll back; debug with the Plug-in Registration Tool profiler | 5 | 3h |
| 8 | Register a Custom API with strongly typed inputs/outputs; invoke it from JavaScript and Power Automate | 5 | 1.5h |
| 9 | Build a custom connector from an OpenAPI 2.0 file with Microsoft Entra ID OAuth 2.0 authentication | 5 | 2h |
| 10 | Write an Azure Function that uses managed identity to call Dataverse Web API; trigger it from Power Automate to bypass the 5-minute action timeout | 5 | 2h |
| 11 | Configure a Power Automate cloud flow with child flows, trigger filter expressions, Configure run after error handling, and Azure Key Vault for secrets | 5 | 1.5h |
| 12 | Publish a Dataverse event to Azure Service Bus via the Plug-in Registration Tool Register New Service Endpoint feature | 6 | 1h |
Total: ~22 hands-on hours. Without lab #7 (the C# plug-in) and lab #6 (PCF), you cannot pass Domain 5 — the largest single domain.
Common PL-400 Mistakes (And How to Avoid Them)
Mistake 1: Studying like a Functional Consultant (PL-200)
PL-400 is a developer exam. ~70% of questions assume you read or write code. If your prep is mostly clicking through the maker portal, you will fail Domain 5.
Mistake 2: Not knowing plug-in execution stages cold
The difference between Pre-validation, Pre-operation, Post-operation sync, and Post-operation async is among the most-tested topics. Memorize: only sync plug-ins can roll back, pre-validation runs outside the transaction, post-operation async cannot abort save.
Mistake 3: Using Custom Actions in answers
Custom Actions are deprecated. The 2026 exam expects Custom APIs. If a Custom Action option appears, it is almost always wrong.
Mistake 4: Confusing Power Platform Pipelines with Power Platform Build Tools
- Power Platform Pipelines = in-product, low-risk, configuration-driven solution promotion (think "managed environment with deployment lanes")
- Power Platform Build Tools = Azure DevOps / GitHub Actions tasks for full CI/CD with code, source control, and automated testing
The exam asks "which fits a citizen-developer team?" (Pipelines) vs "which fits a pro-dev team with Git?" (Build Tools).
Mistake 5: Forgetting OAuth flows in custom connectors
Custom connectors with Microsoft Entra ID OAuth require app registration with API permissions, redirect URI, and client secret/certificate. The exam tests whether you know which fields the connector authoring UI needs (Client ID, Client Secret, Authorization URL, Token URL, Refresh URL, Scope, Resource URL).
Test-Day Strategy: How to Pass PL-400 First Try
Before You Sit
- Score 820+ on Microsoft's free Practice Assessment three runs in a row
- Hand-write at least one C# plug-in and one PCF control in your prep environment
- Re-read the March 2026 skills outline change log the morning of the exam
During the 100 Minutes
- Code completion questions first if confident — they are higher-weight and benefit from a fresh mind
- Case study: read the entire scenario (architecture diagram, requirements, constraints) before answering any sub-question
- Mark and skip anything > 90 seconds; come back
- Last 10 minutes: review every flagged question; only change an answer if you can cite a Microsoft Learn doc in your head
After You Finish
You see your scaled score immediately. Pass and your Credly badge arrives within 24 hours, plus a one-year-out renewal reminder. Fail and you see your performance by domain.
Renewing PL-400: Free, Forever
Like all Microsoft role-based certifications, PL-400 is renewed FREE on Microsoft Learn within a 12-month window starting 6 months before expiration. The renewal assessment is online, unproctored, and takes most candidates 30–45 minutes. Skip the window and you must retake the full $165 exam.
Begin Your PL-400 Journey Now
Join thousands of Power Platform Developer candidates using our 100% FREE prep — unlimited AI-generated questions matched to the March 2026 skills outline, Microsoft Learn–grounded explanations, and a personalized study dashboard. No credit card. No course fee. Start in under 60 seconds.
Official Resources
- PL-400 Study Guide on Microsoft Learn (March 2026 outline)
- Power Platform Developer Associate certification page
- Microsoft PL-400 free Practice Assessment
- Microsoft Certification Renewal program
- Dataverse developer guide
- Power Apps Component Framework overview
- Power Platform ALM guide
- Microsoft 365 Developer Program (free tenant)