PL-200 cheat sheet
PL-200 · Keep the key ideas within reach.
Configure Microsoft Dataverse
Column types: Text, Number, Choice, Lookup, Date, Currency, File, Image. Lookup creates a relationship; Choice stores a fixed local option set.
Business rule scope: Entity runs server-side for all forms and API calls; All Forms runs only client-side in model-driven forms.
Calculated columns evaluate at read time and cannot reference rollup columns or columns from related tables; rollup columns recalculate asynchronously on a schedule.
Column-level security requires a field security profile plus table-level read access; without read permission the secured column returns blank.
Auditing must be enabled at organization, table, and column level; column auditing has no effect unless table and organization auditing are both on.
Alternate keys give a table a second unique identifier used for upsert during integration; define them before the initial data load.
Relationship types: 1:N, N:1, N:N, and hierarchical self-referencing 1:N; an N:N relationship creates an intersect table automatically.
Duplicate detection runs on create and update only when the rule is published and duplicate detection is enabled for the table.
Required level choices: Business Required blocks save, Business Recommended warns but allows save, Optional imposes no constraint.
Create apps by using Microsoft Power Apps
Canvas delegation is supported for Filter, Lookup, Sort, and SortByColumns with Dataverse; non-delegable expressions retrieve only the first N rows.
The data row limit setting ranges from 1 to 2,000 with a default of 500; it caps results for non-delegable queries.
Form modes are FormMode.New, FormMode.Edit, and FormMode.View; set the mode on the form's DefaultMode property.
Model-driven form types are Main, Quick Create, Quick View, and Card; Card forms render in editable grids and canvas subgrids.
Variables: Set() creates a global variable, UpdateContext() creates a screen-scoped variable, and Collect() adds records to a collection.
App.Formulas named formulas recalculate automatically when their dependencies change, replacing many OnStart variable assignments.
Component library inputs and outputs let one shared canvas component be configured differently in each app that consumes it.
Site map XML defines areas, groups, and subareas; a model-driven app needs a site map to expose navigation.
Views define the columns, filter, and sort of a model-driven grid, and charts use a view as their data source.
Create and manage logic and process automation
Cloud flow trigger types: automated (connector event), instant (manual, button, or called from an app or flow), and scheduled (recurrence).
A real-time classic workflow runs synchronously inside the transaction and can block a save via a Stop action; a background workflow runs asynchronously on a queue.
Business rules execute client-side in model-driven apps by default; use Entity scope when the logic must be enforced server-side.
A business process flow supports up to 30 stages, and only one BPF can be active on a table per app.
Do until requires a count limit and timeout; Apply to each concurrency enables parallelism to shorten long iterations.
Custom API is the modern replacement for custom actions: typed request and response parameters, bound to a table or global.
Approvals: 'Start and wait for an approval' pauses the run until a response arrives; use 'Create an approval' when multiple approvers must act in parallel.
Error handling uses Configure run after with has failed, is skipped, or has timed out to branch instead of terminating the flow.
Flows, classic workflows, and business rules must be added to a solution to travel between environments.
Manage environments
Environment types: Default, Developer, Sandbox, Trial, and Production; Production and Sandbox support backups, restore, and managed environment settings.
DLP policies classify connectors as Business, Non-business, or Blocked; a Business connector cannot be used in the same app or flow as a Non-business connector.
DLP policies are tenant-wide by default; an environment-level policy can only be equal to or more restrictive than the tenant policy.
Managed solutions are locked and used for test and production; unmanaged solutions are editable and merge into the default solution.
A patch is a child managed solution for small updates; clone the patch to promote it into a new parent solution version.
Point-in-time restore covers the last seven days and creates a new environment that requires repointing users and apps.
Capacity is reported in three buckets: Database, File, and Log; exceeding entitlement blocks new environments and some operations.
Deployment pipelines require a host environment and move managed solutions from development through test to production.
The publisher prefix is 3 to 8 characters and becomes part of every new schema name created in that environment.