Upload Storage Object

supabase.storage_upload
ActionDatabases & warehousesconnection required

Calls the Supabase API with the connection's credentials.

Upload a file to a Storage bucket, either from inline text or from an upstream node's base64 file payload.

Connection

Required
Yes — the node will not save without one
Auth type
API key
Providers
Supabase
Secret shape
the project API key, or {"api_key": "…"} / {"service_role_key": "…"}
Config it needs
base_url, schema
Resolved by
config.connection_id, else node.connection_id

Configuration

6 fields, 3 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
bucket
The Storage bucket name.
stringYes——invoices
path
Object key inside the bucket, including any folder prefix.
stringYes——2026/09/invoice-1001.pdf
body
The file contents: text, or a base64 blob when content_encoding is base64 (for example {{ $json.file_content }} from a download node).
stringYes———
content_encoding
Set to 'base64' when body is a base64 blob (e.g. from a download_archive node). Defaults to the upstream file's encoding, else text.
stringNo—one of "text", "base64"—
content_type
MIME type stored with the object and returned on download. Defaults to text/plain, or application/octet-stream for base64 bodies.
stringNo——application/pdf
upsert
Replace the object if the key already exists. Without this the API answers 409 Duplicate.
booleanNofalse——

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "bucket": "invoices",
  "content_type": "application/pdf",
  "path": "2026/09/invoice-1001.pdf",
  "upsert": false
}

Output

One shape.

result

FieldTypeExample
bucket
The bucket written to.
string—
path
The object key inside the bucket.
string—
key
The full <bucket>/<path> key the API reported.
string—
id
The object's Storage id, when the API returned one.
string—
size
Bytes uploaded.
number—
content_type
MIME type stored with the object.
string—
{
  "bucket": "",
  "content_type": "",
  "id": "",
  "key": "",
  "path": "",
  "size": 0
}

See Upload Storage Object run in a workflow.

In a technical demo we add the Supabase connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.