---
title: Forms
description: Build intake and questionnaire forms, send them to clients on tasks or pages, and review every response from one page.
icon: file-text
---

Forms collect structured information from your clients, such as onboarding questionnaires, project briefs and intake details. You build a form once in your workspace and reuse it on any project's tasks and portal pages.

:::note
Forms aren't versioned. A task uses your form, not a copy of it, so saved changes apply straight away to every task that uses the form, including tasks your clients haven't finished yet; tasks your clients have already submitted don't change. If you remove a question that already has answers, those answers stay in each response with the question as it was asked.
:::

## How the form builder works

The **Form builder** shows your form exactly as your client sees it in the portal, with the same layout, spacing and controls. Instead of filling it in, you edit it in place:

- Click the **title** or the **introduction** at the top to change them. The introduction is the first thing your client reads, so use it to say what the form is for and how long it takes. Both are saved with the form.
- Click a question to select it. You can then type over its wording, and add **help text** under it. Click empty space on the page, or press **Esc** twice (once to leave the text, once more to clear the selection), to deselect it.
- For **Multiple choice**, **Checkboxes** and **Dropdown** questions, type each option on the form. Press **Enter** to add the next option, press **Backspace** in an empty option to remove it, or click **×** next to an option. Renaming an option never breaks answers or rules that use it.
- The bar under a selected question shows its type, a **Required** switch, **Logic**, **Settings**, **Duplicate** and **Delete**.
- **Settings** holds the few options a question type has, such as placeholder text, how many columns the options use, the smallest and largest number allowed, or how many files a client can upload. It's also where you change a question's type.
- On a wide screen, **Settings** and **Logic** sit in a panel on the right. On smaller screens, and when you build a form from a task, the panel slides in when you click **Settings** or **Logic**. Press **Esc** or click outside it to close it.

### Question types

| Group           | Types                                                   |
| --------------- | ------------------------------------------------------- |
| Text            | Short answer, Long answer, Email, Phone, Link           |
| Choice          | Multiple choice, Checkboxes, Dropdown, Consent checkbox |
| Date and number | Date, Number                                            |
| Upload          | File upload                                             |
| Layout          | Heading, Text block, Repeating group                    |

A few types check what your client types before they can submit:

- **Email** needs an address like `name@example.com`.
- **Phone** accepts digits, spaces and `+ ( ) -`, between 6 and 15 digits.
- **Link** needs a web address. If your client leaves out `https://`, Upclient adds it.
- **Consent checkbox** shows a single box with the wording you write, such as “I agree to photos of the café being used in our portfolio”. When it's required, your client has to tick it to submit.

You can change a question to a similar type without losing its wording or options: any text type to another text type, and Multiple choice, Checkboxes and Dropdown to each other. If a rule on another question no longer fits the new type, it's removed and you can bring it back with **Undo**.

### Logic

Logic shows a question, heading or repeating group only when an earlier answer matches. Select the question, click **Logic**, then click **Show only when…** and choose:

1. The earlier question to check. Only questions above this one can be used.
2. How to compare, in plain words such as **is**, **is not**, **contains**, **is one of** or **has any answer**. For Checkboxes the comparison is **includes**, and for a Consent checkbox it's **is checked** or **is not checked**.
3. The answer. For choice questions you pick from the question's options.

Click **Add another rule** to combine rules, and choose whether **all** or **any** of them must match. A question with logic shows a green **Shown when …** label on the form so you can see the rules at a glance.

When a question is hidden, its answer isn't kept, and a hidden required question doesn't stop your client from submitting. Rules chain: a question that depends on a hidden question is hidden too.

If a rule's question or option is removed, the rule is flagged in red in the **Logic** panel and the form ignores it. Click **Remove rule** or pick another answer before you save.

### Repeating groups

A **Repeating group** collects lists, such as several team members or locations. Your client fills in the group's questions once, then adds each extra entry with the **Add another** button, which uses the group's name (for example **Add another team member**). Set the fewest and most entries in the group's **Settings**.

## The Forms page

Open **Forms** in the sidebar. The header has **Browse library** and **New form**, and the page has two tabs:

