Download to Storage
Use this action when you want to download a file from an external URL and stream it directly into your company storage.
Best for
- Files too large for the HTTP request action's 5 MB response cap — this action streams up to 500 MB without buffering the file in memory
- Saving a remote file once, then reusing its stored reference or signed URL in later steps
- Importing media (images, videos, audio, documents) from external systems
Main fields
| Field | What it does |
|---|---|
| HTTP URL | CEL expression resolving to the download URL. Only GET requests are made, and only public HTTP(S) URLs are allowed |
| Purpose | Optional label for what the download does, shown in logs |
| HTTP headers | Optional request headers, for example for authentication. Keys and values are CEL expressions — pair with Resolve Variables to load secrets |
| File Name | Optional CEL expression for the stored file name. Falls back to the response's Content-Disposition header, then the URL path, then a generated name |
| Content type | Optional CEL expression for the MIME type. Auto-detected from the response Content-Type header or the file extension when omitted |
| Category | Stores the file as images, videos, audios, or documents. Auto-detected from the content type when omitted |
| Public | Controls whether the stored file should be openly accessible (off by default) |
What later steps can use
step(N).statusstep(N).filestep(N).signedUrlstep(N).contentTypestep(N).size
step(N).file contains the stored object (bucket, fullPath, name, metadata), and step(N).signedUrl is a temporary download URL valid for about 15 minutes.
Tips
- Downloads are capped at 500 MB — larger transfers are aborted with
download_size_limit_exceeded. - The downloaded bytes count toward your storage quota, and the step fails with
storage_quota_exceededwhen the download would not fit. - A non-2xx response fails the step (
http_client_errororhttp_server_error), and the whole download must finish within 5 minutes. - Nothing is left behind on failure: a partially stored file is cleaned up automatically.
- Use Create Storage Signed URL (
actions/media/storage/signed-url) later when you need a fresh download link after the initial one expires.