Skip to content
flowon.com

Logic Composer

Types

Choose the right type for inputs, outputs, event properties and variables, as one value or a list.

Every input, output, event property and variable has a type. The type decides what values it accepts, which functions and comparisons the expression editor offers for it, and how the Run dialog asks for it. You pick types with the same Type picker everywhere: block and flow inputs and outputs, event definition properties, the New Variable step and the Run dialog.

The picker lists types alphabetically, using Dataverse wording.

Type Holds What you set after choosing it
Yes/No Yes or No Nothing
Choice One option of a choice, such as an account’s Relationship Type The Is Local switch: on, choose the Entity and its Option Set; off, choose a global choice
Currency A currency amount Nothing
Date and Time A date, or a date and time DateTime Behavior: User Local, Date Only or Time Zone Independent (required)
Decimal Number An exact decimal number, such as a discount rate Nothing
Floating Point Number An approximate number, for measurements and scientific values Nothing
Lookup A reference to one row of a table, such as the customer of a case The table
Row A whole row with the columns you choose, such as an account with its name and credit limit The table, then at least one column
Text A piece of text Nothing
Whole Number An integer, such as a quantity or a number of days Nothing
Dynamics 365 CE on-premisesLabels on Dynamics 365 CE on-premisesApplies to the other edition

On-premises the picker uses the classic names: Two Options for Yes/No, Option Set for Choice, and Entity for Row. Currency, Lookup and the other types read the same in both editions.

Types you see but cannot choose for inputs

Section titled “Types you see but cannot choose for inputs”

Some values appear as outputs, step results or variables, but are not offered as input types: Unique Identifier, Object, Query Result, and rows from a template (from the Templates tab, described as “one row from a template”). To pass a record into logic, use a Lookup or Row input instead of a Unique Identifier.

Once a type is complete (its table, choice or columns chosen), a List of values switch appears below it. Under the switch, a sentence says in plain words what the value holds, for example:

  • “Holds one lookup to Account.”
  • “Holds a list of whole numbers.”
  • “Holds a list of Contact rows.”

Choosing a different type keeps your list choice. Saved and read-only types read as a single label, such as Yes/No or List of Yes/No.

The List of values switch is hidden on a logic block or logic flow that is exposed as a Dataverse action, because Dataverse actions do not accept list arguments. See AI and API exposure.

You need… Use Why
Money amounts on quotes, orders, invoices Currency Matches Dataverse currency columns.
Rates and percentages Decimal Number Exact; no rounding surprises.
Counts and days Whole Number Dividing two whole numbers drops the fraction, which is often what you want for counts.
A record the logic will look up or update Lookup Light to pass; the logic reads the columns it needs.
A record whose values the caller already has Row The chosen columns arrive with the value.
Dates such as a birthday or contract end Date and Time with Date Only No time-zone shifts.
A set of products, contacts or tags Any type with List of values on One input instead of many.

For how each type behaves in expressions, including how empty values and mixed number types work, see Data types and Empty values.