# Workflows

A workflow is a repeatable process made from connected steps. It can read files or records, transform information, call a model, write results, and connect those results to an app. Run it yourself, on a schedule, or in response to an event.

## Understand the parts

A **workflow** describes what should happen. A **step**, also called a job, performs one task. A step's **handler** determines its available settings and input and output types. **Dependencies** connect steps in the order their data is needed. A **run** is one execution of the saved workflow, with its own status, step results, and outputs.

The graph has no circular dependencies. Several steps can share one source, and a later step can combine multiple branches. Visual position makes the canvas easier to read; the connections determine execution.

## Build your first process

1. Open Workflows and choose to create a workflow.
2. Start with a template or a blank workflow.
3. Add a source and configure a small, representative input.
4. Add processing steps, checking the shape of the records after each change.
5. Add a destination when results need to be stored or sent elsewhere.
6. Validate the definition, inspect a dry run, save, and start a real run.
7. Open the run's outputs and confirm that they meet your intended result.

A source-to-filter-to-destination workflow is a useful starting point. Add branching, models, and reusable recipes after that path works.

## Choose the right level of reuse

Templates provide starting definitions. Duplicates create separate workflows. Reusable recipes share a versioned process while keeping local bindings separate. Subworkflows call another workflow as a step. These approaches have different upgrade and history behavior; choose deliberately before building a large library.

A successful run means its configured processing completed. It does not automatically mean a person approved its output. Review workflows can finish with proposals still awaiting human decisions.

Continue with [creating a workflow](/docs/workflows/create-workflow), [run modes](/docs/workflows/run-modes), and [exploring outputs](/docs/workflows/outputs).
