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, and 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 Building Journeys via the API for the full node reference. Durations use ISO 8601 (for example, PT1H for one hour, P1D for one day).