Skip to main content
Flows orchestrate multiple modules with dependencies and conditional execution.

Basic Flow

Module Reference Fields

name

Unique identifier for this module reference within the flow.

path

Path to the module YAML file (relative to workflow folder).

depends_on

List of module names that must complete before this module runs.

condition

JavaScript expression evaluated before module execution. Module is skipped if false.
Common conditions:

params

Override module parameters.

Inline Modules

Modules can define steps directly instead of referencing an external YAML file. This is useful for simple, self-contained tasks that don’t warrant a separate file.

Inline Module Fields

When steps is defined, the module is treated as inline — no path is needed. Inline modules support the same step types and features as external module files.

Inline Module with Runner

Dependency Graph

Flows create a directed acyclic graph (DAG):
Execution:

Complex Flow Example

Running Flows

Module Exclusion

Skip specific modules using exact match (-x) or substring match (-X):
Excluded modules are treated as completed (dependencies are satisfied).

Flow-Level vs Module-Level Params

Resolution order:
  1. Module reference params (highest priority)
  2. Flow-level params
  3. Module’s own default params (lowest priority)

Error Handling

By default, if a module fails:
  • Dependent modules are skipped
  • Other independent branches continue

Best Practices

  1. Group related modules
  2. Use conditions for optional modules
  3. Check file existence before processing
  4. Parameterize module behavior
  5. Add a final reporting module

Next Steps