Logic Flows
Overview
A Logic Flow is a sequence of steps executed in a specific order. Each step is an action that performs computation, manipulates data, or interacts with external systems. If a Logic Block is a reusable function, a Logic Flow is a program—a complete workflow with loops, flow control, branching, and variable assignment.
The key distinction between Logic Blocks and Logic Flows:
| Aspect | Logic Block | Logic Flow |
|---|---|---|
| State Change | Immutable (read-only) | Mutable (changes state) |
| Purpose | Calculate values, make decisions | Execute actions, orchestrate processes |
| Operations | Computation only | Create, update, delete records; call APIs |
| Analogy | A function | A program |
While Logic Blocks calculate and return values without side effects, Logic Flows change the system's state. A Flow can create records, update fields, delete data, send emails, invoke external APIs, and orchestrate complex multi-step business processes.
Why Logic Flows?
Logic Flows empower citizen developers to describe complex business logic without writing code. The visual designer and rich library of built-in steps make it possible to:
- Automate business processes: Create workflows that respond to events and execute actions
- Integrate systems: Connect Dynamics 365 with external APIs and services
- Orchestrate data: Move, transform, and synchronize data across entities
- Implement business rules: Execute complex logic with conditions, loops, and branching
- Extend Dynamics 365: Add capabilities beyond out-of-the-box functionality
Flow Structure
A Logic Flow consists of:
| Component | Description |
|---|---|
| Name | Unique identifier for the flow |
| Description | What the flow accomplishes |
| Inputs | Data passed into the flow when invoked |
| Outputs | Data returned by the flow upon completion |
| Variables | Internal data storage during execution |
| Steps | The sequence of actions to execute |
Flow Execution
When a Logic Flow is invoked:
- Inputs are received and made available to steps
- Steps execute in sequence from top to bottom
- Control flow steps (conditions, loops, switches) alter the execution path
- Variables store intermediate results between steps
- Outputs are set and returned to the caller
See It in Action
Click ▶ Run Flow to watch a Logic Flow execute step by step — observe how variables update, conditions branch, and each step transitions from pending to complete.
Flow Steps
Logic Flows offer a rich library of built-in steps organized into 8 categories. Click any category to explore its full documentation.
Logic Blocks vs. Logic Flows
| Aspect | Logic Block | Logic Flow |
|---|---|---|
| Purpose | Calculate values, make decisions | Execute actions, orchestrate processes |
| State | Immutable (no side effects) | Mutable (changes data) |
| Operations | Read-only computation | Create, update, delete, integrate |
| Structure | Single calculation/decision | Sequence of steps with control flow |
| Reusability | Called from Flows and other Blocks | Called from Recipes, other Flows, APIs |