Logic Composer
Working in Composer
Find your way around the Logic Composer editors, from creating an artifact to saving it without problems.
Every Logic Composer artifact is a Dataverse row with a form. The form holds the fields every artifact shares (name, project, documentation), and an editor holds the logic itself. This page explains what is the same across all of them: where they live, how the editors guide you, and when Composer lets you save.
Before you begin
Section titled “Before you begin”- The Logic Fabric Base, Logic Fabric Logic Composer and Logic Fabric Logic Composer Tools solutions must be installed. Without Logic Composer Tools you can open artifacts, but you cannot create or change logic blocks, logic flows, recipes, event definitions or event handlers. See Installation.
- Designers are usually given the Flowon Customizer security role, which ships with Logic Composer.
Where artifacts live
Section titled “Where artifacts live”Open the Logic Fabric Logic Composer app. The Logic Fabric area groups the artifacts:
| Group | Artifacts |
|---|---|
| Logic | Logic Blocks, Logic Flows, Logic Recipes |
| Events | Event Definitions, Event Handlers, Events |
| Settings | Projects, Configurations, Localized Resources, Service Connections, Schedules |
To create an artifact, open its list and select New, for example LogicLogic BlocksNew.
Rules every form shares
Section titled “Rules every form shares”-
Names. Name fields accept letters, numbers, spaces, hyphens (
-) and underscores (_). Any other character is refused. -
Fields fixed after the first save. Name and Project cannot change once an artifact is saved. Some artifacts fix more fields:
Artifact Also fixed after the first save Logic block Block Type Logic recipe Entity (the table) Configuration, service connection Type Schedule Logic Flow Event handler Event Definition, Logic Flow To rename an artifact or move it to another project, create a new one.
-
Docs tab. Every form has a Docs tab with Title and Description. The description of a block or flow appears in the Run dialog, so write it for the person testing it.
-
Managed projects are read-only. When a project’s solution is managed, as it usually is in test and production after a managed import, its artifacts open read-only. Make changes in your development environment.
Expand the editor
Section titled “Expand the editor”The logic block, logic flow, logic recipe and service connection editors have an Expand button. The editor then fills the whole browser window, including the app header, which gives large decision tables, trees and flows room to breathe.
- Select Collapse or press Esc to return to the form. If a panel, dialog or menu is open, Esc closes that first.
- The tab you are on and any open panels stay as they were.
- The recipe editor shows Expand only after you choose a table.
Guided empty states
Section titled “Guided empty states”A new artifact does not open on a blank canvas. The editor tells you what to do first.
- Logic block. The editor opens on What should this block work out? with one card per block type. Choosing a card fills Block Type on the form (you can also set the field directly). The block tab then lists numbered steps for that type, such as Choose what it returns and Write the formula for a formula, with a button for the current step and a What you’ll build preview. See Logic blocks.
- Logic recipe. The editor first asks Which table does this recipe react to? Search for the table in the Table box; choosing one fills Entity on the form. See Logic recipes.
- Logic flow. An empty flow shows a single Add step. See Designing flows.
Editor tabs
Section titled “Editor tabs”Logic blocks and logic flows share most of their tabs. The editor opens on the tab that holds the logic itself.
| Tab | Logic block | Logic flow | What it holds |
|---|---|---|---|
| Input | Yes | Yes | Values passed in when it runs. See Inputs and outputs. |
| Data | Yes | Yes | Rows and queries read before the logic runs, available to everything after. |
| Precondition | Yes | Yes | Who can run it and when. See Preconditions. |
| Output | Decision tables and trees | Yes | Values it gives back. |
| Decisions | Decision tables and trees | No | The values each row or node checks. |
| Block tab | Named after the type: Formula, Decision Table, Decision Tree, Validation or Validation Set | No | The logic. Opens first. |
| Flow | No | Yes | The steps. Opens first. |
| Templates | Yes | Yes | Named sets of properties you can use as a type. |
Tabs show how many items they hold. When the logic has problems, a warning icon on the block tab lists them.
Data tab
Section titled “Data tab”Use the Data tab to read Dataverse data once, before the logic runs, so every expression can use it.
- Add Entity reads one row: choose the Entity, give an Entity Id expression that identifies the row (usually an input), and choose the columns you need.
- Add Query reads several rows: give a Query Name, choose Multiplicity (All, Single, or Sliced with Page Number and Page Size), choose columns, add conditions with And/Or groups, sort with Order By, and join related tables with Add Related Entity. Conditions use the familiar Dataverse operators such as Equal, Contains, Last X Days and Under.
On-premises the tab describes these as records rather than rows; the behavior is the same.
Templates tab
Section titled “Templates tab”A template is a named set of properties, such as a ShippingAddress with street, city and postal code. After you define it on the Templates tab, you can use it as a type: the type picker describes it as “one row from a template”.
When Composer opens something it cannot fully read
Section titled “When Composer opens something it cannot fully read”If part of a saved block, flow, recipe, event or event handler cannot be read, the editor still opens. The parts it could not read are left empty, and a bar above the editor says what happened.
- Show problems lists each gap: a field that is missing, a value of the wrong kind, or a part that was left out and why. Copy details copies the technical details for your administrator or support.
- What was saved is never overwritten by the gaps. Fill in the empty parts and save.
- For a logic flow or recipe where whole steps or stages had to be left out, saving is turned off so those parts are not lost. The problem list says what could not be loaded; ask your administrator to check it.
- The Run dialog refuses to run a definition that could not be fully read.
- If nothing at all can be read, a full-page message such as This logic block can’t be opened appears instead of the editor. Nothing has been changed. Select Try again, or send the technical details to your administrator.
Save your work
Section titled “Save your work”Save the form as you would any Dataverse row. Composer checks the logic first.
- Fix every problem the editor marks. Tabs and step cards with problems carry a warning, and expressions with problems are marked red.
- Save the form.
- If problems remain, the save is refused with a message such as
Logic Block: Resolve all validation errors.(orLogic Flow:/Logic Recipe:). Fix the marked items and save again.