What Are Action Batches?
Action Batches are grouped sets of actions that run together, acting like a logic-driven pipeline.
Instead of writing custom code, users visually configure how multiple actions should be executed under certain logic and conditions. These grouped actions allow advanced logic like "If sensor A fires and value is greater than X, wait 500ms, then trigger Widget Y" — all handled inside a single Action Batch.
They are one of the core tools in our low-code platform for building dynamic, reactive content.
Imagine an action batch like a train. Each car (action) follows the engine (trigger + logic). Depending on the track switches (evaluations), only some cars continue the journey.
Why We Use Action Batches
Action Batches are essential for:
- Manipulating data shown in the content, such as filtering rows in a widget or dynamically updating what’s visible
- Executing multiple actions in response to a single event (sensor, data, page, etc.)
- Applying conditional logic via evaluations and sent fields
- Passing data between logic layers using Send Fields
- Introducing delays between trigger and execution
- Nesting logic by running additional action batches from within
This makes it possible to create powerful behaviors without writing JavaScript.
Where They Live in the Platform
Action Batches can be used as an action type under any event-based trigger within the Content Editor:
- Sensor Event
(e.g. listen to a Sensor ID, event type, and value range) - Data Source Event
(e.g. when a specific field changes) - Time-Based Event
(e.g. every Monday or specific time) - Page Change Event
(e.g. on Page Start, Page End, or After Delay) - Touch Actions
(e.g. on Text widget)
In each case, the triggered event can execute an Execute Action Batch
, which defines logic and flow internally.
Learn more: Triggers
Action Batch Components
Within an Action Batch, you'll typically find:
- Action Origin: Defines whether the batch logic is stored locally within the action or globally as a reusable content-wide batch.
- Note: Optional description field to document what the batch does.
- Actions: The list of actions to be executed (can include other action batches).
- Delay: Optional toggle to add a delay before execution (in milliseconds).
- Sent Fields: Data fields passed to inner logic or nested batches.
Sent Fields – Types
These allow you to pass and transform data across nested batches and evaluations:
- Data Field – Fetches a specific value from a configured Data Source.
- Next Data Row – Rotates through the rows of a given Data Source (one step forward).
- Received Value – Passes along the original trigger value (e.g., from a sensor or data event).
- Static Value – Allows you to define a fixed, hardcoded value.
- Random Number – Generates a random number within a specified range.
- Filtered Data Source – Sends a pre-filtered version of a Data Source as input.
- Property of Received Value – Extracts a specific property from the trigger payload (e.g.,
event
,value
, orid
in a sensor trigger). - Widget Value – Reads and passes a value from a UI widget or component.
- Pick File – Opens a file picker to let the user select and pass a file.
- Device Info – Retrieves context data about the current device (e.g., ID, screen name).
- Call Function – Executes a custom JavaScript; can access trigger values and return computed output.
These fields are evaluated within the Action Batch itself, using conditions defined in Evaluations, such as:
- Is Empty / Is Not Empty
- Equals / Does Not Equal
- Greater Than / Less Than
- Boolean true / false
- Matches pattern or string