🚀 New! Kestra raises $3 million to grow Learn more

EachSequential EachSequential

type: "io.kestra.core.tasks.flows.EachSequential"

For each value in the list, execute one or more tasks sequentially.

The list of tasks will be executed for each item sequentially. The value must be a valid JSON string representing an array, e.g. a list of strings ["value1", "value2"] or a list of dictionaries [{"key": "value1"}, {"key": "value2"}].

You can access the current iteration value using the variable null. The task list will be executed sequentially for each item.

We highly recommend triggering a subflow for each value. This allows much better scalability and modularity. Check the flow best practices documentation and the following Blueprint for more details.


The taskrun.value from the each_sequential task is available only to immediate child tasks such as the before_if and the if tasks. To access the taskrun value in child tasks of the if task (such as in the after_if task), you need to use the syntax null as this allows you to access the taskrun value of the parent task each_sequential.

id: loop_example
namespace: dev

  - id: each_sequential
    type: io.kestra.core.tasks.flows.EachSequential
    value: ["value 1", "value 2", "value 3"]
      - id: before_if
        type: io.kestra.core.tasks.debugs.Return
        format: 'Before if {{ taskrun.value }}'
      - id: if
        type: io.kestra.core.tasks.flows.If
        condition: '{{ taskrun.value == "value 2" }}'
          - id: after_if
            type: io.kestra.core.tasks.debugs.Return
            format: 'After if {{ parent.taskrun.value }}'

This task shows that the value can be a bullet-style list. The task iterates over the list of values and executes the each-value child task for each value.

id: each_sequential
namespace: dev

  - id: each-sequential
    type: io.kestra.core.tasks.flows.EachSequential
      - value 1
      - value 2
      - value 3
      - id: each-value
        type: io.kestra.core.tasks.debugs.Return
        format: "{{ task.id }} with value '{{ taskrun.value }}'"




  • Type:
    • string
    • array
  • Dynamic: ✔️
  • Required: ✔️

The list of values for this task. The value car be passed as a string, a list of strings, or a list of objects.


List of tasks to run if any tasks failed on this FlowableTask.