Skip to main content

Workflow Schema Reference

This document provides a complete reference for the Osmedeus workflow YAML schema.

Top-Level Fields

All workflows share these common top-level fields:

Workflow Kinds

Workflow Inheritance

Workflows can extend parent workflows using the extends and override fields.

Extends Field

Override Schema

Override Modes

Inheritance Example

Module-Specific Fields

Modules contain steps that execute sequentially or based on dependencies.

Flow-Specific Fields

Flows orchestrate multiple modules with dependencies.

Fragment-Specific Fields

Fragments are reusable step collections that can be included in modules.

Step Types

Step Type: bash

Execute shell commands locally.

Step Type: function

Execute utility functions via the Goja JavaScript runtime.

Step Type: parallel-steps

Execute multiple steps concurrently.

Step Type: foreach

Iterate over input lines with parallel processing.

Step Type: remote-bash

Execute commands in Docker containers or via SSH.

Step Type: http

Make HTTP requests and capture responses.

Step Type: llm

Interact with LLM APIs (OpenAI-compatible).

Step Type: fragment-step

Execute a fragment inline with optional overrides.

Common Step Fields

These fields are available on all step types:

Decision Routing

Steps support conditional branching using switch/case syntax:
Use goto: _end to terminate the workflow.

Parameters

Parameters define workflow inputs with validation:

Triggers

Triggers define automated execution:

Complete Examples

Module Example

Flow Example

Fragment Example

Module Using Fragment