Upload Trigger
The Upload trigger gives a flow a drop zone. Drop a file into it and the flow runs, with the file stored and attached to the run. It is the simplest trigger in the product: there is nothing to configure. The node has a General tab for its name and ID, and an Upload tab holding the drop zone.This is not a watch on a storage bucket. Nothing fires when a file appears in your object store by some other route. The trigger fires because the upload itself names the flow — which today means the drop zone on this node.
Using it
1
Add an Upload trigger
From the Add Node panel. The editor is titled Upload File Trigger.
2
Open the Upload tab
Drag a file onto the drop zone, or click to choose one.
3
The flow runs
A green confirmation appears: “The file was uploaded successfully and the flow was triggered.”
Which version of the flow runs
The Trigger Flow toggle offers Draft and Published.Where the file goes
Files land in a managed uploads bucket on your account and are deleted after two weeks. There is no way to extend that from the trigger. The stored key is a short random prefix plus your filename —aB3xQ9.invoice.pdf from invoice.pdf. The prefix keeps two uploads of the same name apart.
Limits
There is no accepted-file-type list. Any file the drop zone takes is uploaded, and nothing checks the extension or the content type at any point. The drop zone rejects files over 6 MB in the browser. That is a client-side check on this control only — it is not a rule the platform enforces.What the flow receives
$.trigger is exactly two keys:
Getting at the contents
An Assistant step receives the file automatically — it is attached to the run as knowledge, so the assistant can read a PDF, a spreadsheet or an image without any fetch step in between. This is the intended shape for the trigger, and it is why the payload carries so little. Any other step reads the object store by bucket and key:Routing on file type
There is no type field to branch on, so branch on the key:What runs after the trigger is decided by each step’s outcome, not by the arrows in the editor. A Condition step’s outcome names the step IDs to run next — one, several (they start at the same time), or the reserved
RESOLVE_SUCCESS / RESOLVE_ERROR to end the run. A line drawn between two steps that no outcome names is decoration.Delivery
The upload and the flow run are two separate things, and only the first is confirmed to you. If a run must not be missed, do not rely on this trigger alone. Put an HTTP Request trigger in front of it, where the caller gets a response and can retry.Troubleshooting
The upload succeeded but the flow did not run
The upload succeeded but the flow did not run
Check Monitoring for a run at that time. If there is none, the trigger message was lost — re-upload the file.
The wrong version of the flow ran
The wrong version of the flow ran
The Draft / Published toggle is inert. Open the version you want to run, then upload.
A large file is rejected
A large file is rejected
The drop zone caps at 6 MB.
An assistant step cannot see the file
An assistant step cannot see the file
Check the step is an Assistant step — only those receive the file automatically. Anything else has to read the object store using
$.trigger.bucket and $.trigger.key.A step needs the original filename
A step needs the original filename
Take it from
$.trigger.key, after the random prefix and the first full stop.A file uploaded a while ago no longer exists
A file uploaded a while ago no longer exists
Files are removed after two weeks. Copy anything the flow needs to keep into your own storage during the run.
Next Steps
Assistant Step
Reading the uploaded document
Condition Step
Routing on the file’s extension
Email Trigger
The same pattern, with files arriving as attachments
Triggers Overview
Every way a flow can start