> For the complete documentation index, see [llms.txt](https://docs.pipekit.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pipekit.io/concepts/workflow-vs-pipe-vs-run.md).

# Workflow vs Pipe vs Run

These three terms are easy to confuse because they overlap.

| Term       | Owner   | What it is                                                                                          |
| ---------- | ------- | --------------------------------------------------------------------------------------------------- |
| `Workflow` | Argo    | The Kubernetes custom resource. The YAML you write; the spec Argo executes.                         |
| `Pipe`     | Pipekit | A logical container for one `Workflow` definition and the history of every run of it.               |
| `Run`      | Pipekit | A single execution of the `Workflow` inside a Pipe. Each submission produces a new Run in the Pipe. |

The hierarchy is one-to-many in one direction. One `Workflow` definition → one Pipe → many Runs. A Pipe is created the first time Pipekit sees a `Workflow` with a given `generateName` (or `name`); subsequent submissions of the same workflow create new Runs inside the same Pipe rather than new Pipes.

Pipekit does not replace or hide Argo's `Workflow`. The Pipe and Run are Pipekit-side metadata; the underlying Kubernetes object running in your cluster is still an Argo `Workflow`, managed by the Argo Workflow Controller.

For the day-to-day surfaces, see [Pipes](/using-pipekit/pipes.md) and [Runs](/using-pipekit/runs.md).
