# Concepts

> Workflow concepts: how nodes, data, and control flow make up a workflow, and how failures, tests, and runs work, before you build your own.

Core concepts are the ideas behind every workflow on the Flow canvas. A workflow is built from nodes, each node produces output that later nodes can use, and a trigger starts every run. The pages in this section describe each idea in turn.

## Build a workflow

- [The canvas](flow-canvas.md): the visual workspace for building and debugging a workflow.
- [Variables and data flow](variables-and-data-flow.md): how nodes pass data to later nodes.
- [Expression syntax](expression-syntax.md): the JavaScript expressions that read variables and compute values.
- [Control flow](control-flow.md): the nodes that branch, repeat, and rejoin the paths of a workflow.
- [Subflows](subflows.md): groups of nodes that run as one step, with their own variables.

## Handle failures and test

- [Error handling](error-handling.md): what happens when a node fails, and how to route the failure to an error path.
- [Output mocking](output-mocking.md): fixed node outputs for test runs, so later steps can be tested without the real action.
- [Evaluations](evaluations.md): automated quality checks that score the output or trajectory of a workflow or one of its components.

## Run a workflow

- [Deploy a workflow](deploy-a-workflow.md): how a workflow becomes available to run in production.
- [Monitor runs](monitor-runs.md): run history and the trace of each run.

## Next steps

- [Your first workflow](your-first-workflow.md): see the concepts at work in one workflow.
- [Node reference](node-reference.md): every node and how to configure it.
- [Community](community.md): ask questions and share workflows with other builders on the UiPath Forum.
