Skip to main content

Type System

Overview

Any programming language presents a type system, and Logic Composer is no exception. However, rather than introducing a proprietary type system, Logic Composer leverages the Dataverse built-in type system. This means the types you work with in Logic Composer are the same types you already use when configuring Dataverse fields, relationships, and data.

For Dataverse functional consultants, this design choice is significant. You don't need to learn new data types or understand type conversion rules - the types in Logic Composer are the familiar types you work with every day when creating fields, configuring forms, and building views.

Supported Types

Logic Composer supports the following Dataverse data types:

TypeDescriptionExample Values
BooleanTrue or false valuetrue, false
DateTimeDate and time value2026-01-15 14:30:00
DecimalPrecise numeric value with decimal places1234.56, 0.001
EntityA complete Dataverse recordAn Account record, a Contact record
Entity ReferenceA reference (lookup) to another recordA lookup to the parent Account
Option SetA choice from a predefined listStatus: Active, Inactive
FloatFloating-point numeric value3.14159, 2.71828
IntegerWhole number value42, -100, 0
MoneyCurrency value with precision$1,500.00, €2,340.50
StringText value"Hello World", "Customer Name"

Type Usage in Logic

Every input and output in Logic Composer has a name and a type. When you create a Logic Block, you define:

  • Inputs: The data the block receives, each with a name and type
  • Outputs: The data the block produces, each with a name and type

For example, a "Calculate Discount" block might have:

  • Inputs: OrderAmount (Money), CustomerTier (Option Set), IsNewCustomer (Boolean)
  • Output: DiscountPercentage (Decimal)

The type system ensures that data flows correctly through your logic. You cannot connect a String output to a Money input - the system enforces type compatibility, catching errors at design time rather than runtime.

Working with Entity and Entity Reference

Two types deserve special attention: Entity and Entity Reference.

Entity Reference is a pointer to a record - like a lookup field in Dataverse. It contains just enough information to identify the record (entity type and record ID) but doesn't contain the record's data. Use Entity Reference when you need to reference a record but don't need its fields.

Entity is a complete record with all its fields and values. Use Entity when you need to access or manipulate the record's data. Logic Composer can retrieve Entity data from Dataverse when needed, allowing your logic to access fields from related records.