Download File

box.download_file
ActionFiles & storageconnection required

Calls the Box API with the connection's credentials.

Download a file's content and emit it as the shared base64 file envelope, ready to hand to a storage or mail node.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Box
Secret shape
{"client_id": "…", "client_secret": "…", "box_subject_type": "enterprise|user", "box_subject_id": "…"} for a server-authentication app, or {"client_id": "…", "client_secret": "…", "refresh_token": "…"} for OAuth2
Resolved by
config.connection_id, else node.connection_id

Configuration

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

FieldTypeRequiredDefaultConstraintsExample
file_id
The id of the file to download.
stringYes———
version
A specific file-version id to download. Leave blank for the current version.
stringNo———

Output

One shape.

result

FieldTypeExample
file_content
The file, base64-encoded.
string—
content_encoding
stringbase64
filename
stringapp-main.zip
content_type
stringapplication/zip
size
Raw size in bytes (before base64).
number—
file_id
The Box file id that was downloaded.
string—
{
  "content_encoding": "base64",
  "content_type": "application/zip",
  "file_content": "",
  "file_id": "",
  "filename": "app-main.zip",
  "size": 0
}

Notes

  • Uploads go to upload.box.com and everything else to api.box.com; the nodes pick the right host for you.
  • Use a Box server-authentication (Client Credentials) app for anything unattended: its credential can be exchanged for a token indefinitely. A plain OAuth2 refresh token is spent by its first use, so that connection needs re-authorising.
  • The root folder always has the id '0'.
  • The file is held in memory and capped by MANTLE_BINARY_MAX_BYTES; a larger file fails the step instead of exhausting the worker.

See Download File run in a workflow.

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