Subflow Subflow

yaml
type: "io.kestra.plugin.core.flow.Subflow"

Create a subflow execution. Subflows offer a modular way to reuse workflow logic by calling other flows just like calling a function in a programming language.

Examples

Run a subflow with custom inputs.

yaml
id: "subflow"
type: "io.kestra.plugin.core.flow.Subflow"
id: running_subflow
namespace: company.team

tasks:
  - id: call_subflow
    type: io.kestra.plugin.core.flow.Subflow
    namespace: company.team
    flowId: subflow
    inputs:
      user: "Rick Astley"
      favorite_song: "Never Gonna Give You Up"
    wait: true
    transmitFailed: true

Properties

flowId

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

The identifier of the subflow to be executed.

namespace

  • Type: string
  • Dynamic: ✔️
  • Required: ✔️
  • Min length: 1

The namespace of the subflow to be executed.

inheritLabels

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

Whether the subflow should inherit labels from this execution that triggered it.

By default, labels are not passed to the subflow execution. If you set this option to true, the child flow execution will inherit all labels from the parent execution.

inputs

  • Type: object
  • Dynamic: ✔️
  • Required:

The inputs to pass to the subflow to be executed.

labels

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

The labels to pass to the subflow to be executed.

outputs

  • Type: object
  • Dynamic: ✔️
  • Required:

Outputs from the subflow executions.

Allows to specify outputs as key-value pairs to extract any outputs from the subflow execution into output of this task execution.This property is deprecated since v0.15.0, please use the outputs property on the Subflow definition for defining the output values available and exposed to this task execution.

revision

  • Type: integer
  • Dynamic: ✔️
  • Required:
  • Minimum: >= 1

The revision of the subflow to be executed.

By default, the last, i.e. the most recent, revision of the subflow is executed.

scheduleDate

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

transmitFailed

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: true

Whether to fail the current execution if the subflow execution fails or is killed.

Note that this option works only if wait is set to true.

wait

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: true

Whether to wait for the subflow execution to finish before continuing the current execution.

Outputs

executionId

  • Type: string
  • Required:

The ID of the subflow execution.

outputs

  • Type: object
  • Required:

The extracted outputs from the subflow execution.

state

  • Type: string
  • Required:
  • Possible Values:
    • CREATED
    • RUNNING
    • PAUSED
    • RESTARTED
    • KILLING
    • SUCCESS
    • WARNING
    • FAILED
    • KILLED
    • CANCELLED
    • QUEUED
    • RETRYING
    • RETRIED
    • SKIPPED

The final state of the subflow execution.

This output is only available if wait is set to true.

Was this page helpful?