# How a flow works?

A **flow** is a process divided into **three parts**.&#x20;

**The first part** is the *trigger*, where you can input different types of media (audio, text, image, video, etc.).&#x20;

**The second part** is the *components*, which can include one or more elements. The role of the components is to convert the input data and generate an output response.&#x20;

**The final part** is the *output*, which presents the result from the components. This output can be one of the various types of media, depending on the model used.

You can refer to the [**Flows**](https://docs.diaflow.io/flows) section for more information.

<figure><img src="https://3864624312-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRdo1pkMnofwxf3lpWftw%2Fuploads%2F9y31giNYlw0spen05ot6%2Fimage.png?alt=media&#x26;token=e47e3ee5-ba4c-4695-b159-d74dbca72eeb" alt=""><figcaption></figcaption></figure>
