Skip to main content
Updated Jul 26, 2026

Create Storage Signed URL

Use this action when a later step needs a short-lived download URL for a file that already exists in your company storage.

Best for

  • Turning a stored file reference (for example message.body.file or an earlier step's step(N).file) into a downloadable URL
  • Feeding a stored image to an LLM vision input, guarded by the image media kind
  • Re-sharing an already uploaded file in a later step without uploading it again

Main fields

FieldWhat it does
FileCEL expression resolving to a storage file reference with bucket and fullPath, such as message.body.file or step(0).file. When set, the two fields below are ignored
bucketCEL expression resolving to the storage bucket. Use only when File is not provided
full_pathCEL expression resolving to the storage object path. Use only when File is not provided
media_kindOptional content-type guard: any (default), image, audio, video, pdf, text, or document. When the stored file's type does not match, the step fails instead of returning a URL. Choose image when the URL will be sent to an LLM image input
expires_in_secondsSigned URL lifetime in seconds. Defaults to 900 (15 minutes) and is capped at 3600 (1 hour)
PurposeOptional label for what the URL is for, shown in logs

What later steps can use

  • step(N).signedUrl
  • step(N).contentType
  • step(N).size
  • step(N).mediaKind
  • step(N).bucket
  • step(N).fullPath
  • step(N).name
  • step(N).expiresAt
  • step(N).file — a ready-to-reuse file object (bucket, fullPath, name, metadata) for later media steps

Tips

  • The file must already exist and belong to your company: objects in another tenant's storage area are always denied (storage_media_acl_denied), and missing objects fail with storage_media_not_found.
  • Keep the lifetime as short as the consuming system allows — the URL stops working at expiresAt.
  • Use the media-kind guard when the next step assumes a specific file type; a mismatch fails with storage_media_unsupported_type instead of passing the wrong file forward.
  • Pair with Upload to Storage or Download to Storage (actions/network/http/download-to-storage) when the file is not in storage yet.
On this page