Overview
Your published app can take files from the people who use it. A field tech snaps a photo of a signed work order and attaches it to the job. A client drops a countersigned agreement into your portal. A vendor uploads a certificate of insurance. Each file is saved with that person's submission, lands in the Media tab in your workspace where you can open it, and the automation behind the form reads what is inside it.
TL;DR: Ask Taskade Genesis for an upload control and the people using your published app can send a signed contract, a site photo, or a supplier invoice. The file is saved with their submission, lands in the Media tab in your workspace, and the next automation step reads what is inside it. Build the app →
Two Kinds of File, Two Different Jobs
Get this distinction straight once and the rest of the page reads easily.
| Files you attach in the builder | Files your app's users send | |
|---|---|---|
| Who attaches it | You, while you build | Clients, techs, vendors, applicants |
| What it is for | Teaching Taskade Genesis how to build: a brand guide, a screenshot of a layout you like, a CSV of your existing customers | Data your app reads and acts on: a signed contract, a receipt, a resume |
| When it happens | Before you publish | Every day after you publish |
| Where to read more | App Context | This page |
A brand guide you paste into the prompt box shapes the app. A receipt your client uploads next Tuesday becomes a row.
Ask for the Upload Control When You Build
Describe the upload the same way you describe any other field. Name who sends the file, what kind of file it is, and what should happen to it.
Open Taskade Genesis and put all three in one sentence: "Add a document upload to the intake form. Clients attach their signed agreement, and the app reads the agreement and fills in the start date on their row." Taskade Genesis renders the control, wires it to the form, and builds the automation behind it.
If the app is already live, ask for it in a follow-up prompt. The upload control lands in the same form your visitors already use, and you re-publish from the same Publish panel.
What the person using your app sees
A drop zone on the form, sitting with the rest of the fields. They browse or drag, the file name appears, and they submit.
┌────────────────────────────────────────────────────────────┐
│ Client Portal › Submit a Document │
├────────────────────────────────────────────────────────────┤
│ Your name [ Maria Cole ] │
│ Document type [ Signed agreement ▾ ] │
│ │
│ Attach a file │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Drop a file here, or browse │ │
│ │ PDF · PNG · JPG · HEIC · DOCX · XLSX │ │
│ └──────────────────────────────────────────────────────┘ │
│ ● agreement-signed.pdf [ Remove ] │
│ │
│ [ Submit ] │
└────────────────────────────────────────────────────────────┘
Nothing to install and no account required, unless you want one. Turn on App Users and every upload arrives attached to a named, signed-in person instead of an anonymous submission, which is what you want when the file is a contract or a resume.
Where the File Goes Afterwards
The file arrives as a real stored file, not a name in a text box. Two things happen to it:
- It travels with the submission into the automation, so the next step can open it.
- It lands in the Media tab in your workspace, where you can find it, preview it, and reuse it. See the Media tab.
That means you always have the original. When a client asks which version of the agreement they sent, open the file and look.
The same holds for a file posted to a webhook trigger. Form and webhook are the two paths that carry a stored file into your automation.
What an Automation Does With It Next
Put a Convert File to Text step right after the trigger. It hands the document's words to whatever comes next.
- Open the Automations tab and pick the automation behind your form. See AI Forms for trigger settings.
- Click + and add Convert File to Text, pointing it at the uploaded file. See Convert File to Text.
- Add an AI step and write the Prompt: name the fields you want back, such as client name, start date, and total. Fill in the Prompt and leave the optional input blank. The step reads what the step before it handed over.
- Add Add Row to Project so each document becomes a record you can sort and filter. See Build a Form with Conditional Logic for the branching version.
Scanned paperwork and photos of paper are read in that same Convert File to Text step. There is no toggle, no setting, and no extra step for the person uploading. A photograph of a delivery note goes in and the words come out. The reading described here belongs to that step, so build the path through it rather than asking an agent about the file in chat.
💡 Start small. Build one form, run one real document from your own files through it, and open the automation's History tab to see exactly what the text step returned. Then open it to your clients.
Which File Types Work
| What someone sends | What your app gets back |
|---|---|
| Scanned or image-only PDF | The words off each page, as text the next step can read |
| Phone photo of paper (JPG, JPEG, HEIC, HEIF) | The words in the photo, as text |
| Screenshot or image (PNG, WebP) | The words in the image, as text |
| Typed PDF | The document text |
| Word document (DOCX) | The document text |
| Slide deck (PPTX, PPT) | The text off the slides |
| Spreadsheet (XLSX, XLS) or CSV | The cell contents as text |
| EPUB, TXT, Markdown | The full text |
HEIC and HEIF are what an iPhone camera produces, so a tech photographing a work order on site needs to change nothing on the phone. GIF and BMP sit outside the reading path, so ask for a PNG or a JPG when the words on the image matter.
Keep scans and photos under 20 MB
20 MB is the ceiling for reading the words off an image, so it is the number that matters for a scanned contract or a photographed receipt. A long scan at maximum camera resolution is the one to watch. If you collect those routinely, say so in the field label on the form so the person uploading picks the right export.
A typed PDF, a slide deck, and a spreadsheet are read as text rather than off an image, so that ceiling does not apply to them. What limits those is the upload size your plan allows, which is larger on every paid plan than on Free. See pricing.
Prompts That Add Uploads to Your App
Each of these is a complete instruction. Say who uploads, what they send, and what the app does with it.
"Add a section where clients upload their signed contract, then read the contract and fill in the start date on their row."
"Let each field tech attach a photo of the signed work order when they close a job. Read the customer name and the date off the sheet and stamp them on the job record."
"Add a receipt upload to the expense form. Read the vendor, the date, and the total, then add a row to the Expenses project and file it under the right category."
"On the vendor portal page, let each vendor upload their certificate of insurance. Read the expiry date and put it in the Expires column so I can sort by what lapses first."
"Add a resume upload to the application form. Read the resume, fill in years of experience and current title on the candidate's row, and keep the file attached to that row."
Run one, look at the row it produces, then tighten the Prompt on the AI step until the fields land the way you want. See Automate for what else can hang off the same trigger.
Related guides
- Read Scanned Documents. What happens to a scan or a phone photo when your app reads it.
- Build a Document Intake App. The full build: a form, a reading step, and a row per document.
- Convert File to Text. The step that turns an uploaded file into text your automation can use.
- AI Forms. Full field catalog and trigger settings for the form your visitors fill in.
- Build a Customer Portal. Give clients a signed-in place to send and collect documents.
- App Users. Attach every upload to a named person instead of an anonymous submission.
- Publish and Clone Your Apps. Ship the app your clients will upload into.
