# Core concepts

> The foundational concepts behind Flow in Maestro, including the canvas, data flow, control flow, triggers, and deployment.

This section explains the concepts you rely on when building any Flow. It covers the canvas you work on, how data and control move through a Flow, how to handle errors, and how to trigger, deploy, and observe runs.

Together, these topics provide a working mental model of how a Flow is structured and executed.

These are the core concepts:

* [The canvas](./canvas-overview.md)
* [Variables and data flow](./variables-and-data-flow.md)
* [Expression syntax](./expression-syntax.md)
* [Control flow](./control-flow.md)
* [Error handling](./flow-error-handling.md)
* [Triggers](./triggers.md)
* [Subflows](./subflows.md)
* [Output mocking](./output-mocking.md)
* [Evaluations](./evaluations.md)
* [Deploying a Flow](./deploying-a-flow.md)
* [Observing runs](./observing-runs.md)
