You can document your flows, inputs, outputs, tasks and triggers by adding a description property.

The description property is a string that supports Markdown syntax.

You can add a description property on:

  • Flows
  • Inputs
  • Outputs
  • Tasks
  • Triggers

All markdown descriptions will be rendered in the UI.

description

Here is an example flow with descriptions in different components:

yaml
id: myflow
namespace: example
description: |
  This is the **Flow Description**.
  You can look at `input description`, `task description`, `output description` and `trigger description` as well in this example. 

labels:
  env: dev
  project: myproject

inputs:
  - id: payload
    type: JSON
    description: JSON request payload to the API # Input description
    defaults: |
      [{"name": "kestra", "rating": "best in class"}]

tasks:
  - id: send_data
    type: io.kestra.plugin.fs.http.Request
    description: Task for sending POST API request to https://reqres.in/api/products # Task description
    uri: https://reqres.in/api/products
    method: POST
    contentType: application/json
    body: "{{ inputs.payload }}"

  - id: print_status
    type: io.kestra.core.tasks.debugs.Return
    description: Task printing the API request date # Task description
    format: hello on {{ outputs.send_data.headers.date | first }}

outputs:
  - id: final
    type: STRING
    description: This is a task output used as a final flow output
    value: "{{ outputs.print_status.value }}"

triggers:
  - id: daily
    type: io.kestra.core.models.triggers.types.Schedule
    description: Trigger the flow at 09:00am every day # Trigger description
    cron: "0 9 * * *"