Blocks
File upload
The file upload trigger: a hosted drop page that fires the workflow with the uploaded files — the front door for document pipelines.
A hosted upload page: someone drops a file, the workflow runs with it. The front door for document pipelines — CV screening, invoice extraction, PDF Q&A.
When it runs
On each upload to the step's page (URL in the Inspector). Active workflows only.
Config
Accepted types, size cap, single or multiple.
- Accept — MIME filter (
application/pdf, images, …). - Max size (MB) — per-file cap.
- Multiple — one file per run, or a batch.
Output
{
"files": [
{
"filename": "invoice.pdf",
"content_type": "application/pdf",
"size": 84213,
"key": "documents/…",
"document_id": "…"
}
]
}
Always a list, even single-file — first file is
{{ payload.files.0.filename }}. Downstream document steps (the AI
agent's extract-from-document task, extract-from-file) find the
uploaded document themselves — you rarely pass the key by hand.
Patterns
- Upload → extract → store — vision-extract the fields, upsert into a store, notify.
- Upload → classify → route — sort documents by kind, different handling per branch.
Gotchas
- Verification wants a real sample — the walk opens the upload window and waits for one actual file; synthetic samples don't count as proof here by design.