Logic Composer
Design a flow
Create a logic flow, work through its designer tabs, add and arrange steps, and save it.
You design a logic flow in the logic flow editor on the flow’s form. The editor has one tab for each part of the flow: what goes in, what is read up front, who may run it, what comes out, the steps themselves, and reusable templates. This page walks through each tab and through the step designer.
Create a flow
Section titled “Create a flow”- Open the Logic Fabric Logic Composer app and go to LogicLogic FlowsNew.
- Enter a Name and choose the Project. Both are fixed after the first save, so choose carefully. Names accept letters, numbers, spaces, hyphens and underscores.
- Decide whether the flow should be callable from outside:
- Expose as Dataverse Action (on-premises: Expose as Action) makes the flow a Dataverse action. Once you switch it on and save, it stays on.
- Expose as MCP Tool offers the flow to AI agents through Logic Conductor. You can switch it on and off at any time.
- Optionally fill the Docs tab (Title, Description). The description is shown in the Run dialog.
- Build the flow in the editor (tabs below), then save the form.
The editor tabs
Section titled “The editor tabs”The editor opens on the Flow tab. The tabs, in order, are Input, Data, Precondition, Output, Flow and Templates. Tabs show how many items they hold.
“Values passed in when it runs.” Each input has a Name and a Type. Switch on Must have a value to make an input required; inputs without it are tagged Optional in the grid. Once the type is complete, a List of values switch lets the input hold a list (not offered when the flow is exposed as a Dataverse action). See Inputs and outputs and Types.
“Rows and queries read before the logic runs, available to everything after.” (On-premises: “Records and queries…”.) Use Add Entity to read one row by an Entity Id expression, or Add Query to read rows with a query (Multiplicity All, Single or Sliced). Every step can use what the Data tab reads.
Reading on the Data tab is convenient for data the whole flow needs. Read data that only some branches need with Get Entity By Id or Execute Query steps instead, so it is read only when needed.
Precondition
Section titled “Precondition”“Decide who can run this and when it may run. Leave both empty to let anyone run it at any time.” Who can run rules are checked for the running user before any data is read. Run only when is a Yes/No condition checked after inputs and data load. A failed precondition ends the flow with an application error, just like Raise Error. See Preconditions.
Output
Section titled “Output”“Values it gives back when it finishes.” Add each output with a name and type. Steps fill outputs with Set Output. Outputs can be lists unless the flow is exposed as a Dataverse action.
The step designer. See Work with steps below.
Templates
Section titled “Templates”Named data shapes: Add Template, then add its Properties. A template becomes the Template Definition type, so a New Variable can hold “one row from a template”, and Save Entity can save it.
Work with steps
Section titled “Work with steps”The steps header
Section titled “The steps header”The header on the Flow tab shows the step count and the hint “Run top to bottom. Hover between two steps to insert one there.” When steps are incomplete it adds a count, for example “2 steps need setup”. Expand all and Collapse all open or fold every step that contains other steps.
Add the first step
Section titled “Add the first step”An empty flow says “No steps yet. Add the first one below; steps run top to bottom.” and shows a single Add step button. Select it to open the step picker.
Add more steps
Section titled “Add more steps”- Add step at the end of the flow, or at the end of any branch (Then, Else, a switch case, a loop, Try, Catch, Finally, a REST response).
- + between two steps (“Insert a step here”) to insert at that point.
- Insert step above from a step’s ⋯ menu.
Pick a step type
Section titled “Pick a step type”- The Add New Step panel says where the step goes, for example “Adding to Then of IsLargeOrder, after PriceTier” or “Adding to the flow, at the start”.
- Find the step: type in the search box (“Search steps, e.g. email, save, loop”) or filter by category: All, Records, Queries, Variables, Control, Logic, Messages, Integration. Each step shows its icon, its name and a one-line description.
- Select a step. The panel shows its description, a suggested Step Name (for example
GetEntityById1) and its settings. Use Change to pick another type. - Rename the step to something meaningful, fill in its settings and save.
The step name matters: it becomes the name of the step’s variables in expressions (GetCase, GetCase.title). Step names are required, must be unique in their branch, accept letters, digits, spaces, _ and -, and can be up to 50 characters long.
Each step also has a Docs tab for your own notes about the step. Open it later from the step’s ⋯ menu > Documentation.
Step cards
Section titled “Step cards”Each step is a card that shows:
- its name over its type, with an icon colored by category;
- a summary line, for example “on Account”, “each item in Contacts”, “12 times” or “sets Total”;
- a Needs setup badge when the step is incomplete; it lists what is missing;
- Edit, Delete and ⋯ (Documentation, Insert step above, Collapse), shown on hover or keyboard focus;
- a chevron to fold steps that contain other steps: Condition, Switch, Loop, Iterator, Try / Catch and Call Rest Api.
Halt is drawn as an end marker. You cannot add steps after it in the same list.
Edit a step
Section titled “Edit a step”Edit opens the same panel. The step type cannot be changed; to use another type, add a new step and delete the old one. A few choices are also fixed once the step is saved:
| Step | Fixed after save |
|---|---|
| Run Logic Block | Logic Block Type |
| Run Logic Flow | Logic Flow |
| Execute Query | Multiplicity |
| Update Variable | Variable |
Expand the editor
Section titled “Expand the editor”Expand makes the editor fill the whole browser window, including the app header. Collapse or Esc returns to the form; Esc first closes any open panel or menu. Your open tab and panels are kept.
Save the flow
Section titled “Save the flow”- Save with the form’s Save. The editor checks the whole flow first. If any step needs setup, or something else is incomplete, the save is refused with “Logic Flow: Resolve all validation errors.” Fix the items the Needs setup badges list, then save again.
- A flow with no steps yet can be saved, so you can create it now and design it later.
- If part of a saved flow can’t be read (for example, a step refers to something that was removed), the editor still opens. The bar “Parts of this flow couldn’t be read, so they are left empty.” lists the problems (Show problems). Fill them in; the flow is saved again once it is complete. If steps could not be loaded at all, the bar says “This flow couldn’t be fully prepared, so saving is turned off.” so that saving cannot lose them.
- Flows in a managed project open read-only.
- A flow used by another flow, a recipe or a business process, or that a schedule points to, cannot be deleted: “Logic flow is in use. Remove all dependencies before deleting.” See Dependencies.
Test the flow
Section titled “Test the flow”Select Run on the flow form to open the Run Logic Flow dialog, fill in the inputs and run it. The dialog shows the outputs, any error codes and recent runs. See Run and test. Remember that a test run makes real changes.