Get started
Core concepts
The vocabulary used across every Logic Fabric product, from projects, logic blocks and flows to recipes, processes, types, expressions and more.
Logic Fabric uses a small set of ideas everywhere. Once you know them, every designer looks familiar. This page explains each concept briefly and links to the page that covers it in depth.
How the pieces relate
Section titled “How the pieces relate”flowchart TD EV[Events and schedules] -->|run| F[Logic flows] R[Recipes] -->|run| F R -->|start| BP[Business processes] R -->|validate with| B[Logic blocks] BP -->|stage flows| F F -->|call| B API[Logic APIs] -->|read and change data,<br/>run actions| D[(Dataverse)] F -->|read and change| D
Settings are configuration values, localized resources and service connections. Logic blocks, flows, processes and APIs use them through expressions and flow steps.
Project
Section titled “Project”A project is the container for everything you build. Each project is tied to one Dataverse solution, and every logic block, flow, recipe, setting, business process and API belongs to exactly one project. You choose the project when you create an artifact and cannot change it afterwards.
Projects are also the unit you move between environments: the Logic Fabric CLI exports a project as a package and imports it elsewhere. When a project’s solution is managed, as is typical in test and production, its artifacts open read-only. See Projects.
Logic block
Section titled “Logic block”A logic block takes inputs and returns a result. It has no side effects: it reads, calculates and decides, but does not change data. There are five types:
| Type | Use it to |
|---|---|
| Formula | Calculate one value from its inputs, such as a weighted revenue. |
| Decision table | Map combinations of conditions to outcomes, row by row, such as a discount matrix. |
| Decision tree | Ask one question at a time until you reach an outcome, such as choosing an approver. |
| Validation | Check one rule that is Yes when the data is valid. |
| Validation set | Run several named rules together and report which ones failed. |
See Logic blocks.
Logic flow
Section titled “Logic flow”A logic flow is a sequence of steps that runs top to bottom. Steps read and change records, run queries, branch and loop, call logic blocks and other flows, send email, publish events and call external REST APIs. Flows are where data actually changes. See Logic flows and Flow steps.
Recipe
Section titled “Recipe”A recipe connects logic to one Dataverse table. For each of Create, Update and Delete it has three stages:
- Validation: validation and validation set blocks that can stop the operation.
- Before: flows or business processes that run in the same transaction, before the change is saved.
- After: flows or business processes that run after the change is saved, right away or in the background.
See Recipes.
An event is a named message with typed properties, such as OrderPlaced with an order and a total. An event definition describes the event, a flow publishes it with the Publish Event step, and event handlers run a logic flow in response. Events let one piece of logic trigger others without knowing about them. See Events.
Schedule
Section titled “Schedule”A schedule runs a logic flow at a regular interval (every few minutes, hours, days, weeks or months) in the time zone you choose. See Schedules.
Service connection
Section titled “Service connection”A service connection describes an external REST API by its address and OpenAPI specification, plus the credentials to call it. Flows call its operations with the Call Rest Api step. See Service connections.
Configuration value
Section titled “Configuration value”A configuration value holds one typed setting, such as a threshold, a URL or a flag, that logic reads with the Configuration Value function. Keeping such values out of your logic lets you change them per environment without editing the logic. See Configuration values.
Localized resource
Section titled “Localized resource”A localized resource holds one piece of text in each language available in your environment. Logic reads it in the current user’s language with the Localized Resource function, which is useful for messages shown to users. See Localized resources.
Business process
Section titled “Business process”A business process is a long-running piece of work on a record, such as an approval, an onboarding or a claim, modelled in Process Orchestrator. Each time it starts on a record, it creates a process instance that tracks where the work stands. See Process Orchestrator.
A stage is a step of work in a process. It has an owner, creates one or more tasks, and completes when its completion criteria (a Yes/No condition over the tasks) become true. Stages can run flows when they are entered and exited, and can escalate when they become overdue. See Stages.
Gateway
Section titled “Gateway”A gateway splits or merges the paths of a process. Exclusive gateways take one path, parallel gateways take all paths at once, and inclusive gateways take every path whose condition is true. An end marks where a path finishes. See Gateways and ends.
Type system
Section titled “Type system”Every input, output, variable and expression has a type. The same types are used in every product:
| Type | Holds |
|---|---|
| Text | A piece of text |
| Whole Number, Decimal Number, Floating Point Number | Numbers |
| Currency | A currency amount |
| Yes/No (on-premises: Two Options) | True or false |
| Date and Time | A date and time, with a behaviour: User Local, Date Only or Time Zone Independent |
| Choice (on-premises: Option Set) | One option of a choice column |
| Lookup | A reference to one record of a table |
| Row (on-premises: Entity) | A whole record of a table, with the columns you pick |
Any of these can also be a list, for example “List of Text” or “List of Contact rows”. See Types and Data types.
Inputs and outputs
Section titled “Inputs and outputs”Inputs are the values a logic block, flow or process receives when it runs; switch on Must have a value for inputs that are required. Outputs are the values it gives back. Callers (recipes, other flows, processes, APIs and AI agents) map their data to the inputs and use the outputs. See Inputs and outputs.
Preconditions
Section titled “Preconditions”A precondition decides who can run a logic block, flow or business process, and when. Who can run rules check the user (security role, team, business unit, queue, permission and, on Dataverse, Entra group). Run only when is a Yes/No condition over the inputs and data. Preconditions are checked on every run, however the logic is started. See Preconditions.
Expressions
Section titled “Expressions”An expression is how you state a value or condition anywhere in Logic Fabric: a formula, a step setting, a recipe condition, a transition guard. You build it in the expression editor by picking inputs, data, constants and functions; the editor checks the types and shows the result as a formula such as estimatedvalue > 50000. See Expression language.
Publishing and versions
Section titled “Publishing and versions”Business processes and Logic APIs are versioned. You change a draft, then publish it to create a numbered version that cannot be changed afterwards:
- A business process runs its active version. Running instances stay on the version they started with. See Lifecycle and versions.
- A Logic API serves its published versions to callers, so consumers are not affected by your draft. See Publishing.
To move a project to another environment together with its blocks, flows, recipes, processes and APIs, use the Logic Fabric CLI.