> ## 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.

# Document collector

> Request the files you need from clients, with due dates and priorities, and review each upload before you accept it.

> [!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).

Ask clients for exactly the documents you need and collect them in your client experience instead of by email. Each request has its own due date and status. Clients upload against the request, and your team accepts the file or asks for revisions.

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

## Features

* Document requests sent to a client or a whole company, with several documents in one go
* Statuses for every request: **Requested**, **Submitted**, **Needs revisions**, **Accepted**, and **Overdue**
* A dashboard with counts for **Total**, **Overdue**, **Awaiting review**, **Accepted**, **Needs revisions**, and **Requested**
* Search, filters by status, priority, client, owner, and due date, and a **Table** or **Groups** view
* A priority, an owner on your team, and internal notes on each request, none of which clients see
* Every version a client uploads is kept on the request
* A page per client showing how much of their document collection is complete
* Notifications when you request a document, when a client uploads it, when you ask for revisions, and when it's overdue
* An archive for finished requests

## How to use it

### For your team

> [accordion] Request documents
>
> 1. Open the app and click **New request**.
> 2. Under **Requested from**, choose a client or a company. Choosing a company lets any client in it upload on the company's behalf.
> 3. Under **Documents requested**, enter a **Document name** and optionally a **Description** of what you need. Click **Add another document** to request more than one at once. Each document becomes its own request.
> 4. Optionally set a **Priority**, an **Owner**, a **Due date**, and **Notes**. Notes are internal.
> 5. Leave **Notify the client** on to send an email and in-product notification, or turn it off to add the request quietly.
> 6. Click **Create request**.

> [accordion] Track what's outstanding
>
> The counts at the top of the dashboard show how many requests are in each status. Use **Search requests…** and **Filters** to narrow by status, priority, client, owner, or due date. Switch to **Table** to sort by document, client, owner, priority, due date, or status, or to **Groups** to see requests grouped by client or company, with how many of each group's documents have been collected. A request is **Overdue** when its due date passes and nothing has been uploaded yet.

> [accordion] Review an upload
>
> When a client uploads a file, the request moves to **Submitted** and you're notified.
>
> 1. Open the request to preview or download the file and read the client's note.
> 2. Click **Accept** to approve it, or **Needs revisions** to send it back.
> 3. If you ask for revisions, write the **Revision notes** and click **Request revisions**. Revision notes are required. The client is notified and the request moves to **Needs revisions** until they upload a new version.
>
> Every version the client has uploaded is listed on the request, with the current one first.

> [accordion] Edit a request
>
> Open the request and click **Edit** to change the **Document name**, **Description**, **Priority**, **Due date**, or **Internal notes**.

> [accordion] See one client's documents
>
> In the **Groups** view, click a client's name to open their page. It shows their **Document collection** progress as a percentage, their **Active** requests, and the ones that are **Accepted**. Click **New request** there to request a document from that client.

> [accordion] Archive or delete requests
>
> From a request's actions, click **Archive** to hide it from the dashboard and from the client. Archived requests are under **Archived**, where you can open one to **Unarchive** it. Only archived requests can be deleted.

### For your clients

> [accordion] See what's requested
>
> Clients see their requests grouped under **Overdue**, **Needs revisions**, **Requested**, **Submitted**, and **Accepted**, with each document's description and due date. When you ask for changes, your **Revision notes** appear on the request.

> [accordion] Upload a document
>
> 1. On the request, click **Upload file** and choose the file.
> 2. Optionally add a note.
> 3. Click **Submit file**.
>
> Until you accept it, the client can click **Replace file** to upload a newer version. Once a document is accepted, the client sees that no further action is needed.

Clients only see requests sent to them, or to their company. They never see a request's priority, owner, or internal notes, or anything you've archived.

## Notifications

* **When you create a request** with **Notify the client** on, the client, or every client in the company, gets an email and an in-product notification. Requesting several documents at once sends one combined notification.
* **When a client uploads or replaces a file**, your team members who can see that client are notified, with the file name, the priority, and the client's note.
* **When you ask for revisions**, the client is notified with your revision notes.
* **When a request becomes overdue** with nothing uploaded, the client gets one email and in-product notification, and your team gets an in-product notification.

Accepting a document doesn't notify the client. 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 **Document collector** 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 test request and send it to your test client.

**3. Check the client side**

In the builder's **Client view**, pick your test client and upload a file against the request.

**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 **Document collector** 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 dashboard or the client's list of requests.

**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:

* "Send clients a reminder two days before a document is due"
* "Add a Category field, such as Tax, Identity, or Banking, and filter the dashboard by it"
* "Let clients upload more than one file for a single request"
* "Notify the client when we accept their document"
* "Keep reminding the client every three days while a request is overdue"
* "Let us save a set of documents as a checklist and request them all from a new client in one click"

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, and background from new clients

> [card] [Client onboarding](https://assembly.com/docs/apps/client-onboarding.md)
>
> Walk new clients through a step-by-step onboarding flow

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


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