> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.ovalbee.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ovalbee.com/_mcp/server.

# Flows

A **flow** is the main thing you build in OvalBee. It's a canvas holding nodes, the edges between them, and a few drawing aids: groups and sticky notes. Flows live in a workspace, and the **Home** page lists them.

![A flow canvas with labeling, expert and review stages, the datasets between them, and a dashed edge from rejected assets back to the labeling pool](/_fern-files/_img/1dca8a2708dee3a8758c4aa77963815d5ba8aee41c388f9c36a331ecdfd05023.webp)

## A process, not a pipeline run

Most workflow tools treat a workflow as a program: you trigger it, it executes from the first step to the last, and you get one "execution" to inspect. An OvalBee flow works differently, because computer vision work doesn't happen in one pass.

|                    | Typical pipeline tool            | OvalBee flow                                                             |
| ------------------ | -------------------------------- | ------------------------------------------------------------------------ |
| What runs          | The whole workflow, start to end | One node at a time                                                       |
| How work continues | Down the graph, then it's over   | Down the flow edges after each success, for as long as the flow exists   |
| Loops              | Avoided or unrolled              | Normal — rework, retraining and re-evaluation are loops                  |
| State              | Per execution                    | Per node: its latest outputs, run history and widgets stay on the canvas |
| People             | Outside the workflow             | Inside it, as labeling and review stages                                 |

In practice this means:

* **There is no "run the whole flow" button.** You run a node, and when it succeeds OvalBee runs the nodes its flow edges point to, and so on down the chain. To start a chain from one place, put a [Run flow](/node-library/nodes/flow-control-run-flow) node at the top of it.
* **Nodes also run on their own.** A node can have a schedule, and labeling stages refresh their queues every few minutes while people work.
* **A flow is never "finished".** New images keep arriving in the pool, the queue keeps moving, and a training node picks up the latest dataset version the next time it runs.

[Runs and automation](/concepts/runs) covers exactly when nodes run.

## What's on the canvas

#### Nodes

The steps that do the work. Each node comes from a template in the [Node Library](/node-library/nodes/overview) and shows its status, its main result and a few badges. See [Nodes](/concepts/nodes).

#### Edges

Arrows between nodes. A **flow edge** means "run the target after the source succeeds". A **visual edge** is dashed and never triggers anything — use it to show a loop or a relationship on the drawing. Edges can carry a text label. See [Edges](/concepts/edges).

#### Groups

A frame around related nodes, with a name, a description and a color. Groups are for reading the flow: they don't change how anything runs. Dragging the group by its title moves every node inside it. A node belongs to at most one group.

#### Sticky notes

Free-form notes with headings, lists, links, images and embedded YouTube videos. Use them to explain the flow to the next person who opens it. Notes never run.

## The life of a flow

**Create it** from a template, from scratch, from an exported file, or by asking an agent. All four give you the same kind of flow. See [Build flows](/build/editor).

**Set it up.** Some nodes need a decision before the flow is useful — which dataset to work on, which people to assign. A template can bring a step-by-step setup that asks for exactly these. You can postpone it with **Later**, and until you press **Start** a **Finish setup** bar stays on the canvas. A node still missing a required input shows a **Needs configuration** badge.

**Run it.** Run nodes from the canvas, let schedules and upstream nodes start them, and watch progress on the canvas or on the **Activity** page.

**Pause it** when you need to. Pausing a flow stops its scheduled runs and nothing else: you can still run any node by hand. Paused flows are marked on the Home page, and skipped schedules leave no history behind.

**Version it.** Click **Versions** → **Save version** in the toolbar to keep a snapshot of the nodes, their inputs, the wiring and the layout. OvalBee also saves one automatically before an AI agent edits the flow and before you restore an older version. From **Version history** you can view any version read-only, duplicate it into a new flow, or restore it. Restoring is blocked while nodes are running. Version history is part of the Pro plan on OvalBee Cloud and the Business plan when self-hosted; on other plans the **Versions** button is shown locked and no versions are saved, the automatic ones included.

**Share it** with specific people in the workspace, or export it to a file. See [Templates and sharing](/build/templates).

**Delete it** when you're done. The flow goes to the trash on the Home page together with the data only it used, and you can restore both until the trash is emptied. See [When data is deleted](/concepts/datasets#when-data-is-deleted).

## Related pages

* [Nodes](/concepts/nodes) — what a single step is made of.
* [Edges](/concepts/edges) and [References](/concepts/references) — how nodes are ordered and how data gets from one to another.
* [Runs and automation](/concepts/runs) — manual runs, schedules and what happens downstream.
* [Flow editor](/build/editor) — working with the canvas.