Skip to content
flowon.com

Expression language

Data types

Understand the value types expressions work with, how lists and date behaviours work, and what happens when you mix number types.

Every value in an expression has a type, and every slot expects one. The types follow Dataverse wording, so a Currency input in Logic Fabric behaves like a currency column in Dataverse. Knowing the types helps you pick the right constant, avoid surprising rounding, and understand why the editor reports a type mismatch.

Type (Dataverse) On-premises label Holds Example
Text Text A piece of text "Gold"
Whole Number Whole Number A number without decimals 30
Decimal Number Decimal Number An exact number with decimals 0.15
Floating Point Number Floating Point Number An approximate number, for scientific-style values 2.5
Currency Currency A money amount 10000
Yes/No Two Options True or false Yes
Date and Time Date and Time A date, or a date and time 2026-12-31
Choice Option Set One option of a choice column Preferred Customer
Lookup Lookup A reference to one record The Contoso Ltd account
Row Entity A whole record with its columns The case being processed
Unique Identifier Unique Identifier A record ID (GUID) 3f2504e0-4f89-11d3-9a0c-0305e82c3301

You can give inputs any of these types except Unique Identifier. Results of functions, logic blocks and steps can also have types that you see in result badges, such as Unique Identifier, Object, Query Result, List or Any.

  • Use Whole Number for counts, days and sequence numbers.
  • Use Decimal Number for rates, percentages and quantities that need exact decimals.
  • Use Currency for money amounts, so they work with currency columns and Convert Currency.
  • Use Floating Point Number only when you need very large or very small approximate values.

Any type can also hold a list of values. When you set a type, the Holds choice offers One value or List of values, and the editor describes your choice in a plain sentence, such as “Holds a list of whole numbers.” or “Holds a list of lookups to Account.” Lists are shown as List of Text, List of Whole Number, and so on.

Lists come from related records read by earlier steps, from multi-select choice columns, and from functions such as Split and Filter. Work with them using the list functions.

A Date and Time value has one of three behaviours, the same as in Dataverse:

Behaviour What is stored What to watch for
User Local The moment in time, stored in UTC and shown to each user in their time zone Date parts and date math work on the UTC value. Convert with Convert From Utc when you need the local date.
Date Only A calendar date without a time Used as entered.
Time Zone Independent A date and time exactly as entered, without conversion Used as entered.

Now always returns the current time in UTC. See Time zones for worked examples.

When a calculation combines different number types, the result uses the widest type involved:

Whole Number → Floating Point Number → Decimal Number / Currency

Calculation Result type
Whole Number + Whole Number Whole Number
Whole Number + Decimal Number Decimal Number
Floating Point Number + Currency Currency
Decimal Number + Currency The type of whichever value comes first
Currency + Decimal Number Currency

Decimal Number and Currency rank equally, so when you mix them, the result takes the type of the value in the first slot.

The same applies to Raise to Power and to functions that keep the type of their value, such as Round: with Whole Numbers, the result is always whole.

Each slot accepts the types that make sense for it, and the whole expression must produce the type shown in Must result in. Common fixes when the editor reports a mismatch:

  • You have text but need a number: use To Whole Number or To Decimal. See Conversion.
  • You have a number or date but need text: use To String, or Concatenate, which accepts any type.
  • You have a choice but need its label: use Option Label.
  • You need a Yes/No from text such as "yes" or "1": use To True/False.