Instiq
Chapter 1 · Technical design and ALM·v1.0.0·Updated 6/29/2026·~13 min

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

Key points

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.

Exam point

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.

Warning

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).

Diagram: reuse via canvas component (low-code UI)/PCF code component (code custom control, canvas+model)/client scripting; Dataverse code components Power Fx functions/plug-ins/custom API (own message); ingest external REST APIs via custom connectors; design integrations inbound (external→Dataverse)/outbound (Dataverse→Azure).
Pick the right parts

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?

Check your understandingPractice questions for Chapter 1: Technical design and ALM