Upload File

dropbox.upload_file
ActionFiles & storageconnection required

Calls the Dropbox API with the connection's credentials.

Upload a file to a path in Dropbox, taking its content from 'body' as text or as a base64 blob from an upstream download node.

Connection

Required
Yes — the node will not save without one
Auth type
Bearer token
Providers
Dropbox
Secret shape
the Dropbox access token
Resolved by
config.connection_id, else node.connection_id

Configuration

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

FieldTypeRequiredDefaultConstraintsExample
path
Where to save the file, including its name and extension — an absolute path starting with a slash.
stringYes——/Reports/2026/q1.csv
body
The file content — plain text, or a base64 blob when content_encoding is 'base64'.
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"—
mode
What to do when something is already at that path: 'add' keeps both, 'overwrite' replaces it, 'update' replaces it only if 'rev' still matches.
stringNoaddone of "add", "overwrite", "update"—
rev
The revision the file must still be at, for mode 'update'. Ignored for the other modes.
stringConditional—only with mode—
autorename
On a conflict, let Dropbox rename the upload ('q1 (2).csv') instead of failing. Defaults to false.
booleanNo———
mute
Upload without showing the user a desktop notification. Defaults to false.
booleanNo———
client_modified
The modification time to record for the file (RFC 3339, UTC). Defaults to when Dropbox received it.
stringNo—iso8601 format—
strict_conflict
Treat identical content at the target path as a conflict too. Defaults to false.
booleanNo———

Example configuration

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

{
  "mode": "add",
  "path": "/Reports/2026/q1.csv"
}

Output

One shape.

result

FieldTypeExample
id
The Dropbox id of the file or folder.
stringid:a4ayc_80_OEAAAAA
name
The last component of the path, including any extension.
string—
path_display
The full path, cased for display.
string—
path_lower
The full path, lowercased — what Dropbox matches on.
string—
size
File size in bytes. Files only.
number—
rev
The revision id of the current content. Files only.
string—
content_hash
Dropbox's content hash, for integrity checks. Files only.
string—
client_modified
When the client says the file changed (RFC 3339).
string—
server_modified
When Dropbox stored the change (RFC 3339).
string—
{
  "client_modified": "",
  "content_hash": "",
  "id": "id:a4ayc_80_OEAAAAA",
  "name": "",
  "path_display": "",
  "path_lower": "",
  "rev": "",
  "server_modified": "",
  "size": 0
}

Notes

  • Paths are absolute and start with a slash ('/Reports/2026/q1.csv'); the account root is the empty string. A Dropbox file id ('id:…') or revision ('rev:…') may be used anywhere a path is asked for.
  • Uploads and downloads use content.dropboxapi.com and everything else uses api.dropboxapi.com; the nodes pick the right host for you.
  • The connection's access token must carry the scope the call needs — files.content.write to upload, move, delete or restore, files.content.read to download, files.metadata.read to list, search or read metadata, sharing.read to list shared links, sharing.write to create or revoke one, and account_info.read for space usage.
  • One request may carry at most 150 MB; a larger file needs Dropbox's chunked upload-session API and is refused with an explanation rather than half-uploaded.
  • The payload is also capped by MANTLE_BINARY_MAX_BYTES, because it is held in memory and stored in the step output.

See Upload File run in a workflow.

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