Skip to main content
A List is an ordered collection of values. Lists can contain text, numbers, objects, files, or mixed values, and they can be passed between actions as one value.

Create a list

Choose the source that matches how the collection is produced: On repeatable list inputs, add and reorder individual items or switch to providing an entire List at once. Individual inputs are best for a fixed set; the whole-list input is best for runtime collections.

Inspect and reshape lists

List actions transform a collection without requiring a sub-workflow:
  • Get Items by Index exposes selected positions as separate outputs. Index 0 is the first item, and -1 is the last.
  • Slice returns a contiguous section.
  • Chunk splits a list into smaller lists.
  • Flatten removes nested list levels.
  • Unique removes repeated values.
  • Sort reorders the items.
  • Length returns the item count.
Use these focused actions before reaching for a loop. They make the workflow easier to read and avoid starting a child workflow for work a single action can perform.

Process every item

Loop Workflow runs a callable workflow once for each item in Payloads.
1

Build the item workflow

Give the child workflow the Sub-Workflow trigger. Read the current item with Data from Trigger.
2

Return one result

Connect the transformed value to Return Data.
3

Configure the loop

In the parent workflow, select the child in Loop Workflow and connect the source list to Payloads.
4

Use the results

Results contains one child result for each input item, in the same order.
Iterations run sequentially. This preserves ordering and avoids overlapping child runs, but the total runtime grows with both the number of items and the duration of each child workflow.
A child that finishes without Return Data contributes null at its position. If a child run fails, the loop action fails instead of returning a partial results list.
Loop Workflow accepts up to 1,000 payloads. Split larger collections into batches before invoking it.

Filter with a predicate workflow

Filter With Workflow runs a callable workflow for each item and keeps the original items whose returned value is truthy. The predicate workflow should:
  1. Read the item from Data In.
  2. Compare or validate it.
  3. Return the decision through Return Data.
The output keeps matching items in their original order. The returned decision does not need to be a Boolean, but an explicit Boolean makes the predicate’s intent clearer.
Like Loop Workflow, filtering is sequential, accepts at most 1,000 payloads, and fails if any child run fails.

Find the first match

Find With Workflow tests items from the beginning and returns the first original item whose predicate result is truthy. It stops testing after a match and returns null when none match. Use it instead of filtering when:
  • only one item is needed;
  • list order defines priority; or
  • avoiding unnecessary child runs matters.

Preserve the difference between an item and a result

The three workflow-backed list actions return different things: If you need both an original item and derived fields, have the loop child return an object containing both. Create Object can assemble a predictable result such as:

Choose a list strategy

Use a dedicated Arrays action. It runs in the current workflow and communicates the operation directly.
Use Loop Workflow and put the per-item sequence in a callable child workflow.
Use Filter With Workflow with a predicate child workflow.
Use Find With Workflow. Put the highest-priority candidates first.
External side effects completed by earlier iterations are not rolled back if a later child fails. Design loop children so they can be retried safely when they create records, send messages, or modify remote state.