Skip to content

Workflow definitions (2.0)

Alan B. Christie edited this page Aug 12, 2025 · 37 revisions

Workflows are defined using YAML. The schema for a workflow can be found in the engine's repository (workflow/workflow-schema.yaml). It can be used as a schema in an editor using a suitable URL. As an example, here's the URL for this version: -

  • https://raw.githubusercontent.com/InformaticsMatters/squonk2-data-manager-workflow-engine/refs/heads/2.0/workflow/workflow-schema.yaml

What follows is a discussion of workflows for version 2.0 of the workflow engine.

In general, a workflow definition requires a declaration of the following: -

  1. Information
  2. Variables
  3. Variable Mapping
  4. Steps

You can find a number of example workflows in the engine repository's test/workflow-definitions directory.

Information

All workflows need an information section, typically found at the start of the definition. The supported root-level properties are described in the following table: -

Property Type Description
kind String A constant value that needs to be set to DataManagerWorkflow that will not change in future engine versions
kind-version String An enum string value that needs to be set to 2025.2 for version 2.0
name String The workflow name. An RFC1035 label name compliant string. Essentially up to 64 lower-case letters, digits and hyphens (not ending with -)
description String An optional free-format text property that provides the user with a high-level description of the workflow

Here's an example: -

---
kind: DataManagerWorkflow
kind-version: "2025.2"
name: nop-fail
description: >-
  A workflow with one step that fails

Variables

Variable Mapping

Steps

Clone this wiki locally