Expression language
The expression editor
Build, read and fix expressions with the picker, the slot outline, the formula bar and the hover card.
The expression editor is where you build every condition and calculated value in Logic Fabric. Instead of typing code, you pick values and functions as cards and fill in each function’s slots. The editor keeps a live, read-only formula of what you built, checks it as you go, and tells you exactly which part still needs attention.
Build an expression
Section titled “Build an expression”- Open the editor from any slot that takes an expression, for example a formula block’s output, a validation rule, a flow step input or a transition condition. The panel header reads Edit condition or Edit value and shows the result you need, for example Must result in Yes/No.
- In the picker, choose a card. Use the search box to find an input or function by name, or browse by category.
- If the card is a function, its slots appear in the outline. Select each empty slot and pick what goes into it: an input, a constant value, or another function.
- Repeat until no slot is left empty. The formula bar shows Valid when the expression is complete and produces the required type.
For example, to flag cases that have been open for more than five days you pick Is Greater Than, put Days Diff in its first slot (with the case’s createdon and Now in the two date slots), and a Whole Number constant 5 in the second slot. The formula bar reads Days(createdon, Now) > 5.
The picker
Section titled “The picker”The picker shows values and functions as cards, two to a row (one column on narrow screens). Each card has an icon, a title and a short description. Cards are tinted by kind, so inputs, constants and functions are easy to tell apart.
| Category | What you find there |
|---|---|
| Inputs and data | The inputs of the logic you are editing and properties of data read by earlier steps. Always listed first. |
| Constant Values | Fixed values you type or pick: Text, numbers, Currency, Yes/No, Date and Time, Choice, Lookup, User, Team and more. See Values and constants. |
| Text Functions | Join, split, format, search and clean up text. See Text. |
| Math Functions | Arithmetic, rounding and currency conversion. See Numbers. |
| Conversion Functions | Turn text into numbers or Yes/No. See Conversion. |
| Date Functions | Date parts, date math, time zones and business days. See Date and time. |
| Collection Utilities | Count, total, filter, sort and pick items from lists. See Lists. |
| Choice Functions | Choose between values: First Non-Empty, Is One Of, Is Between, Switch. See Choices and records. |
| Control | If Condition. See Logic and control. |
| Boolean Logical Operators | And, Or and the security checks. See Logic and control and Users and security. |
| Binary Logical Functions | Comparisons between two values, such as Is Equal To and Contains. |
| Unary Logical Functions | Checks on one value, such as Null and Is True. |
| Functions | Single-value checks for decision-table cells, such as = "Business" or is not empty. Shown only where one value is being checked. |
| Logic Block | Run Logic Block. See Calling logic blocks. |
| Value | Configuration Value. |
| Localized Value | Localized Resource. |
Input and data cards name what they pick: the property or input name, then where it comes from and its type, such as “From Retrieve Case · Text” or “Input · Currency”. Hover the card to see the full path, for example Get Case.title (Text). Search highlights the matching part of the name.
Keyboard: Left and Right move along a row of cards; Up and Down move to the nearest card in the row above or below.
The outline
Section titled “The outline”Below the formula bar, the outline lists every part of your expression as a row. Each row shows:
- an icon for the kind of part (input, typed value or function) and a badge with its result type;
- the function’s slots, with their captions, and guides that show how parts are nested;
- a short preview of that part’s own formula. Hover it to see the whole part.
Nesting is how you control the order of calculation. There are no parentheses to type: a function placed inside another function’s slot is always calculated first.
Some slots depend on an earlier slot. Such slots stay dimmed until the earlier slot is set. A part that has not been set yet reads “…” (Not set).
The formula bar
Section titled “The formula bar”The formula bar at the top of the editor shows:
- the live formula of the whole expression;
- its result type;
- a status: Valid, 1 problem, or the number of problems.
The formula bar is read-only. It is there so you can read and review what you built, and so you can compare expressions quickly. Read-only views of logic show the formula bar and the outline without editing controls, and the header reads View condition or View value.
Reading formulas
Section titled “Reading formulas”- Inputs appear by name:
Amount, not a technical path. - Properties of data from earlier steps appear with their source:
Customer.creditlimit. - Text constants are in double quotes:
"Gold". Text that is only spaces or punctuation is quoted so you can see it:", ". - Most functions appear as a name with their values in parentheses:
Round(Amount, 2). - Arithmetic and comparisons appear as operators between their values:
quantity * priceperunit,Amount > 1000,name contains "Contoso". See Operators.
In the function reference, each function shows both its picker label (the card you pick, used as the heading) and its formula form (how it appears in the formula bar).
Problems
Section titled “Problems”The editor checks the expression as you build it:
- A part with a problem is marked red. Nested parts check themselves, so the red mark points at the exact part to fix.
- A required slot that is still empty shows a red caption.
- A pattern you type into a text-pattern function that is not a valid regular expression is reported here, before the logic ever runs.
- A work week that is typed incorrectly in a business-day function is reported here too.
An expression is ready when the status reads Valid and its result type matches the Must result in type.
The hover card
Section titled “The hover card”Wherever an expression is displayed, for example in a decision-table grid, a flow step summary or a read-only viewer, hover over it to see a card with its full formula and result type. You do not need to open the editor to check what a condition does.
Checking a single value
Section titled “Checking a single value”In decision tables and similar grids, each cell checks one column’s value. The editor shows Checks a type value instead of Must result in, and the Functions category offers checks that apply to that value. The cell then reads like = Business, > 1000 or is not empty.
For simple checks you can use the Quick Condition popup, which reads “Field is…”. Choose a Comparison, enter a Value, and select Apply. Select Open full editor when you need a function or a nested expression.
The comparison words are: is equal to, is not equal to, is less than, is less than or equal to, is greater than, is greater than or equal to, contains, does not contain, starts with, does not start with, ends with, does not end with, includes, does not include, is Yes, is No, is empty, is not empty.