--- title: Build flows slug: /concepts-flows --- import Icon from "@site/src/components/icon"; A _flow_ is a functional representation of an application workflow. Flows receive input, process it, and produce output. Flows consist of _components_ that represent individual steps in your application's workflow. ![Basic Prompting flow in the workspace](/img/workspace-basic-prompting.png) Langflow flows are fully serializable and can be saved and loaded from the file system where Langflow is installed. :::tip To try building and running a flow in a few minutes, see the [Langflow quickstart](/get-started-quickstart). ::: ## Create a flow From the [**Projects** page](#projects), there are four ways to create a flow: * **Create a blank flow**: Select a project, click **New Flow**, and then click **Blank Flow**. * **Create a flow from a template**: Select a project, click **New Flow**, and then click the template that you want to use.
What are templates? Templates are pre-built flows that you can use as a starting point for your own flow. They range from basic flows with a few components to complex flows with many components and sub-flows. For example, the **Basic Prompting** template demonstrates a small flow that passes both chat input and pre-defined instructions (as a prompt) to an LLM. In contrast, the **Vector Store RAG** template consists of two sub-flows that demonstrate how to create a Retrieval Augmented Generation (RAG) chatbot. One sub-flow populates the vector store with contextually relevant data and embeddings, and the other sub-flow queries the vector store for similar data to answer user questions. You can also [contribute templates](/contributing-templates) to the Langflow codebase.
* **Duplicate an existing flow**: Locate the flow you want to copy, click