Understanding the Anatomy of a Rule

Prev Next

Overview


Automation rules are the core of workflow optimisation, allowing you to automatically perform actions based on specific criteria. This guide provides a comprehensive, technical overview of how to build robust rules, detailing each of the three essential components: the Trigger, the Condition, and the Action.

The Trigger: Initiating the Automation


The trigger is the event that starts the automation process. It signals the system to evaluate the rule's conditions. Common triggers include:

  • Item Creation: The rule runs immediately when a new record is created.

  • Item Update: The rule runs whenever a field value on a record is changed.

  • Workflow Transition: The rule runs when a record's status moves from one stage to another (e.g., from "In Progress" to "Completed").

You define the trigger and basic rule details (like its name and description) in the Basic Info section. Be sure to give your rule a clear and descriptive name, like "Notify user on Item Assignment Rule," so it's easy to identify later.

The Condition: The Logical Foundation


Conditions are the "if" part of your rule. They are the criteria that must be true before the automation can proceed with an action. You can define conditions using simple comparisons or complex, nested logic.

  • Simple Conditions: A single check, such as "Status is Approved."

  • Complex Conditions: Combine multiple conditions using AND or OR operators for advanced logic.

  • Nested Conditions: Use built-in functions to perform calculations or time-based comparisons.

Supported Operators for Conditions

The table below provides an overview of the operators and expressions supported for each field type.

Note: Separator, File Info and XMP fields are not available in Conditions.

Field type

Operator/Expression

Target for comparison

  • Text Fields:

    • Text

    • Text Box

    • Email

    • URL

    • Text Concatenation

    • Calculations

  • LIKE

  • NOT LIKE

  • LENGTH is EQUAL to

  • LENGTH is NOT EQUAL to

  • LENGTH is LESS than

  • LENGTH is GREATER than

  • LENGTH is LESS than or EQUAL to

  • LENGTH is GREATER than or EQUAL to

  • Value

  • Text Fields:

    • Text

    • Text Box

    • Email

    • URL

    • Text Concatenation

    • Calculations

  • is EQUAL to

  • is NOT EQUAL to

  • Value

  • Field

  • Text Fields:

    • Text

    • Text Box

    • Text Concatenation

    • Calculations

  • is NULL

  • is NOT NULL

  • N/A

  • Option fields:

    • Status field

    • Selectbox

    • Radio button

    • Check box

    • Multiselect

    • Module links

    • Users

  • IN

  • NOT IN

  • Value

  • Option fields:

    • Status field

    • Selectbox

    • Radio button

    • Check box

    • Multiselect

    • Module links

    • Users

  • is NULL

  • is NOT NULL

  • N/A

  • Numeric fields:

    • Integer

    • Decimal

    • Calculations

  • is EQUAL to

  • is NOT EQUAL to

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Value

  • Field

  • Numeric fields:

    • Integer

    • Decimal

    • Calculations

  • is NULL

  • is NOT NULL

  • N/A

  • Date fields:

    • Date

    • Calculations

  • is EQUAL to

  • is NOT EQUAL to

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Value

  • Field

  • Function  (e.g. CURRENT TIMESTAMP, ADD DATE, START OF PERIOD)

  • Date fields:

    • Date

    • Calculations

  • is NULL

  • is NOT NULL

  • N/A

  • File fields:

    • Single file field

    • Multiple file field

  • is NULL

  • is NOT NULL

  • has any new value

  • N/A

  • HTTP Status

Note: Only applicable for Notification Rules with 'Copy to HTTP Action' sub-type

  • is EQUAL to

  • is NOT EQUAL to

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Value

Using Functions in Conditions

Functions introduce dynamic calculations, allowing you to build conditions that go beyond static comparisons. A function can be used as either the source (left-hand side) or the target (right-hand side) of a comparison, depending on its role.

Function

Supported Operators

Description

Role

LENGTH

  • is EQUAL to

  • is NOT EQUAL to

  • is LESS than,

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Compares the number of characters of a field input against another field input or to an entered number of characters

  • Can be source or target.

IS UNIQUE

  • is EQUAL to

  • is NOT EQUAL to

  • Evaluates if a value of a field is unique or not in comparison to other values input in the referred field

  • Source only.

CURRENT TIMESTAMP

  • is EQUAL to

  • is NOT EQUAL to

  • is NULL, is NOT NULL

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Represents the system’s current date and time. It can be used to check whether a value from a date field or a fixed date matches, precedes, or follows the present moment.

  • Can be source or target.

START OF PERIOD

  • is EQUAL to

  • is NOT EQUAL to

  • is NULL

  • is NOT NULL

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Interprets a date (from either a fixed value or a date field) as the beginning of a specified time period, based on the selected time unit (e.g., day, week, month).

  • Can be source or target.

ADD DATE

  • is EQUAL to

  • is NOT EQUAL to

  • is NULL

  • is NOT NULL

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Calculates a date by taking a specified base date (either a fixed value or a date field) and adding or subtracting a defined number of days, or another chosen time unit.

  • Can be source or target.

Trigger Action In

Note: Only supported for Notification Rules using the Email channel. Delayed in-app notifications are delivered without the Field updated section.

  • is EQUAL to

  • is NOT EQUAL to

  • is NULL

  • is NOT NULL

  • is LESS than

  • is GREATER than

  • is LESS than or EQUAL to

  • is GREATER than or EQUAL to

  • Allows you to add a delay to Email Notification Rules that will automatically trigger once a specified date or time is reached. This function requires the Field Object Watcher Scheduler Job to be active in order to process and deliver the delayed notifications.

  • Target only

Nested Functions and Evaluation

You can nest multiple functions to create complex, time-based conditions. The system evaluates these functions from the innermost to the outermost. For example:

CURRENT TIMESTAMP is EQUAL to START OF PERIOD (ADD DATE (Hour(s) = 1) (ADD DATE (Minutes = 15)))

The system first calculates the inner ADD DATE function (adds 15 minutes), then the outer ADD DATE (adds 1 hour to the result), and finally the START OF PERIOD function before comparing the final value to the CURRENT TIMESTAMP. This sequential evaluation provides precise control over complex logic.

Rule Conjunction

You can combine multiple conditions using AND and OR operators. This allows you to build complex logical groups.

  • AND: All conditions within a group must be true.

  • OR: At least one condition within a group must be true.

You can also combine groups with different operators. For example, (Group 1 **AND** Group 2), where Group 1 uses AND logic and Group 2 uses OR logic. This provides granular control over when your rule should execute.

Limitations

  • Null evaluates to true for Less than 0 conditions

  • It is not possible to set the value by rule for fields having default values configured

  • Like Operator and Length Expression does work for comparison with the field. Only static values are supported.

  • LIKE conditions should be used with % sign (like in SQL expressions). Example: %testPhrase% matches 1testPhrase1, testPhrase1, 1testPhrase

The Action: Executing the Task


The action is the final step in the automation, defining what the system does once all conditions are met. Common actions include:

  • Updating a Field: Automatically change a record's Status or assign it to a team.

  • Sending a Notification: Send an email or an in-app alert.

  • Creating a New Record: Automatically generate a new task or sub-item.

  • Changing Workflow Status: Move a record to the next stage in its lifecycle.

You configure these tasks in the Actions block, specifying the target fields, recipients, and record types.