​Variables and storage


You can use variables inside your flow definition by using a special syntax: {{variableName}}.

Variables can be used on each task property that is documented as dynamic.

Dynamic variables will be rendered thanks to the Pebble templating engine. Pebble allows the processing of variables with filters and functions. More information on variable processing can be found in the developer guide.

Flows, tasks, executions, triggers, and schedules have default variables; for example {{ flow.id }} allows accessing the identifier of a flow inside an execution.

Flow inputs will be available as variables via {{ inputs.nameOfTheInput }}, and tasks output attributes will be available as variables via {{ outputs.nameOfTheTask.nameOfTheOutputAttribute }}.

Most variables will be stored inside the context of the execution and directly passed from task to task. Some variables are of a special type and will be stored inside Kestra's internal storage. Those variables will be automatically fetched from the internal storage when needed.

Internal storage

Kesta's internal storage allows storing arbitrary-sized files inside a dedicated storage area.

If an output attribute is stored inside the internal storage, it will be retrievable from a variable named {{outputs.nameOfTheTask.nameOfTheOutputAttribute}}. Kestra will automatically fetch the file when the variable is used.

Inputs of type FILE will be automatically stored inside the internal storage.

On the Outputs tab of an execution, if an output attribute is from the internal storage, there will be a link to download it.