πŸ”’ Guided

Pre-launch preview. Authorised access only.

Incorrect code

Guided by A Guide to Cloud
Explore AB-900 AI-901
Guided PL-400 Domain 1
Domain 1 β€” Module 1 of 5 20%
1 of 26 overall

PL-400 Study Guide

Domain 1: Create a Technical Design

  • Solution Architecture: What Goes Where Free
  • Security by Design: Auth, Roles & DLP Free
  • Designing UX Components: Canvas, PCF & Client Scripts Free
  • Designing Platform Extensions: Connectors, Plug-ins & APIs Free
  • Integration & Automation Blueprints Free

Domain 2: Build Power Platform Solutions

  • Environment Setup & Security Troubleshooting
  • Solutions & Layers: ALM Foundations
  • CI/CD Pipelines for Power Platform

Domain 3: Implement Power Apps Improvements

  • Advanced Power Fx & Canvas Components
  • Troubleshoot & Optimise Apps

Domain 4: Extend the User Experience

  • Client Scripting: Form Events & the Client API
  • Commands, Buttons & Custom Page Navigation
  • PCF Components: Build & Lifecycle
  • PCF Components: Package, Deploy & Advanced Features

Domain 5: Extend the Platform

  • The Plug-in Pipeline: How Dataverse Processes Events Free
  • Writing Plug-ins: Business Logic, Service & Registration
  • Custom APIs & Business Events
  • Custom Connectors: OpenAPI & Authentication
  • Custom Connectors: Azure, Policies & Code
  • Dataverse APIs: Web API & Organisation Service
  • Azure Functions for Power Platform
  • Cloud Flows: Dataverse Triggers & Expressions
  • Cloud Flows: Security, Errors & Child Flows

Domain 6: Develop Integrations

  • Publishing Dataverse Events
  • Service Endpoints: Webhooks, Service Bus & Event Hub
  • Data Sync: Change Tracking, Alternate Keys & Upsert

PL-400 Study Guide

Domain 1: Create a Technical Design

  • Solution Architecture: What Goes Where Free
  • Security by Design: Auth, Roles & DLP Free
  • Designing UX Components: Canvas, PCF & Client Scripts Free
  • Designing Platform Extensions: Connectors, Plug-ins & APIs Free
  • Integration & Automation Blueprints Free

Domain 2: Build Power Platform Solutions

  • Environment Setup & Security Troubleshooting
  • Solutions & Layers: ALM Foundations
  • CI/CD Pipelines for Power Platform

Domain 3: Implement Power Apps Improvements

  • Advanced Power Fx & Canvas Components
  • Troubleshoot & Optimise Apps

Domain 4: Extend the User Experience

  • Client Scripting: Form Events & the Client API
  • Commands, Buttons & Custom Page Navigation
  • PCF Components: Build & Lifecycle
  • PCF Components: Package, Deploy & Advanced Features

Domain 5: Extend the Platform

  • The Plug-in Pipeline: How Dataverse Processes Events Free
  • Writing Plug-ins: Business Logic, Service & Registration
  • Custom APIs & Business Events
  • Custom Connectors: OpenAPI & Authentication
  • Custom Connectors: Azure, Policies & Code
  • Dataverse APIs: Web API & Organisation Service
  • Azure Functions for Power Platform
  • Cloud Flows: Dataverse Triggers & Expressions
  • Cloud Flows: Security, Errors & Child Flows

Domain 6: Develop Integrations

  • Publishing Dataverse Events
  • Service Endpoints: Webhooks, Service Bus & Event Hub
  • Data Sync: Change Tracking, Alternate Keys & Upsert
Domain 1: Create a Technical Design Free ⏱ ~14 min read

Solution Architecture: What Goes Where

Before writing a single line of code, you need to know where your logic belongs. Learn how to evaluate Power Platform architecture, choose between out-of-the-box and custom, and pick the right table type for every scenario.

Where should your logic live?

β˜• Simple explanation

Think of a restaurant kitchen.

Some dishes come pre-made from a supplier β€” you just heat and serve (out-of-the-box features). Some need a chef to prepare from a recipe (configuration like business rules). And some need a specialist chef writing a brand-new recipe from scratch (custom code like plug-ins or PCF components).

The PL-400 exam tests whether you know which kitchen station each task belongs in. Put the wrong logic in the wrong place and you get a slow, unmaintainable mess β€” like frying a steak in the dishwasher.

This module teaches you to look at a business requirement and instantly know: β€œThat belongs in a business rule… that needs a plug-in… and that should be a cloud flow.”

