Pre-Configured Operators
This documentation provides a comprehensive reference to the predefined operators available in our platform. These operators enable users to construct precise and reusable expressions that evaluate data based on a wide variety of conditions, including comparisons, existence checks, string operations, numeric ranges, date-time logic, list membership, and JSON structure evaluation.
Operator Reference at a Glance
The table below categorizes and summarizes all predefined operators available in the system. Operators are grouped by data type and use case, making it easy to identify the right tool for your logic. Use this quick reference to explore the available conditions before diving into detailed behavior and examples in the following sections.
Category
Operator
Description
Common/Generic
Any
Passes if any condition in a group evaluates to true.
Exists
Checks if the field or key is present and has a non-null value.
Doesn’t Exist
Passes if the field or key is missing or undefined.
Is Null
Returns true if the value is exactly null.
Is not Null
Returns true if the value is not null.
Number
Between
Validates if the number falls inside a specified inclusive range, including both boundary values.
Not Between
Validates if the number falls outside a specified inclusive range (i.e. ≤ lower bound or ≥ upper bound).
Equals
Checks if the number is exactly equal to the given value.
Not Equals
Checks if the number is not equal to the specified value.
Greater than
Passes if the number is strictly greater than the specified value.
Less than
Passes if the number is strictly less than the specified value.
Greater than or equals
Passes if the number is greater than or equal to the given value.
Less than or equals
Passes if the number is less than or equal to the given value.
Is Even
Checks if the number is divisible by 2 with no remainder.
Is Not Even
Passes if the number is not divisible by 2.
String
Equals
Returns true if the strings are an exact match.
Not Equals
Returns true if the strings do not match exactly.
Contains
Checks if the string includes the specified substring.
Does not Contains
Returns true if the string does not contain the specified substring.
Starts With
Validates if the string begins with the given prefix.
Does not start with
Passes if the string does not begin with the given prefix.
Ends with
Returns true if the string ends with the specified suffix.
Doesn’t Ends with
Passes if the string does not end with the given suffix.
Is IN
Checks if the string matches any value in a given list.
IS NOT IN
Passes if the string does not match any value in a given list.
Is Empty
Returns true if the string is either empty (""
) or has zero length.
Is not Empty
Returns true if the string has at least one character.
Dates/DateTime
Between
Validates if the date/time falls within an inclusive range, including both start and end points.
Not Between
Validates if the date/time lies outside an inclusive range (i.e. on or before the start, or on or after the end).
Equals
Passes if both dates or timestamps are identical.
Not Equals
Passes if the values differ.
Greater than
Validates if the date/time is later than the comparison value.
Less than
Passes if the date/time is earlier than the comparison value.
Greater than or equals
Returns true if the date/time is on or after the given date/time.
Less than or equals
Returns true if the date/time is on or before the given date/time.
Boolean
Is False
Passes if the value is strictly false
.
Is True
Passes if the value is strictly true
.
List
Empty
Returns true if the list has no elements.
Not Empty
Passes if the list has one or more elements.
In
Checks if a value exists within the list.
Not in
Returns true if the value is not present in the list.
Contains
Checks if the list contains a specific item.
Not Contains
Passes if the list does not contain a specific item.
Match All
Validates if all specified items are present in the list.
Not Match All
Passes if any specified item is missing from the list.
Equals
Returns true if both lists contain the exact same elements in the same order.
Not Equals
Returns true if the lists differ in any way.
ContainsIn
Checks if each item in the list exists in another reference list.
Not ContainsIn
Passes if any item in the list does not exist in the reference list.
JSON
Has Key
Validates if the JSON object includes the specified key.
Does not Have Key
Passes if the key is missing in the JSON object.
Contains
Checks if the JSON structure includes a specified value or sub-structure.
Does not Contain
Returns true if the specified value or sub-structure is not found.
Common / Generic Operators
These operators apply to any data type and are often used for basic checks like value presence or nullability. They help ensure that required fields are available and allow you to build general-purpose conditions across fields of varying types.
Any
The Any
operator passes if the selected property has any value — regardless of its type or specific content. It is useful when the condition should succeed as long as the field is not missing or undefined.
Example (Pseudocode):
Result: Passes if creditApplicationStatus
has any value (e.g., "PENDING"
, 123
, true
, etc.).
Exists
The Exists
operator checks whether the field or key is present and not null
or undefined
. It is typically used to confirm that a value has been supplied for a field.
Example (Pseudocode):
Result: Passes if applicant.age
is present in the data and not null
.
Doesn’t Exist
The Doesn’t Exist
operator passes if the field is not present or is explicitly undefined
. Use this to identify optional or missing fields.
Example (Pseudocode):
Result: Passes if applicant.phone
is not defined in the data.
Is Null
The Is Null
operator returns true when the field exists and its value is explicitly null
. This is distinct from being undefined
or missing entirely.
Example (Pseudocode):
Result: Passes if the value is exactly null
, as in "middle_name": null
.
Is Not Null
The Is Not Null
operator passes when the field's value is not null
. The field must exist and have any value other than null
, including empty strings or zeroes.
Example (Pseudocode):
Result: Passes if "applicant.email"
exists and is not null
.
Number Operators
Number operators are used to evaluate numeric fields against specific values or ranges. These operators support precise mathematical comparisons and help you define conditions for thresholds, limits, or specific numeric states such as evenness.
Between
****The Between
operator passes if the field’s value falls within a specified inclusive range.
Example (Pseudocode):
Result: Passes if the age is between 18 and 25, inclusive (e.g., 18, 19, ..., 25).
<aside> ⚙ This operator is inclusive, meaning both boundary values are considered valid. For example, if the range is defined as 1 to 10, the condition will pass for any value between 1 and 10, including 1 and 10 themselves. Same goes for the Not Between operator.
</aside>
Not Between
The Not Between
operator passes if the field’s value lies outside the specified range.
Example (Pseudocode):
Result: Passes if the score is less than 600 or greater than 700.
Equals
The Equals
operator passes if the field’s numeric value is exactly equal to the specified value.
Example (Pseudocode):
Result: Passes only if the value is exactly 36.
Not Equals
The Not Equals
operator passes if the numeric value does not match the given value.
Example (Pseudocode):
Result: Passes if the value is anything except 12.
Greater Than
The Greater Than
operator passes if the value is strictly greater than the specified number.
Example (Pseudocode):
Result: Passes if income > 50000
.
Less Than
The Less Than
operator passes if the value is strictly less than the given number.
Example (Pseudocode):
Result: Passes if debtAmount < 10000
.
Greater Than or Equals
The Greater Than or Equals
operator passes if the value is equal to or greater than the specified threshold.
Example (Pseudocode):
Result: Passes if savings >= 2000
.
Less Than or Equals
The Less Than or Equals
operator passes if the value is equal to or less than the given number.
Example (Pseudocode):
Result: Passes if monthlyExpense <= 3000
.
Is Even
The Is Even
operator checks if the numeric value is divisible by 2 with no remainder.
Example (Pseudocode):
Result: Passes if the value is 0, 2, 4, 6, etc.
Is Not Even
The Is Not Even
operator passes if the value is not evenly divisible by 2.
Example (Pseudocode):
Result: Passes if the value is 1, 3, 5, etc.
String Operators
String operators are used to evaluate text fields based on content, structure, and comparison. These operators allow you to match exact strings, check for substrings, and validate patterns like prefixes and suffixes — essential for working with names, IDs, statuses, and other textual data.
Equals
The Equals
operator passes if the string value exactly matches the specified input, including case and spacing.
Example (Pseudocode):
Result: Passes only if applicationStatus
is exactly "Approved"
.
Not Equals
The Not Equals
operator passes if the string does not match the given input exactly.
Example (Pseudocode):
Result: Passes if the value is anything except "Rejected"
.
Contains
The Contains
operator checks if the string includes the specified substring anywhere within it.
Example (Pseudocode):
Result: Passes if address
contains "Street", such as "123 Main Street".
Does Not Contain
The Does Not Contain
operator passes if the string does not include the specified substring.
Example (Pseudocode):
Result: Passes if address
does not contain "PO Box".
Starts With
The Starts With
operator passes if the string begins with the specified prefix.
Example (Pseudocode):
Result: Passes if the value starts with "CUST-", such as "CUST-12345".
Does Not Start With
The Does Not Start With
operator passes if the string does not begin with the specified prefix.
Example (Pseudocode):
Result: Passes if the value does not start with "TEMP-".
Ends With
The Ends With
operator checks if the string ends with the specified suffix.
Example (Pseudocode):
Result: Passes if the email ends with "@example.com".
Doesn’t End With
The Doesn’t End With
operator passes if the string does not end with the specified suffix.
Example (Pseudocode):
Result: Passes if the email does not end with "@spam.com".
Is In
The Is In
operator passes if the string matches any value from a specified list.
Example (Pseudocode):
Result: Passes if the currency is one of the listed options.
Is Not In
The Is Not In
operator passes if the string does not match any value in the list.
Example (Pseudocode):
Result: Passes if status
is not "Inactive" or "Disabled".
Is Empty
The Is Empty
operator passes if the string is either an empty string (""
) or has zero length.
Example (Pseudocode):
Result: Passes if middleName
is set but contains no characters.
Is Not Empty
The Is Not Empty
operator passes if the string has one or more characters.
Example (Pseudocode):
Result: Passes if firstName
is not an empty string.
Date / DateTime Operators
Date and DateTime operators allow you to compare temporal values, such as submission dates, due dates, or timestamps of events. These operators support a wide range of date formats and offer precise control for rule conditions that involve scheduling, expiration, or chronological evaluation.
Supported Date Formats
The platform supports multiple regional and international date-time formats, including:
International / Regional:
mm/dd/yyyy hh:mm:ss
,dd/mm/yyyy
,mm-dd-yyyy
, etc.ISO (Default):
yyyy-mm-dd'T'hh:mm:ssZ
,yyyy-mm-dd hh:mm:ss
,yyyy/mm/dd
, etc.
By default, ISO format is used across the UI, execution logs, and new rule/workflow creation. This format is recommended for reliability, especially in API and database interactions. Format settings apply to new content only; existing rules retain their original formats.
Between
The Between
operator passes if the date or datetime value lies within a given start and end range (inclusive).
Example (Pseudocode):
Result: Passes if applicationDate
is within 2023.
<aside> ⚙ This operator is inclusive, meaning both boundary values are considered valid. For example, if the range is defined as 1 to 10, the condition will pass for any value between 1 and 10, including 1 and 10 themselves. Same goes for the Not Between operator.
</aside>
Not Between
The Not Between
operator passes if the date or datetime value lies outside the specified range.
Example (Pseudocode):
Result: Passes if renewalDate
is before January 1st or after March 31st, 2024.
Equals
The Equals
operator passes if the field’s value matches the specified date or timestamp exactly (to the second or full precision based on format).
Example (Pseudocode):
Result: Passes if scheduledAt
matches that exact timestamp.
Not Equals
The Not Equals
operator passes if the field’s date/time value does not match the specified one.
Example (Pseudocode):
Result: Passes if createdAt
is any date other than January 1st, 2025.
Greater Than
The Greater Than
operator passes if the field’s value is after the specified date/time.
Example (Pseudocode):
Result: Passes if paymentDue
is later than June 1st, 2025.
Less Than
The Less Than
operator passes if the date/time is earlier than the specified value.
Example (Pseudocode):
Result: Passes if the submission occurred before May 1st, 2025.
Greater Than or Equals
The Greater Than or Equals
operator passes if the date/time is on or after the specified value.
Example (Pseudocode):
Result: Passes if the login was on or after January 1st, 2025.
Less Than or Equals
The Less Than or Equals
operator passes if the date/time is on or before the specified value.
Example (Pseudocode):
Result: Passes if the expiry is before or on December 31st, 2025.
Boolean Operators
Boolean operators are used to evaluate fields that hold binary truth values — typically true
or false
. These operators are ideal for flags, switches, status fields, or any data point that represents a yes/no or on/off state.
Boolean values are expected to be stored in a strict Boolean format (true
or false
, not string equivalents like "true"
or "false"
). Any comparison against a non-Boolean value will not yield a match.
Is True
The Is True
operator passes if the field's value is exactly true
.
Example (Pseudocode):
Result: Passes if isVerified
is set to true
.
Is False
The Is False
operator passes if the field’s value is exactly false
.
Example (Pseudocode):
Result: Passes if isOverdue
is explicitly false
.
List Operators
List operators are used to evaluate fields that contain arrays or collections of values. These operators allow you to validate list structure, content, and membership — supporting conditions such as presence, equality, inclusion, and completeness.
These are ideal for fields like tags, selected options, user roles, document types, or any multi-value input.
Empty
The Empty
operator passes if the list has no elements (i.e., it is []
).
Example (Pseudocode):
Result: Passes if attachedDocuments
is an empty list.
Not Empty
The Not Empty
operator passes if the list contains one or more elements.
Example (Pseudocode):
Result: Passes if at least one department is listed.
In
The In
operator checks whether a single value exists within the list.
Example (Pseudocode):
Result: Passes if "READ"
is one of the elements in the list.
Not In
The Not In
operator passes if the value is not present in the list.
Example (Pseudocode):
Result: Passes if "DELETE"
is not in the list.
Contains
The Contains
operator checks if the list contains a specific item.
Example (Pseudocode):
Result: Passes if "Featured"
is included in productTags
.
Not Contains
The Not Contains
operator passes if the list does not include the specified item.
Example (Pseudocode):
Result: Passes if "Discontinued"
is not in the list.
Match All
The Match All
operator passes if all items in the specified input are present in the list.
Example (Pseudocode):
Result: Passes only if both "identityCheck"
and "addressCheck"
are in the list.
Not Match All
The Not Match All
operator passes if any item in the specified set is missing from the list.
Example (Pseudocode):
Result: Passes if even one of the listed items is not found.
Equals
The Equals
operator passes if both the field and the target list have identical elements in the same order.
Example (Pseudocode):
Result: Passes only if the field exactly matches the list in both content and order.
Not Equals
The Not Equals
operator passes if the lists differ in order, length, or content.
Example (Pseudocode):
Result: Passes if the roles differ in any way from the specified list.
Contains In
The ContainsIn
operator passes if each item in the list exists in a reference list.
Example (Pseudocode):
Result: Passes if every item in selectedCategories
exists in the reference list.
Not Contains In
The Not ContainsIn
operator passes if any item in the list is not found in the reference list.
Example (Pseudocode):
Result: Passes if even one category in the list does not appear in the reference list.
JSON Operators
JSON operators are designed to evaluate structured data represented as key-value pairs or nested objects. These operators allow you to verify the presence of specific keys and assess whether a JSON object includes certain values or substructures — crucial for working with dynamic payloads, configuration blobs, or nested data schemas.
Has Key
The Has Key
operator passes if the specified key exists within the JSON object — regardless of its value.
Example (Pseudocode):
Result: Passes if applicantData
contains the key "nationalId"
.
Does Not Have Key
The Does Not Have Key
operator passes if the specified key is missing from the JSON object.
Example (Pseudocode):
Result: Passes if passportNumber
is not a key in applicantData
.
Contains
The Contains
operator checks if the JSON object includes a specific value or sub-structure anywhere within its hierarchy.
Example (Pseudocode):
Result: Passes if metadata
includes a key-value pair "riskLevel": "high"
— even if nested.
Does Not Contain
The Does Not Contain
operator passes if the specified value or structure is not present anywhere within the JSON data.
Example (Pseudocode):
Result: Passes if the key-value pair "flagged": true
is not found in the metadata
object.
These operators serve as the foundation for expressing conditional logic across a wide variety of data types — including strings, numbers, dates, booleans, lists, and JSON objects.
For additional support or use case-specific guidance, refer to the platform’s rule builder documentation or contact your technical enablement team.
Last updated