> ## Documentation Index
> Fetch the complete documentation index at: https://assembly.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Conditional forms

> Build forms that show or hide questions based on earlier answers, send them to clients or companies, and track every submission.

> [!NOTE]
>
> **Template.** You can change anything about this app by describing it in its build chat. See [App templates](https://assembly.com/docs/building-new-apps/app-templates.md).

Build reusable forms where questions appear only when an earlier answer calls for them, so each client sees just what's relevant to them. Assign a form to clients or companies, track who has filled it out, send reminders, and download any completed response as a PDF.

**Category:** Onboarding, Requests · **Used by:** your team and your clients · **Works with:** CRM

## Features

* Form templates with seven field types: **Short text**, **Long text**, **Dropdown**, **Checkbox**, **Date**, **File upload**, and **Signature**
* Conditional fields that show only when an earlier dropdown or checkbox has a specific answer
* Required fields, help text under each field, and field order you control
* A **Design** tab for the form's accent color, background, logo, banner, and spacing, with a live preview on desktop and mobile
* Forms assigned to one or more clients or companies at once, with an optional due date
* An overview with counts for **Pending**, **Submitted**, and **Overdue**, plus filters by form and by client or company
* Answers save automatically as clients go, so they can stop and come back later
* One-click reminders, and a PDF download of every submitted response
* Each response keeps the questions as they were when it was submitted, even if you edit the template later

## How to use it

### For your team

> [accordion] Create a form template
>
> 1. Open the app, go to the **Templates** tab, and click **New template**.
> 2. Enter a **Title**, and optionally a description of what the form is for.
> 3. Under **Fields**, click **Add field**. Pick a **Field type**, enter a **Label**, and optionally add help text. Turn on **Required** if the client must answer it.
> 4. For a **Dropdown**, add each choice under **Options**. A dropdown needs at least one option.
> 5. Click **Add field**, then repeat for the rest of the form. Use the arrows on each field to move it up or down.
> 6. Click **Save**. New templates start as **Draft**.

> [accordion] Show a field only when it applies
>
> 1. Add a **Dropdown** or **Checkbox** field first. Conditions can only depend on a dropdown or checkbox that comes earlier in the form.
> 2. Add or edit the field you want to show conditionally, and turn on **Show conditionally**.
> 3. Under **Show this field only if…**, choose the earlier field, then the answer that should reveal it. For a checkbox, choose **Yes (checked)** or **No (unchecked)**.
> 4. Click **Save changes** or **Add field**. The field shows a **Conditional** badge in the list.
>
> If a client changes their answer so a field is hidden again, whatever they typed in it is cleared. Hidden fields are never required.

> [accordion] Brand the form
>
> In the template, open the **Design** tab. Set an **Accent color** and **Background**, upload a **Logo** and a **Banner**, pick the banner **Height**, and adjust **Content padding**. The preview next to the controls shows the form as clients will see it, on desktop or mobile.

> [accordion] Publish a template
>
> Open a draft template and click **Publish**. A template needs at least one field before it can be published. Only published templates can be assigned to clients.

> [accordion] Assign a form
>
> 1. On the **Overview** tab, click **Assign form**. You can also choose **Assign** from a published template's actions on the **Templates** tab.
> 2. Under **Form template**, pick the form.
> 3. Under **Assign to (select one or more)**, choose clients or companies. Assigning a company sends one form for the whole company, and every client in it is notified.
> 4. If the form has a deadline, set **Due date (optional)**.
> 5. Click **Assign form**. Each recipient gets their own copy of the form.

> [accordion] Track submissions
>
> The **Overview** tab lists every assigned form with its status: **Pending**, **In progress**, **Submitted**, or **Overdue**. Click a count at the top to filter to it, and filter further by form or by client or company. A form moves to **In progress** when the client starts it, and to **Overdue** when its due date passes before it's submitted.

> [accordion] Send a reminder
>
> For any form that hasn't been submitted, click **Remind** in the list, or open it and click **Send reminder**. The client gets an email. If the form is past its due date, the email says it's overdue.

> [accordion] Review a response
>
> Click **View** on a submitted form to see every answer, who it was assigned to, who assigned it, and when it was submitted. Click **Download PDF** to save a formatted copy.

> [accordion] Cancel a request or delete a response
>
> Open the form and use the actions menu. Before the client submits, choose **Cancel request** to remove the form so the client no longer sees it. After they submit, choose **Delete response** to clear their answers. The form goes back to **Pending**, the client is notified that they need to fill it out again, and they can resubmit.

> [accordion] Duplicate or delete a template
>
> On the **Templates** tab, open a template's actions and choose **Duplicate** to make a draft copy, or **Delete** to remove it. Deleting a template also deletes every assignment and response made from it, and can't be undone.

> [accordion] See forms on a company profile
>
> In your CRM, open a company's profile and go to this app's tab to see the forms assigned to that company and its clients, and assign a new one.

### For your clients

> [accordion] Fill out a form
>
> Clients see their forms under **Your forms**, with anything still open under **Needs your attention** and finished forms under **Completed**. Each form shows how many questions it has and when it's due.
>
> 1. Click **Start form**, or **Continue** for a form they've already started.
> 2. Answer the questions. Answers save automatically, so they can click **Back** and return later.
> 3. Click **Submit**. If a required question is empty, the form points them to it.

> [accordion] Edit a submitted form
>
> Clients can open a completed form, click **Edit**, change their answers, and click **Resubmit**. They can also download a PDF of their response.

Clients only see forms assigned to them or to their company. A company form is shared, so when one client submits it, it's done for everyone in the company.

## Notifications

* **When you assign a form**, the client, or every client in the assigned company, gets an email and an in-product notification.
* **When a client submits a form**, the team member who assigned it gets an email and an in-product notification. They're notified again if the client edits and resubmits it.
* **When you delete a response**, the client is notified that they need to fill out the form again.
* **Reminders** are sent only when someone on your team clicks **Remind** or **Send reminder**. They go by email.

To change who's notified or what the messages say, see [Configuring notifications](https://assembly.com/docs/building-new-apps/configuring-notifications.md).

## Set it up

**1. Add the template**

Click **Add App** in the Dashboard sidebar. Find **Conditional forms** under **Start from a template**, or scroll down to **Browse all apps** and pick the **Onboarding** filter.

**2. Try it as your team**

The app lands in your sidebar as a draft. Create a template with a conditional field, publish it, and assign it to your test client.

**3. Check the client side**

In the builder's **Client view**, pick your test client, fill out the form, and check that the conditional field appears only for the right answer.

**4. Publish it**

Publish the app with visibility set to **Hidden from all people**, or on plans with custom visibility, limited to your test client. Sign in as your test client to try it in the real client experience, then make it visible to the clients who should use it. See [Launching apps](https://assembly.com/docs/building-new-apps/launching-apps.md).

## Change it with the app builder

This app is a template, so you can change anything about it by describing what you want.

**1. Open the build chat**

Open **Conditional forms** from your Dashboard sidebar, click its name at the top, then click **Switch to builder**.

**2. Describe the change**

Write what you want the way you'd ask a teammate. Say who it's for and where it shows up, such as your team's template editor or the client's form.

**3. Check the preview**

The app builder makes the change and updates the preview. Switch between **Team view** and **Client view** to check both sides, and pick a client to see it as them.

**4. Publish**

Click **Publish** when you're happy. Until you do, your clients keep seeing the last published version.

Changes people often make to this template:

* "Show the budget question only when the client picks Retainer"
* "Let a field depend on more than one earlier answer"
* "Let conditions use a short text answer, not just a dropdown or checkbox"
* "Send an automatic reminder three days before a form is due"
* "Add a Number field type with a minimum and maximum"
* "Lock a form after it's submitted so clients can't edit it"

See [Iterating on apps](https://assembly.com/docs/building-new-apps/iterating-on-apps.md) for how to describe changes well and how to go back to an earlier version.

To rename the app, or change who can see it and how it notifies people, click its name at the top and choose **Rename app** or **Manage app**.

## Related

> [card] [Client intake form](https://assembly.com/docs/apps/client-intake-form.md)
>
> Collect scope, goals, budget, and timeline from new clients

> [card] [Document collector](https://assembly.com/docs/apps/document-collector.md)
>
> Request documents with an upload checklist

[View this template on assembly.com](https://assembly.com/templates/conditional-forms)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.