Solution architecture for Power Platform means deciding where every piece of business logic, data processing, and user interaction should be implemented. The platform offers a spectrum from zero-code configuration (business rules, security roles) through low-code (Power Automate, Power Fx) to pro-code (C# plug-ins, TypeScript PCF components, JavaScript client scripts).

The exam tests your ability to evaluate a set of requirements and determine the most appropriate implementation approach β€” balancing performance, maintainability, supportability, and security. A common exam pattern presents a scenario where multiple approaches could work but only one is correct given the constraints.

Key architectural decisions include: OOB vs custom, server-side vs client-side, synchronous vs asynchronous, and Dataverse-native vs Azure-hosted. Each has tradeoffs that this module explores.

The OOB-first principle

Every Power Platform architecture should start with one question: can we do this without custom code?

Microsoft’s platform provides hundreds of features that handle common business scenarios. Writing custom code when a configuration option exists creates technical debt, increases maintenance burden, and complicates upgrades.

RequirementOOB SolutionWhy Not Code?
Make a field required when status = ActiveBusiness ruleNo deployment, no testing, visible to makers
Calculate total = quantity x priceCalculated columnAuto-updates, no runtime cost
Send email when a record is createdPower AutomateVisual flow, easy to modify, no C# needed
Auto-number new recordsAuto-number columnBuilt-in, no plug-in needed
Restrict field visibility by security roleField-level security profile or form tabs with role-based visibilityBusiness rules react to data values, NOT user roles β€” use security features for role-based access
πŸ’‘ Exam tip: The 'simplest approach' trap

When the exam says β€œwhich approach should you recommend?”, start from the simplest option and work up. The correct answer is almost always the least complex solution that fully meets the requirements. A plug-in is wrong if a business rule can do it. A cloud flow is wrong if a calculated column handles it.

But watch for the reverse trap: if the requirement includes β€œmust run synchronously before the record is saved” β€” a cloud flow cannot do that. That needs a plug-in.

Where to put business logic

This is the core architectural decision for PL-400. Every piece of logic has a β€œright home” based on when it runs, what it needs access to, and how it should behave.

Business logic placement matrix β€” the exam expects you to pick the right row
FactorBusiness RulesClient Script (JS)Power AutomatePlug-in (C#)Azure Function
Runs onServer + clientClient (browser)Cloud (async by default)Server (Dataverse)Azure cloud
LanguageNo-code (UI)JavaScriptLow-code (designer)C#C#, Python, JS, etc.
TimingReal-time (form)Real-time (form)Near real-time or scheduledSync or async (configurable)Triggered or scheduled
Can block save?Yes (validation)Yes (OnSave cancel)No β€” runs after commitYes (pre-validation, pre-operation)No β€” external to Dataverse
Access to external APIs?NoYes (with CORS)Yes (connectors)Limited (sandboxed)Yes (full network access)
Runs on mobile?YesModel-driven onlyYes (background)Yes (server-side)Yes (server-side)
Best forSimple field validationForm UX logicNotifications, approvalsData integrity, complex validationHeavy compute, external systems
πŸ’‘ Scenario: Amara's business logic decision

Amara Obi is a consultant at Pinnacle Consulting, implementing a claims processing system for a healthcare client. The client has three requirements:

  1. When a claim amount exceeds $10,000, require a manager approval field β€” This is a field visibility/requirement rule. A business rule handles it perfectly.
  2. When a claim is submitted, validate against an external fraud-detection API before saving β€” Must run before save and call an external service. Sandbox plug-ins CAN make outbound HTTPS calls, but for reliability and timeout safety, the best approach is a synchronous plug-in that calls an Azure Function, which calls the fraud API.
  3. After approval, generate a PDF and email it to the claimant β€” Happens after the main transaction. A Power Automate cloud flow is ideal β€” it runs asynchronously and has PDF and email connectors.

The exam loves scenarios like this because each requirement maps to a different approach.

Choosing the right table type

Dataverse offers multiple table types, each optimised for different scenarios.

Table type selection β€” the exam tests whether you know when each type fits
FeatureStandard TableVirtual TableElastic Table
Data storageDataverse (SQL)External system (read at runtime)Azure Cosmos DB (behind Dataverse)
CRUD supportFull (create, read, update, delete)Depends on provider (read-only by default; some providers support write)Full CRUD
SearchDataverse search, views, FetchXMLNo Dataverse search, no auditing, no change trackingDataverse search supported, but lacks some features (access teams, table sharing, alternate keys)
SecurityFull Dataverse security (roles, teams, BUs, sharing)Organisation-owned only β€” no user/team ownershipDataverse security model with ownership, but lacks access teams and table sharing
ScaleMillions of rows (with indexes)Depends on external sourceBillions of rows (Cosmos DB scale)
Use whenCore business data that needs full platform featuresYou need to surface external data without copying itMassive data volumes (IoT, logs, telemetry)
ExampleCustomer records, orders, casesSAP data, SQL Server viewsSensor readings, audit logs, device telemetry

When to use connectors instead of tables

Sometimes data should not live in Dataverse at all. If you just need to read or write to an external system during a flow or app session, a connector (standard or custom) may be the better choice.

Use a connector when:

  • Data belongs to an external system and should stay there
  • You only need the data temporarily during a user session
  • The external system has its own security and audit requirements
  • Real-time access is more important than cached copies

Use a Dataverse table when:

  • Data needs to participate in Dataverse features (security, relationships, views, search)
  • Multiple apps and flows need the same data
  • You need offline access in model-driven or canvas apps
  • Reporting and dashboards require the data in Dataverse
Question

What is the OOB-first principle?

Click or press Enter to reveal answer

Answer

Always check if a business requirement can be met with out-of-the-box Power Platform features (business rules, calculated columns, built-in workflows) before writing custom code. Custom code adds complexity, testing burden, and maintenance cost.

Click to flip back

Question

When should you use a plug-in instead of a cloud flow?

Click or press Enter to reveal answer

Answer

Use a plug-in when logic must run synchronously (before the record is saved), when it must enforce data integrity rules that cannot be bypassed, or when it needs to execute within the Dataverse transaction pipeline. Cloud flows run asynchronously after the transaction commits.

Click to flip back

Question

What is a virtual table in Dataverse?

Click or press Enter to reveal answer

Answer

A virtual table surfaces external data (e.g., from SQL Server or SAP) as if it were a Dataverse table β€” without copying the data into Dataverse. It appears in views and forms but the data is read from the external source at runtime. Read-only by default.

Click to flip back

Question

When should you choose an elastic table over a standard table?

Click or press Enter to reveal answer

Answer

Choose elastic tables for massive data volumes (billions of rows) like IoT telemetry, sensor readings, or audit logs. Elastic tables use Azure Cosmos DB behind the scenes and scale horizontally, but they lack some standard Dataverse features like search and advanced security.

Click to flip back

Analysing existing architecture

When you join a project with existing Power Platform solutions, your first job is to understand what is already built and where the gaps are.

Architecture review checklist:

  1. Solution inventory β€” What solutions exist? Managed or unmanaged? Who owns them?
  2. Component map β€” Which apps, flows, plug-ins, and custom connectors are in each solution?
  3. Data model β€” What tables exist? How are they related? Any circular references?
  4. Security model β€” What security roles, teams, and business units are configured?
  5. Integration points β€” What external systems connect? Through connectors, APIs, or Azure services?
  6. Performance β€” Any known bottlenecks? Large datasets without proper indexing?
πŸ’‘ Real-world: Architecture smells to watch for

These common architecture problems show up in exam scenarios:

  • Business logic in canvas app formulas that should be in Dataverse (no enforcement server-side)
  • Synchronous plug-ins making HTTP calls to external services (blocks the transaction, times out)
  • Cloud flows doing row-by-row processing instead of batch operations (slow, throttled)
  • Custom connectors without authentication configured (security gap)
  • Unmanaged solutions in production (cannot be cleanly updated or removed)
Knowledge Check

Amara is reviewing a client's Power Platform architecture. She finds that a canvas app validates order data by calling an external credit-check API directly from the app using a custom connector. The client wants this validation to be mandatory β€” no order should be created without passing the credit check. What should Amara recommend?

Knowledge Check

A client needs to display product inventory data from their SAP system inside a model-driven app. The data must remain in SAP (single source of truth) and does not need to be editable from Power Platform. Which approach should you recommend?

🎬 Video coming soon

Next up: Security by Design β€” designing authentication, authorization, and DLP strategies for your Power Platform solutions.

Next β†’

Security by Design: Auth, Roles & DLP

Guided

I learn, I simplify, I share.

A Guide to Cloud YouTube Feedback

© 2026 Sutheesh. All rights reserved.

Guided is an independent study resource and is not affiliated with, endorsed by, or officially connected to Microsoft. Microsoft, Azure, and related trademarks are property of Microsoft Corporation. Always verify information against Microsoft Learn.