Skip to main content
Manages a Kosli flow. A flow represents a business or software process that requires change tracking. It lets you monitor changes across all steps within a process or focus on a subset of critical steps.
The template attribute accepts a YAML string defining the flow template structure. You can load it from a file using the file() function: template = file("template.yml"). Minor YAML formatting differences between what you provide and what the API returns may result in a no-op change being shown in plans.
Changing name renames the flow in place, the same as kosli rename flow. The flow keeps its identity and history. The old name keeps resolving to the renamed flow until another flow is created with, or renamed to, that name. Terraform has no ordering between two flows that are both renamed in one plan. If one flow takes the name another is giving up (a to b together with b to c, or a swap), apply the renames in separate steps.

Example usage

Import

Flows can be imported using their name:

Schema

Required

  • name (String) Name of the flow. Must be unique within the organization. Changing this renames the flow in place, keeping its trails and history. The old name keeps resolving to the renamed flow until another flow is created with, or renamed to, that name.

Optional

  • description (String) Description of the flow. Explains the purpose and context of this pipeline.
  • tags (Map of String) Key-value pairs to tag the flow. Tags are applied via a diff — only changed tags are sent to the API. An empty map (tags = {}) removes all tags.
  • template (String) YAML template defining the flow structure (trails, artifacts, attestations). Can be provided as an inline heredoc or loaded from a file using file(). If omitted, the flow is created without a template.
Last modified on November 6, 2026