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
| Kind | Purpose | Contains |
|---|---|---|
module | Single execution unit | steps array |
flow | Orchestrate modules | modules array |
fragment | Reusable step collection | steps array |
Workflow Inheritance
Workflows can extend parent workflows using theextends and override fields.
Extends Field
Override Schema
Override Modes
| Mode | Description |
|---|---|
replace | Completely replace parent items with child items |
prepend | Add child items before parent items |
append | Add child items after parent items (default) |
merge | Match by name: replace matching, append new, remove specified |
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:goto: _end to terminate the workflow.