Welcome to the master reference guide for data types in Way We Do Forms & Registers.
Whenever you enter information or reference a field in a formula, the system needs to know exactly what kind of information it is looking at. For example, it needs to know that 10 is a number that can be multiplied, but "Hello" is text that cannot. Data types act as the labels that tell the system how to handle your data correctly.
Below is a breakdown of every data type supported in the expression builder.
Number
Purpose: Used for any mathematical calculations, financial amounts, counting, and scientific data.
Example use: Calculating a final total by multiplying a number field: $Price * $Quantity
Format Description | Example | Actual .NET Data Type |
Integer (Whole numbers) | 12345 | Int32 or Int64 |
Floating point (Decimals) | 123.456 | Decimal |
Scientific | 1.00E+02 | Decimal |
String (Text)
Purpose: Used for words, alphanumeric characters, sentences, or any data that should be read as plain text rather than calculated. Strings must be enclosed in quotes.
Example use: Checking if a text field matches a specific word: If($Status = "Complete", true, false)
Format Description | Example | Actual .NET Data Type | Notes |
Enclosed in single quotes | abc' | String |
|
Enclosed in double quotes | "abc" | String |
|
Escape special characters | "\\ \n \r \t" | String | Use to format text (e.g., adding a line break \n). |
Date & Time
Purpose: Used to capture specific calendar dates and exact times for scheduling, tracking deadlines, and calculating timeframes. Dates must be enclosed in hash/sharp (#) symbols.
Example use: Adding 30 days to a specific date: DateAdd(#08/08/2026#, 30, "days")
Format Description | Example | Actual .NET Data Type |
Date/time | #08/08/2001 09:30:00# | DateTime |
Date only | #08/08/2001# | DateTime |
Duration
Purpose: Used to measure a specific length of time (hours, minutes, seconds) rather than a point on a calendar, such as hours worked or time taken to complete a task.
Example use: Checking if a task took exactly 8 hours: If($Time Worked = #08:00:00#, "Full Day", "Partial")
Format Description | Example | Actual .NET Data Type | Notes |
Enclosed in hash/sharp | #09:30:00# | TimeSpan | Cannot represent more than 23:59:59. |
Boolean
Purpose: Used for simple Yes/No or True/False logic. This is perfect for evaluating checkboxes, toggles, or creating conditional rules. Do not use quotes around boolean values.
Example use: Triggering an action if a checkbox is ticked: If($Requires Review = true, "Hold", "Approve")
Format Description | Example | Actual .NET Data Type |
TRUE | TRUE | Boolean |
FALSE | FALSE | Boolean |
GUID
Purpose: A Globally Unique Identifier (GUID) is a complex, system-generated string used to give a record or item a completely unique ID number behind the scenes.
Example use: Referencing a highly specific system record: $Record ID = b1548bd5-2556-4d2a-9f47-bb8d421026dda
Format Description | Example | Actual .NET Data Type |
With dashes | b1548bd5-2556-4d2a-9f47-bb8d421026dd | Guid |
Without dashes | 78b1941f4e7941c9bef656fad7326538 | Guid |
List
Purpose: Used to group multiple independent values together into a single collection. This allows you to quickly check if a user's answer matches any of the items in your pre-approved group.
Example use: Checking if a selected department is in the list: $Department in ('HR', 'Finance', 'IT')
Format Description | Example | Actual .NET Data Type | Notes |
Enclosed in brackets/parentheses | ('abc', function(), 3.14) | List<object> | Can only be used on the right side of the in operator. |
