---
title: "How to build a Flow template"
description: "Learn how to set up the welcome screen, roles and steps of a template, and how to manage your templates."
url: https://support.hubflo.com/fr/articles/15704488-how-to-build-a-flow-template
collection: "Flows"
updated: 2026-11-03
language: fr
alternates: [en]
---

# How to build a Flow template

Learn how to set up the welcome screen, roles and steps of a template, and how to manage your templates.

A **template** is the repeatable process blueprint you build once and reuse for every client who goes through the same workflow.

To create a new template, go to **Flows** in your navigation bar and click **New template**.

### Interactive Walkthrough

Prefer to see how it works? Follow our step-by-step interactive demo below to watch how a template is created, configured, and launched:

## Building a template

The template builder is divided into three core sections: **Welcome Screen**, **Roles**, and **Steps**.

![](https://files.gleap.io/pf/gattachments/6a4bcc4e8b024171cc9027af-v70X80e1rXFoFVQsbOlVTsuxZz8TnOWnUsXbqcczklCHgwwpWOC26JL7R4wcK72OuIbaN5jAJpj.png?v=1&k=a&s=api&e=1793836800&sig=qpBtY2R6ap9ctQFW_Fh-2x0I2qicMQf_lMJa2m3tRDI)

### Welcome screen

The Welcome Screen is the landing page your client sees when opening their unique link, right before Step 1 begins.

Give your template an internal name, then configure the client view:

-   **Welcome Title:** _(Default: "Welcome!")_ The primary header for the page.
    
-   **Description:** A brief message explaining what you need from the client and why.
    
-   **Button Label:** _(Default: "Get started")_ The button your client clicks to begin the sequence.
    

### Roles

A **role** represents a function in the process rather than a specific individual (e.g., _Client_, _Preparer_, or _Reviewer_). You will assign specific people to these roles when you launch an active Flow.

-   **External Roles:** Played by your clients or external contacts.
    
-   **Internal Roles:** Played by your team members.
    

**Managing roles:**

1.  Click **Roles** in the left panel, then select **New role**.
    
2.  Every step in your template must be assigned to a role.
    
3.  New templates automatically include one external role and one internal role to get you started.
    

> **Note:** If a role is not assigned to any step, it will display a "Not used in any step" flag. Unused roles are automatically omitted when you launch a Flow, so you won't need to assign anyone to them.

### Steps

Steps are the sequential actions your client or team must complete. A template can hold up to **200 steps**.

Click **New step**, then the **pencil icon** ✏ to set:

-   **Step Title:** The main header for the step.
    
-   **Description:** Quick instructions explaining what to do in this step.
    
-   **Button Label:** _(Default: "Continue")_ The button that completes or submits the step.
    

**Step content**

Select what action this step holds.

![Step-type selection screen with Ask for something and Share something sections offering form, file request, to-do, link, embed, note, and shared files. Visible: What is this step?, One content per step. Pick what this one is for., Ask for something, Form, Reuse one of your forms., New form.](https://staticfiles.gleap.io/ghelparticle/dlRkWCakTvYKvyVj1eqQuoygGXX3OVuemAJtYhWvHXVIhaT4u6gsli7R5mycEp4FUPF56e3U1l2.png)

**Step content types**

<table data-id="2f26afb9-7f26-4043-9fdd-71c2ad180c16" style="min-width: 75px;"><colgroup><col style="min-width: 25px;"><col style="min-width: 25px;"><col style="min-width: 25px;"></colgroup><tbody><tr><th colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="c86354a6-2a88-4caa-9e08-41d8c4cf288f"><strong>Category</strong></p></th><th colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="c87a3f33-20fc-4cfb-a69a-3af1a961772b"><strong>Type</strong></p></th><th colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="a74f0629-2fa9-4346-96d2-5aedd4b0a14b"><strong>Description</strong></p></th></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="1f8a40e8-7ef0-40ae-864b-83cd095b3e40"><span><strong>Ask for something</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="87903433-f910-426c-b9e5-58f67b4446b8"><span><strong>Form</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="73dab610-4be8-4e7d-b227-2a2a7e3e03f3"><span>Select an existing form or click <em>New form</em> to build one from scratch. <em>(Note: Forms can only be assigned to external roles).</em></span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="503dfc57-7449-4f0c-833d-7774b7a00852"></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="ea0ff342-5066-4cb4-956e-0132d59e813c"><span><strong>File Request</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="5d09a241-aaab-4d08-83e9-588a100abeb6"><span>Request specific documents for the client to upload.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="a8cd5b18-b2d0-4a58-95f7-774ee0541c93"></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="dcdc10c3-2b79-4829-be2b-ab3ffd0dba33"><span><strong>To-do</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="efd104da-1bb0-4806-a4c8-19c1c8408fe9"><span>Create a checklist. Every item must be checked off to complete the step.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="d7f04bbf-ced0-4cd3-bfaa-6c0d039778e8"><span><strong>Share something</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="ddd53f60-08e8-4588-ab3a-59fb2abf92dc"><span><strong>Link / Embed / Note</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="c2b1f7b4-c777-417b-bb39-2b37dbe1921c"><span>Provide a web link, embedded media, or written text to view or read.</span></p></td></tr><tr><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="fbb6ea82-c70b-41e5-96be-aa757bce7af0"></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="ed3a1641-5015-4b0d-b431-d5fae910b34f"><span><strong>Shared Files</strong></span></p></td><td colspan="1" rowspan="1" style="border: 1px solid rgb(196, 199, 197); padding: 8px 12px; font-family: &quot;Google Sans Text&quot;, sans-serif !important; line-height: 1.15 !important; margin-top: 0px !important; margin-left: 0px !important; margin-right: 0px !important;"><p data-id="842c78f7-8c47-4564-af6f-0f03d433e971"><span>Provide documents for your client to download.</span></p></td></tr></tbody></table>

**Organizing & managing steps**

-   **Change Content:** Click **Change step type** 🔄 on the content card to clear the current content and choose a new type.
    
-   **Reorder:** Click and drag step cards in the left panel to change their sequence.
    
-   **Duplicate or Delete:** Click the **three dots (...)** menu on any step card to duplicate or delete it.
    
    ![The Steps section shows step 1, “Untitled step,” marked “External,” with its menu open and options to edit, duplicate, or delete. Visible: STEPS, 1, Untitled step, External, Edit, Duplicate.](https://staticfiles.gleap.io/ghelparticle/ZJ6g5sf6pnQmaUYw0WJESdQjgSZ4X5VeFBFZVW3TtLkNsb7KdpVWZe0scs3wMvCJigkCIolTlPr.png)
    

## Assignment, approvals & deadlines

Open the **Assignment tab** on any step to configure how it behaves:

1.  **Who acts on this step:** Assign the step to one of your defined roles.
    
2.  **Completion & Approval Rules:**
    
    -   **Client completes:** The step finishes as soon as the client submits it.
        
    -   **Client completes & team approves:** Select this option if your team needs to review and verify uploaded documents or form answers before the Flow advances to the next step.
        
    -   **Internal Steps:** For steps assigned to an internal role, the step is either completed by the assigned team member or manually approved by a team member.
        
3.  **Deadlines:** Set a due date based on a number of days after the step opens. The assigned user will see the due date on their screen, receive an automated reminder on the due date, and receive a follow-up reminder 3 days later if the step remains open.
    

## Managing templates

### Launching a Flow from the builder

Click **New Flow** at the top right of the builder to start a live Flow immediately from your template.

> **Note:** The New Flow button will remain greyed out until all steps have valid content assigned to them

### Template actions

In your **Templates**, click the **three dots (...)** menu next to any template to:

-   **Edit:** Modify the template structure.
    
-   **Duplicate:** Make a copy of an existing template blueprint.
    
-   **Archive:** Hide unused templates. Archived templates cannot be used to start new Flows, but you can restore them anytime from the **Archived templates** tab.
    

> **Info:** Editing a template will never alter active Flows currently in progress, allowing you to update templates safely without disrupting active clients.

* * *

💬 **Still have questions?** Start a chat with us or email [hello@hubflo.com](mailto:hello@hubflo.com). We'll be happy to help.
