Skip to main content
The Batch node collects events that arrive at the same point in a journey and releases them together as one aggregated payload. Use it to turn a burst of activity into a single notification, for example “Your post received 17 likes”, instead of many. The first event into a batch owns the run and continues downstream when the batch releases. Later contributing events terminate at the Batch node, so the nodes after a batch run only once per batch.

When a batch releases

A batch releases as soon as any one of these is true:
  • Max items collected (max_items, default 100, up to 1000).
  • Wait period elapses with no new contributing event (a quiet, inactivity window).
  • Max wait period ceiling is reached, measured from the first event into the batch.
The wait period must be shorter than the max wait period. The quiet window releases an idle batch early. The max wait period is the hard ceiling that always releases it.

Configuration

Journey batches are scoped per user (scope: user), so events are grouped by the recipient.

Batch payload

When the batch releases, downstream nodes receive a batch object with the total count and the retained items:
Reference this data in a send node’s template with variable syntax (for example, {{batch.count}}). When a Category key is set, events are grouped by category and each category is delivered under its own key:

Via the API

In a journey definition, a Batch node uses type: "batch":
See for the full node reference. Durations use ISO 8601 (for example, PT1H for one hour, P1D for one day).