Skip to main content

Workflow syntax

This section is the reference for H2O Workflows YAML syntax. Each workflow you define is a YAML file that describes jobs, steps, inputs, triggers, and other configuration that the H2O Workflows platform compiles and executes. Each sub-page documents a specific aspect of the workflow definition language. Composite actions - reusable, published groups of steps invoked via uses - have their own section: see Actions.

What you will find

Workflow

Top-level workflow structure and fields.

Jobs

Independent units of work, runners, and dependencies.

Steps

Sequential operations within a job (run, upload, download, uses), including step outputs.

Inputs

Typed parameters for workflows (string, boolean, integer).

Triggers

Schedule workflows with cron expressions.

Expressions

${{ .context.field }} syntax for dynamic values.

Concurrency

Prevent concurrent executions of the same workflow.

Matrix Jobs

Run jobs across multiple configurations.

Reusable Workflows

Call workflows from other workflows.

Storage

Upload and download files to H2O Drive.

Environment Variables

Static key-value configuration.

Secrets

Reference secrets from H2O Secure Store.

Failure Handling

Control behavior when jobs or steps fail.

Timeouts

Maximum execution time for jobs and steps.

Schema Reference

Complete CUE schema definitions.

Quick start

id: data-pipeline
name: Data Pipeline

jobs:
process:
name: Process Data
steps:
- name: Clone repository
run: git clone https://github.com/org/data-processing.git

- name: Download dataset
download:
source: drive://bucket/datasets/raw-data.csv
path: ./data.csv

- name: Process data
run: python data-processing/process.py --input data.csv --output results.json

- name: Upload results
upload:
path: results.json
destination: drive://bucket/processed/results.json

Feedback