- **Forms** (the default tab) lists your forms in a table with how many responses they've had and when they were last updated. A form with no questions yet is marked **Empty**, and a retired one **Archived**; use **Filters** to show only those. Use the row menu to **Edit**, **Duplicate**, **Archive** or **Restore**, or **Delete** a form. Click a response count to see those responses.
- **Responses** lists every submission across all your forms, newest first, with the form, who submitted it, its project and task, and the date. See [How to review responses](#how-to-review-responses).

The Contracts page works the same way, so both lists have the same filters, row menu and empty state.

There's nothing to publish. A form is ready to use as soon as it has at least one question, and an **Empty** form can't be added to a task until you add one. Clients fill in forms from a task's **Form** action or from a [portal page](/docs/projects/pages) with a linked form. See [Tasks](/docs/projects/tasks).

### Archiving a form

Archive a form you no longer want to send, from its row menu or the **⋯** menu in the form builder. Archiving doesn't break anything already in progress:

- Tasks and portal pages that already use the form keep working. Your clients can still open it and submit their answers, and your team can still fill it in on a client's behalf.
- The form can't be added to new tasks or project templates. Saving a task or creating a project from a project template fails with a message naming the form if it's archived, empty or deleted.
- Choose **Restore** to make it available again. A form that's on tasks, pages, templates or workflows, or has responses, can't be deleted; archive it instead.

## How to create a form

1. Open **Forms** in the sidebar and click **New form** (or press **C**).
2. Enter a **Title** and an optional **Description**, then click **Create form**. The form opens in the **Form builder**.
3. Pick a type to add your first question, or click **Or start from a form in the library** to begin from a ready-made form.
4. Type the question. Its wording is selected and ready as soon as you add it.
5. Add more questions with **Add question** at the end of the form, or hover between two questions and click **+** to add one there. Drag a question by its handle to move it.
6. Click **Try as client** to fill in the form the way your client will, including your logic and repeating groups. It shows your unsaved changes, nothing you type there is kept, and **Back to editor** returns you to where you were.
7. Click **Save changes** or press **⌘S** (**Ctrl+S** on Windows and Linux). The header shows **Unsaved changes** until you save, and Upclient asks before you leave the page with unsaved changes. Once the form is on tasks, the header shows **Used on N tasks**: your saved changes reach those tasks straight away.

If something stops the form from saving, such as a question without wording or a choice question without options, Upclient tells you what to fix and selects the question.

If you delete a question by mistake, click **Undo** on the message that appears. Rules that used the question are removed with it and come back when you undo.

When a save would remove a question, or change a question's type, on a form that already has responses or is on tasks, Upclient asks you to confirm and explains what happens to the answers already given.

## How to build a form from a task

You don't have to leave a task to make the form it needs.

1. In the task, click **Add action** and choose **Form**.
2. Open **Select a form** and choose **Create new form**.
3. Give the form a title, add your questions and logic, and click **Try as client** to check it.
4. Click **Create form and attach**. Upclient saves the form to your **Forms** page and attaches it to the task.

## How to start from the library

The library holds ready-made forms, such as client intake forms, brand, website and consulting questionnaires, stakeholder lists, account access checklists, and document requests. Some questions only appear when an earlier answer calls for them, such as the Google Ads customer ID when the client says they use Google Ads. Starting from one is often quicker than building a form from scratch.

1. On the **Forms** page, click **Browse library**.
2. Pick a form from the list on the left. The preview shows the form as your client will see it, and the footer shows how many questions it has. Type in the search box to filter the list.
3. Click **Use this**. Upclient adds a ready-to-use copy to your forms and opens it in the **Form builder**.
4. Edit your copy to fit your business and save it.

Your copy is independent: changing it doesn't affect the library. You can also add a library form straight from a task's **Form** action; see [Tasks](/docs/projects/tasks).

## How to review responses

1. On the **Forms** page, open the **Responses** tab.
2. Use **Filters** to narrow the list to one form or one project, and the search box to find a response by form name or by the name or email of the person who submitted it.
3. Use **Display** to sort by submission date or form, or to hide columns.
4. Click a form name, or choose **View response** in the row menu, to read the answers and download uploaded files. Links, email addresses and phone numbers in answers can be clicked, and a Consent checkbox shows **Agreed** or **Not agreed**. Click the task, or choose **Open task**, to open the task the form was submitted on.

Submitted answers keep the questions as they were asked. When a client submits a form, Upclient keeps a copy of the form as it was at that moment with the response: its questions, help text, options, sections and logic. If you later reword a question, change its options or delete a question or a whole section, past responses on tasks, in the portal and on the **Responses** and **Submissions** tabs still show the original wording and the option the client picked. Forms that haven't been submitted yet always show your latest version. In a CSV export the columns follow your current form, and questions that are no longer on it come after them, named as they were last asked and marked **(removed)**.

To manage one form's submissions:

- The **Submissions** tab of a form lists every submission with who submitted it and when. Open one to see the answers and download any uploaded files.
- Click **Export submissions** to download all submissions as a CSV file. A Consent checkbox is exported as **Yes** or **No**.
- Select submissions to delete them.
