> For the complete documentation index, see [llms.txt](https://docs.manyfast.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.manyfast.io/en/plan/user-flow.md).

# User Flow

The User Flow document visualizes the paths and flows users move through inside your service. It designs the order in which the Features defined in the Functional Specification actually connect, and which actions users take to move to the next screen.

### 1. Understanding the Structure

A User Flow is made up of **Nodes**, **Edges**, and **Sections**. You can check the meaning of each node type in the legend at the top of the screen.

* **Start**: The entry point where the flow begins.
* **Section top-level page**: The representative screen for each section.
* **Page**: An individual screen that users actually navigate.
* **Action**: A user interaction such as a button click or input.
* **User flow movement (edges)**: Movement paths between nodes, shown with arrows.

### 2. Adding a User Flow

Within a single Project, you can create and manage multiple versions of User Flows. The right panel shows the version list, where you can switch versions and view each version's name and creation time.

Versions are grouped into **version groups**. Starting from the first flow you created, every regenerated version is classified into the same group.

* **Rename or delete a version**: Click the more (⋮) menu on the right of the list to rename or delete a version individually.
* **New User Flow**: Use this when you want to create a flow with a different purpose. A new version group is created when you do this. e.g. Generate "1. New flow" based on the Functional Specification → separately generate "2. Strengthen payment" focused on the payment flow this time
* **Create a revision**: Use this to improve a particular section based on the currently selected version, or to reflect changes in the Functional Specification. The regenerated flow is added to the same group as the original. e.g. From "1. New flow", regenerate "1-1. Strengthen onboarding" with stronger onboarding → from there, regenerate "1-2. Onboarding–add guest mode" with guest mode added
* Customized generation: When you click the generate button, a generation dialog appears. Enter the flow or direction you want to emphasize (e.g. emphasize onboarding, focus on the payment flow) as a prompt, and the AI will design a User Flow that reflects your guidance.

{% hint style="info" %}
To generate a User Flow, the PRD's 'Overview' must be filled in first, and at least one 'Feature' must be defined in the Functional Specification.
{% endhint %}

### 3. Editing the User Flow

If the generated User Flow needs changes, you can edit it directly to capture your planning intent precisely. For simple edits, use direct editing; for larger structural changes, we recommend using 'Create a revision'.

#### Editing nodes

You can add, edit, and connect nodes on the canvas. All edits are **auto-saved** instantly, and Undo / Redo are supported. When multiple people are connected at once, nodes being edited by other users show a border indicator.

* **Edit node name**: You can edit it within 1 to 20 characters. Edit using the button at the top right of the node or by double-clicking the node.
* **Add nodes**: Choose from `Section top-level page`, `Page`, or `Action` and add a new node either as a child of an existing node or at the same level.
  * You can also insert a new node between existing edges.
* **Change node type**: You can change an existing node's type to another type.
  * Note: The 'start node' and the 'child node directly after the start node' cannot have their type changed.
* **Delete nodes**: When you delete a particular node, every child node and edge that is connected only to that node is deleted along with it.
  * However, if a child node is connected to other nodes besides the one being deleted, the child node is not deleted.

#### Editing edges

Click the edge you want to edit, and use the toolbar that appears to edit it.

* **Manual connection**: From a node's source handle (where the edge leaves), drag to the target handle (where the edge arrives) of another node to connect them manually. Edges are automatically aligned on connection.
* **Delete an edge**: If a target handle has only one parent node, that edge cannot be disconnected. It can only be deleted when there are two or more parent nodes.

{% hint style="info" %}
Nodes and edges are auto-arranged by the system, so users cannot change their positions directly.
{% endhint %}

#### Editing sections

Sections are created and moved based on the **section top-level page nodes**. Hover over a section name to see the toolbar for editing.

* **Add a section**: A section is added automatically when a section top-level page node is added, or when an existing node is promoted to become a section top-level page node.
* **Rename a section**: Click the edit button or double-click the name to edit it.
* **Reorder sections**: Sections other than the first can be reordered with the arrow buttons.
* **Delete a section**: Removing the section top-level page node deletes the section along with it.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.manyfast.io/en/plan/user-flow.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
