> For the complete documentation index, see [llms.txt](https://docs.aitheon.com/creators-studio/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.aitheon.com/creators-studio/main-elements/flow-components.md).

# Flow

Flow is a form of an app\`s logic representation. A flow begins with some message that incomes (or it may be produced inside the flow), then some logic that processes it and gives some result message further (or shows it in user interface charts, for example). So a flow is a set of connected components.

### Flow elements

A flow consists of components and connections between them.&#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0RkbRbZTjm90D49Ka%2F-MM0S7FCc69GUFZiuGj4%2Fflow.png?alt=media\&token=22dbe65a-746c-475f-a2f0-747c6d61d804)

### Flow Tab

Tabs in the Application Builder editor called **Flow** as well. Each tab may carry a flow (set of connected components) or, maybe, several flows. But for a clearer view, usually, it\`s better to divide your flows by tabs (which are called **Flows** for that reason). &#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0RkbRbZTjm90D49Ka%2F-MM0St9Q6EZm9SSLdfqR%2Fflow%20tabs.png?alt=media\&token=46dbc3dc-a74b-45a2-a7e0-6f0e19445520)

Double-click a **Flow** tab to add its name and description.

### Clear flow appearance

You can make your flow more readable for other users or yourself if you organize components vertically, horizontally, by groups:  &#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0TBJPmXGsJCOXVWFO%2F-MM0W6b0ul088dYBEmHw%2Fclear.png?alt=media\&token=2a4c4598-9b0d-41a6-a038-ae2a8cc55913)

You may add a **comment** component onto the Workplace to make a piece of flow clearer. Double-click the **comment** component to add a name and description. &#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0ZTH7L_JtnOlCNdWu%2F-MM0ZXPiN2J47DnIwbAv%2Fcomment.png?alt=media\&token=b45bde47-3e64-40e7-8dc7-b6ad79ced6c3)

Divide flows by tabs or divide one flow - you may connect flows between tabs with the **link in** and **link out** components from the palette.

You may compose some logic in one tab and wire it through these components to multiple other tabs. &#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0ZTH7L_JtnOlCNdWu%2F-MM0aIn_sPUMYxfhBLde%2Flink.png?alt=media\&token=5ecb3880-c222-4092-99ed-8321e104ea7c)

See [**link in and link out**](/creators-studio/standard-components.md#link-in-and-link-out) Standard components.

### Subflow

The clearer way to make a reusable part of logic is to create a subflow. You do the same: compose a piece of logic in a separate tab, but connect it not with **links in** and **out**, but simply creating a new "component" of it.&#x20;

![](https://3983587133-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LvAp4NFmv7Cj5kJvKjw%2F-MM0abfrqR4vyb4xxpyw%2F-MM0cT0dy22wHsQMSzMW%2Fsubfl.png?alt=media\&token=f0990f3c-ed2d-4626-9110-74dc013f5e68)

Open Menu **(1)**, choose **Create Subflow** in **Subflows** **(2)**. A new **Subflow** tab will appear **(3)**. Here you can compose that piece of logic that you want to use as a subflow.

It will be available as a component on the palette - in the **subflows** category **(4)**.

Double-click a **Subflow** tab **(3)** to change its name and description.

You can add inputs and outputs for your subflow at the top of its tab.

Another way to create a subflow: choose a piece of logic and click **Selection to Subflow** in the **Subflows** menu **(2)**. A new subflow will replace this part of the flow.
