Logic Composer
Logic flows
Understand what a logic flow is, when to use one instead of a logic block, and every way a flow can be started.
A logic flow is a sequence of steps that runs from top to bottom and changes things: it reads and saves rows, assigns and shares records, sends email, calls REST APIs, starts business processes and runs other logic. Where a logic block works out an answer, a logic flow acts on it. You build flows in the logic flow designer by adding steps, branching with conditions, repeating with loops, and handling errors with Try / Catch.
What a flow is made of
Section titled “What a flow is made of”| Part | What it holds |
|---|---|
| Inputs | The values passed in when the flow runs, for example the Case to escalate. |
| Data | Rows and queries read before the first step runs, available to every step. |
| Precondition | Who may run the flow and when it may run. Checked on every run. |
| Outputs | The values the flow gives back to whoever started it. |
| Steps | The work itself, on the Flow tab. Steps run top to bottom; control steps branch and repeat. |
| Templates | Named data shapes you can use as variable types and when saving rows. |
Each step can produce variables that later steps use in expressions, for example GetCase.title or CreditCheck.Output.Discount. See Variables.
Logic flow or logic block?
Section titled “Logic flow or logic block?”| Logic block | Logic flow | |
|---|---|---|
| Purpose | Calculate a value or make a decision | Carry out work: create, update, assign, notify, integrate |
| Changes data | No. A block only evaluates. | Yes. Steps write to Dataverse and call other systems. |
| Structure | One formula, table, tree or set of validations | An ordered list of steps with branches, loops and error handling |
| Typical callers | Flows, recipes (validation), processes, other blocks | Recipes, events, schedules, processes, other flows, AI agents, apps |
Use a logic block for any rule you want to reuse and test on its own: a discount matrix, an approval threshold, an eligibility check. Use a logic flow when something must happen as a result. A good flow calls blocks for its decisions with Run Logic Block and keeps its own steps for the actions, so the rules stay readable and testable.
How a flow is started
Section titled “How a flow is started”A flow does nothing until something runs it. The same flow can be started in several ways at once.
| Started by | How | Learn more |
|---|---|---|
| Logic recipe | A recipe runs the flow when a row of its table is created, updated or deleted, in the Before stage (same transaction, synchronous) or the After stage (right away, or in the background with Async). | Recipes |
| Event handler | An event handler runs one flow each time its event definition is published, synchronously or in the background. Events are published with the Publish Event step. | Events |
| Schedule | A schedule runs the flow repeatedly, every so many minutes, hours, days, weeks or months, from a start date in the schedule’s time zone. | Schedules |
| Business process | Process stages run flows when a stage is entered or exited. | Stage flows |
| Another flow | The Run Logic Flow step calls a flow as a sub-flow and uses its outputs. | Logic steps |
| Apps and integrations | Switch on Expose as Dataverse Action (on-premises: Expose as Action) and the flow becomes a Dataverse action that apps, Power Automate, scripts and published Logic APIs can call. | AI and API exposure |
| AI agents | Switch on Expose as MCP Tool and Logic Conductor offers the flow as a tool to AI agents. | Logic Conductor |
| You, while testing | Run on the flow form opens the Run Logic Flow dialog. | Run and test |
Whichever way a flow is started, its precondition is checked first, for the user running it.
Steps at a glance
Section titled “Steps at a glance”The designer offers 43 steps in seven categories. The flow step reference lists them all.