Building Forms
Documents block
Files usually travel one way — from the respondent to you. The Documents block sends them the other way: put the contract draft, the price list or the how-to right in the form, where the respondent reads it before answering.
What it is
A Documents block is a titled download list. You upload one or more files once, give each a display name, and every respondent sees the same list — on a public link and on a request alike. Each row opens the file in a new tab and has a download button. The block asks nothing of the respondent: it collects no answer of its own.
| Documents block | File upload question | |
|---|---|---|
| Direction | You hand files to the respondent | The respondent hands files to you |
| Who adds the files | You, in the editor (or an automation, per request) | The respondent, while filling the form |
| Answer | None — the submission records which documents were shown | The uploaded files |
| Accepted types | PDF and images | Whatever you configure |
Add one
- 1
Insert the block
Type / in the editor and pick Documents. Give it a title such as "Please read before you answer".
- 2
Add your files
Click Add document or drop files onto the block. PDF and images, up to 25 MB each, up to 20 documents and 100 MB in one block. They count against your workspace storage like any upload.
- 3
Name each row
Click a display name to rename it — "Lease contract draft" reads better than "lease_v3_final.pdf". The file itself is untouched.
- 4
Publish
Documents are part of the published form. A request created against that version keeps showing exactly those files, even if you replace them later.
Ask for confirmation
The block itself has no checkbox — you decide what “read” should mean. Add a required Switch question right below it, titled “I have read the lease contract”, and the form cannot be submitted until it is on. Prefer several statements? Use a Checkbox with one option per document. Need a signature? Add a Signature question. All of them work with conditional logic, translations and exports as usual.
Why a separate question?
A Switch, a Checkbox and a Signature already do everything a built-in checkbox could, and they can be required, translated, referenced in logic and read back through the API. The Documents block stays a list; the proof of reading is whatever question you put under it.
In submissions and exports
Every completed submission records, under the block’s field key, the documents that respondent was shown — its name and whether it came from the form or from a request. It appears in the submission view, in exports, in the PDF and in callbacks:
"documents": [
{ "name": "Price list 2026", "source": "form" },
{ "name": "Your lease contract", "source": "request" }
],
"contract_read": trueDifferent files for each recipient
On a request, an automation can add documents for that one recipient into the same block. They appear below your authored files, marked “For you”; the authored files stay exactly as published for everyone. See Creating requests → Documents.
Limits
| Limit | |
|---|---|
| File types | PDF, PNG, JPEG, WebP, GIF, SVG, AVIF, BMP, TIFF — checked against the file itself, not its name |
| Per document | 25 MB |
| Per block (files you upload) | 100 MB |
| Per request (added by an automation) | 100 MB |
| Documents shown in one block | 20, authored and per-request together |
| Storage | Counts against the workspace owner's plan, like every upload |
Office documents
Word, Excel and PowerPoint files are not accepted yet — export them as PDF first.