Skip to main content
A workflow is the fundamental unit in V-Run. It is a Python program that you write, test, and publish to the cloud. Each workflow is a top-level resource on your account and can be triggered manually, via API, or on a schedule.

Anatomy of a workflow

Every workflow consists of four parts, each editable in the browser-based IDE:

Workflow lifecycle

A workflow moves through three statuses:
1

Draft

The workflow is being developed. You can edit code, run tests, and iterate freely. Draft workflows cannot be triggered externally — only the latest commit is reachable via API and schedule.
2

Published

The workflow has at least one commit and is live. API and scheduled triggers run the latest commit. You can keep editing in draft and commit again to publish a new version.
3

Archived

The workflow is retired. Schedules are paused, and external triggers are disabled. You can restore it to published at any time.

Config YAML

The config.yaml file controls how a workflow behaves. Here is a complete example:

Input types

Workflows accept typed inputs that render as a form in the editor and are passed as parameters to API triggers. Each input can be required or optional with a default value.

Compute limits

Control the resources allocated to each run:
  • timeout — maximum execution time in seconds

Execution

When a workflow runs, V-Run:
  1. Spins up a secure cloud sandbox
  2. Installs your requirements
  3. Injects environment variables and secrets
  4. Executes your main code with the provided inputs
  5. Captures stdout, stderr, outputs, and cost metrics
  6. Stores results in the run log
Every run is isolated — there is no shared state between executions.