What's changed: Created PL-400 Chapter 1 (domains: Create a technical design + Build solutions/ALM): technical architecture design (logic placement business rule/plug-in/Power Automate/client scripting, table types standard/virtual/elastic, DLP/security roles/teams/business units/row sharing), solution component design (canvas component/PCF code component, custom connectors, Power Fx/plug-in/custom API, integrations), and ALM (managed/unmanaged, solution layers, environment variables, Pipelines, Build Tools CI/CD).
1.2Design solution components
Understand designing reusable components (canvas component / PCF code component / client scripting), custom connectors, Dataverse code components (Power Fx / plug-in / custom API), and integrations.
Decompose requirements into the right components. Choose the best means for reuse, extension, and integration.
1.2.1Reusable components
A canvas component (and component libraries) is a reusable UI part within canvas apps. A PCF (Power Apps component framework) code component builds custom UI controls in TypeScript/JS usable in both canvas and model-driven. Client scripting binds JS to form events. Distinguish "low/no-code reuse" = canvas component from "code-built custom control" = PCF.
1.2.2Dataverse code components and custom connectors
Design Dataverse-side logic with Power Fx functions (low-code reusable functions), plug-ins (server-side events), and custom APIs (publishing reusable custom messages/operations). To bring an external REST API into Power Platform, design a custom connector (Open API definition + authentication).
1.2.3Integration design
Design integrations as inbound (external→Dataverse) and outbound (Dataverse→external/Azure). Choose paths such as sending Dataverse events to Azure (Service Bus/Event Hub/webhook) or ingesting from outside via the Web API. Decide the approach by whether synchronous coupling is needed or loose coupling suffices.
Cues: "reusable UI part in canvas" = canvas component. "code-built custom UI control (canvas/model)" = PCF code component. "reusable custom message" = custom API. "bring in an external REST API" = custom connector. "low-code reusable function" = Power Fx function. Design integrations as inbound/outbound.
Watch the mix-ups: (1) Canvas component (low-code UI) vs PCF code component (code custom control). (2) Custom API (own message) vs custom connector (ingest external API). (3) Power Fx functions vs plug-ins differ in location/language. (4) Be explicit about integration direction (inbound/outbound).
1.2.4Section summary
- Reuse = canvas component (low-code) / PCF code component (code) / client scripting
- Dataverse = Power Fx functions/plug-ins/custom APIs; external APIs via custom connectors
- Design integrations as inbound/outbound (Dataverse↔Azure/external)
Sign in to track progress — Log in.
Quick check
(just a quick review)Q1. You want a custom UI control built in TypeScript reusable in both canvas and model-driven apps. Best?
Q2. You want to bring an external REST API into Power Platform for use across apps/flows. Best?
Q3. On Dataverse, you want to publish a reusable custom operation (message) callable from multiple clients. Best?
Q4. Which correctly distinguishes a canvas component from a PCF code component?
Q5. You want loosely-coupled integration sending Dataverse changes to Azure. Correct directional classification?

