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.

Restarting a parent flow will restart any subflows that has previously been executed.

Examples

Run a subflow with custom inputs.

yaml
id: parent_flow
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.

restartBehavior

  • Type: string
  • Dynamic:
  • Required: ✔️
  • Default: RETRY_FAILED
  • Possible Values:
    • NEW_EXECUTION
    • RETRY_FAILED

What to do when a failed execution is restarting.

  • RETRY_FAILED (default): will restart the subflow execution if it's failed.
  • NEW_EXECUTION: will create a new subflow execution.""

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:

outputs

  • Type: object
  • Required:

state

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