Flow
type: "io.kestra.core.models.triggers.types.Flow"
Kestra is able to trigger flow after another one. This allows chaining flows without need to update the base flows. With that, you can break the responsibility between different flows, and thus to different teams.
If you don't provide any conditions, the flow will be triggered for EVERY execution of EVERY flow on your instance.
Examples
This flow will be triggered after each successful execution of flow
io.kestra.tests.trigger-flow
and forward theuri
ofmyTask
taskId outputs.
id: trigger-flow-listener
namespace: io.kestra.tests
inputs:
- id: from-parent
type: STRING
tasks:
- id: only-no-input
type: io.kestra.core.tasks.debugs.Return
format: "v1: {{ trigger.executionId }}"
triggers:
- id: listen-flow
type: io.kestra.core.models.triggers.types.Flow
inputs:
from-parent: '{{ outputs.myTask.uri }}'
conditions:
- type: io.kestra.core.models.conditions.types.ExecutionFlowCondition
namespace: io.kestra.tests
flowId: trigger-flow
- type: io.kestra.core.models.conditions.types.ExecutionStatusCondition
in:
- SUCCESS
Properties
conditions
- Type: array
- SubType: Condition
- Dynamic: ❌
- Required: ❌
List of conditions in order to limit the flow trigger.
inputs
- Type: object
- Dynamic: ❌
- Required: ❌
Fill input of this flow based on output of current flow, allowing to pass data or file to the triggered flow.
If you provide invalid input, the flow will not be created! Since there is no task started, you can't log any reason that's visible on the Execution UI. So you will need to go to the Logs tabs on the UI to understand the error.
stopAfter
- Type: array
- SubType: string
- Dynamic: ❌
- Required: ❌
List of execution states after which a trigger should be stopped (a.k.a. disabled).
Outputs
executionId
- Type: string
- Dynamic: ❓
- Required: ✔️
The execution ID that triggered the current flow.
flowId
- Type: string
- Dynamic: ❓
- Required: ✔️
The flow ID whose execution triggered the current flow.
flowRevision
- Type: integer
- Dynamic: ❓
- Required: ✔️
The flow revision that triggered the current flow.
namespace
- Type: string
- Dynamic: ❓
- Required: ✔️
The namespace of the flow that triggered the current flow.
state
- Type: string
- Dynamic: ❓
- Required: ✔️
- Possible Values:
CREATED
RUNNING
PAUSED
RESTARTED
KILLING
SUCCESS
WARNING
FAILED
KILLED
CANCELLED
QUEUED
RETRYING
RETRIED
The execution state.