Skip to main content
A trigger is set up to define data capture scenarios. It specifies the conditions (the “if”) and defines which data to record when those conditions are met (the “then”). Multiple conditions can be applied, to define a complex scenario. Triggers can be used in one or across multiple systems.

Concepts & Architecture

Conditions

By default, all conditions must be met simultaneously for a trigger to generate an event (implicit AND logic). For example: speed > 20 km/h AND acceleration > 1 m.s-². For advanced use cases, you can combine conditions using logical expressions with operators like OR, XOR, NOT, and more. See Logical Expressions below. Conditions can be applied on different signal types:
  • Number
  • String
  • Maps
  • Boolean
  • Custom text for specific types

Recordings

Recordings are the data you want to capture when a trigger conditions are met. Such recording can be point in time or of a defined duration. The time range can start before the trigger fires and creates an event thanks to a buffer.

Trigger Management

Triggers Overview

Trigger List

You can view all triggers in your workspace on the Trigger page. To open a trigger, click on it. The list can be filtered by:
  • ID or name
  • Systems using the trigger
  • Trigger Labels
  • Trigger Priority

Trigger List on a System

triggers.png You can list all triggers applied to a system from its system view. Each entry has an action menu with the following options:
  • View the trigger
  • Unlink the trigger from the system
  • Remove the trigger

Viewing the Trigger

Trigger Details You can open the trigger column from the trigger list or from the system details view. The column contains the following information:

Main Information

  • Name
  • UUID
  • Priority
  • Status
  • Labels

General Information

Provides details such as the total number of events generated, or the date of the latest event.

Configuration

The configuration block details the monitored signals, conditions and which signals are to be recorded and for how long.

Specific Options

This block displays additional settings for your trigger, such as the recording range (i.e. the duration) of your recordings.

Systems

Lists all systems using the trigger.

Creating Triggers

Currently, you can only create triggers directly from a system. Each trigger can be reused across multiple systems. A system can use a trigger only if it contains all the Data Sources and signals used as conditions in the trigger.

Main Information

You need to enter essential information such as the name, description, and labels for the trigger.

Configuration

In this step, you define what your trigger will do: what will activate it and what recordings will be generated when it activates.

Conditions

Trigger Monitoring Conditions You can add a condition by clicking on the Add Condition button, which adds a new condition block. Then, select a signal to apply the condition to. You can only add conditions to signals that are on a Data Source linked to the system where the trigger is being applied. Once a signal is selected, the condition block will update to match the type of the signal:
  • Number: Select an operator and provide a number.
  • String: Select an operator and provide a string.
  • Maps: Select an operator and multiple zones.
  • Boolean: Specify whether the signal must be true or false to meet the condition.
  • Custom: Provide free multiline text.
You can add as many conditions as necessary.

Recordings

Trigger Recording Conditions Select which signals you want to record when the trigger is activated. To add a recording, click the Add Recording button and select a signal. Then, specify if you want to record the signal at the time of the event or over a timeframe. If at least one recording uses the timeframe option, you can define the recording range at the bottom of the recording settings. Note that the recording range applies to all recordings, meaning you cannot have different ranges for different recordings.

Specific Options

Trigger Specific Options Here, you can configure specific options for your triggers:
  • Conditions must remain true for a timeframe: The trigger will only activate if all conditions are true simultaneously for the specified timeframe.
  • Merge events within a sliding timeframe: This option merges events generated by a trigger when a new event is generated within the specified timeframe of the last merged event. The timeframe resets with each new event, and the merged event is finalized when no new events are generated within the specified timeframe.
  • Cooldown period: Specifies a time period during which the trigger will not generate new events after generating one.

Adding a Trigger to a System

Add existing trigger to system You can add a trigger to a system directly from the trigger list by clicking the Add Trigger button. This opens a modal with three tabs. The first tab allows you to add existing triggers to the system. For a trigger to be added, all signals used for conditions and recordings must be present in the system. The list of available triggers only shows those that meet this condition.

Editing & Updates

You can edit a trigger from the trigger list within a system.

Status of Triggers

The status of a trigger may vary depending on where you view it.

Trigger List Status

In the trigger list, a trigger will be marked as “Not Ready” if certain fields are missing, such as conditions. Once the trigger can be used in systems, its status changes to “Ready.”

System Status

Within a system, each trigger has a status that represents its implementation progress:
  • Requested: The trigger has been requested and requires completion.
  • To Code: Some implementations are missing for the trigger to function correctly.
  • To Deploy: All implementations are ready, but some need to be deployed in the system.
  • Ready: All implementations have been deployed, and the trigger can start generating data.

Logical Expressions (Formula Mode)

For complex monitoring scenarios, you can combine multiple conditions using logical operators instead of the default AND behavior.

Enabling Formula Mode

In the trigger creation/edit form:
  1. Add your monitoring conditions as usual
  2. Each condition is automatically assigned a letter: A, B, C… (up to Z, then AA, AB…)
  3. Check the “Formula mode” checkbox after the “If” section
  4. Enter your logical expression (e.g., A OR B, (A AND B) OR C)
When Formula Mode is disabled, your formula is preserved in memory and restored when re-enabled.

Available Logical Operators

OperatorDescriptionExample Use Case
ANDAll conditions must be trueTemperature high AND pressure low
ORAt least one condition must be trueBattery critical OR temperature critical
NOTInverts a conditionMotor stopped (NOT running)
XORExactly one condition must be trueSensor inconsistency detection
NANDNOT AND - false only when all are trueFailsafe logic
NORNOT OR - true only when all are falseAll-clear detection
XANDAll conditions must have same valueSensor agreement validation

How It Works

Each condition is automatically assigned a sequential letter (A, B, C…) displayed before its title in the UI. You then write a formula using these letters.

Example: OR Logic

Scenario: Alert when battery is critical OR temperature is critical.
Condition A: battery_voltage < 11V
Condition B: temperature > 80°C

Formula: A OR B
This triggers an event if either condition is met, rather than requiring both.

Example: Complex Expression

Scenario: Alert for two distinct failure modes.
Condition A: speed > 2 m/s
Condition B: obstacle_distance < 0.5m
Condition C: emergency_stop = true

Formula: (A AND B) OR C
This triggers when:
  • Robot is moving fast AND obstacle is close, OR
  • Emergency stop is activated

Formula Validation

When you click “Next step” or “Save”:
  • The system validates that all letters in your formula match existing conditions
  • Invalid formulas show a red border and an error message
  • You cannot proceed until the formula is valid
An invalid formula will prevent your trigger from ever firing. Always verify your formula references only existing condition letters.

Condition Operators by Signal Type

Signal TypeAvailable Operators
Number (speed, temperature, etc.)GREATER_THAN, LESS_THAN, EQUAL, NOT_EQUAL, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL, RANGE
BooleanEQUAL
StringEQUAL, NOT_EQUAL, CONTAIN, NOT_CONTAIN
Date/TimeAFTER, BEFORE, ON
Map/Zone (geofencing)IN, OUT, ENTER, EXIT

CLI Configuration

For CLI-based trigger creation, see Trigger CLI for JSON structure details.
When Formula Mode is disabled (or no logical expression specified), all conditions are combined with implicit AND logic.