Documentation / Build

Define a workflow

A workflow names the steps, their dependencies and the services that run them.

A small, complete definition

JSON

json
{
  "name": "hello-docs",
  "version": "1.0.0",
  "default_group": "python-standard",
  "phases": {
    "start": {
      "requires": [],
      "service": "hello",
      "scope": "root",
      "mode": "sync_lambda"
    },
    "finish": {
      "requires": [
        "start"
      ],
      "service": "hello",
      "scope": "fan_in_all",
      "terminal": true,
      "mode": "sync_lambda"
    }
  }
}

YAML

yaml
name: hello-docs
version: 1.0.0
default_group: python-standard
phases:
  start:
    requires: []
    service: hello
    scope: root
    mode: sync_lambda
  finish:
    requires:
      - start
    service: hello
    scope: fan_in_all
    terminal: true
    mode: sync_lambda
Download: JSON · YAML · manifest · Python handler

The important fields

FieldMeaning
serviceThe handler name to resolve.
requiresPhases that must finish first.
default_group / groupThe installed runtime group; override it per phase when needed.
scoperoot, per_shard or fan_in_all.
terminalMarks an expected completion phase.

Outcomes and rework

Handlers return completed or a declared named outcome. Route rework with rerun_phase and max_loops.

Rework exhaustion can advance the flow. Use an explicit review/failure path when publication must stay blocked.

Runtime groups & worker slices

Phases run in installed runtime groups. Worker memory sets handler slice limits, timeouts and proportional CPU (1,769 MiB = 1 vCPU; slices share container vCPUs without cgroup throttling).

FamilyWorkerHandler sliceTimeout
*-light512 MiB240–288 MiB30s
*-standard1,024–2,048 MiB608–1,280 MiB120s
*-heavy4,096 MiB2,816–3,072 MiB300s

Per-phase memory overrides are rejected; profile locally with rippflow test --profile. For workloads exceeding 3,072 MiB or requiring custom VPC/IAM, use synchronous Lambda (up to 10 GiB, 15m) or asynchronous jobs via callbacks.

Runtimes & resources guide → · Internal memory & slice contract (GitHub) ↗

Workflow YAML or rippflow.yaml?

A workflow YAML file defines phases. rippflow.yaml is an application project file pointing to workflows, handlers, artifacts and a catalog. They are different inputs.

Verified sources

Checked 2026-11-05.

Let's talk

Contact Rippflow

Tell us about your workflows, deployment or pricing.

We'll reply to your email.

Search docs

Search workflows, handlers and operations.