Batch collection & reports

By default, every trigger event starts its own run immediately — that's real-time mode. Some sources are better handled as a group instead: a batch of lab results, a day's worth of form submissions, an hourly export. Batch collection lets a trigger step accumulate incoming records and relay them together as a single run, on a schedule or the moment one record matches a condition you set.

Turning on batch collection

Open any trigger step that isn't Manual and toggle Batch collection. Two settings appear:

  • Flush every — how often collected records are automatically relayed (e.g. every 1 hour, every 1 day). Each flush creates one run whose trigger data is the full list of records collected since the last flush.
  • Flush immediately if (optional) — a condition checked against every incoming record, using the same field / operator / value check as a filter step (equals, not_equals, contains, exists, not_exists). If any pending record matches, everything collected so far — including the matching record — is relayed right away instead of waiting for the schedule. This is the escape hatch for urgent data: batch everything by default, but don't sit on something that matches a condition worth acting on now.

Downstream, a batch-relayed run looks like any other — action steps reference the collected records as a list, e.g. {% for row in trigger %} in a Liquid template, the same as any array trigger payload. See Mapping data between steps.

Turning batch collection back off relays whatever is currently pending immediately, as part of the switch — nothing collected is ever silently dropped.

Reports

Once a trigger step is in batch mode, a Reports button appears on the workflow page. It opens a dashboard scoped to that workflow's collected records:

  • Collected vs. relayed — a chart of how many records arrived each day, and how many have actually gone out in a run.
  • Pending / Relayed / Flagged — a live count of records waiting for the next flush, already relayed, and those that matched the "flush immediately if" condition.
  • Records table — every collected record, searchable and filterable by status, with a drill-down into the raw payload and a link to the run it was relayed in.
  • Flush now — relay everything currently pending right away, without waiting for the schedule.

When to use it

Batch collection trades immediacy for volume — use it when a source produces many small events that are more useful analyzed together than reacted to individually (results, exports, logs, form submissions), and keep real-time mode for anything that should trigger an action the instant it happens (a payment, an alert, a support request).