Copy File

box.copy_file
ActionFiles & storageconnection required

Calls the Box API with the connection's credentials.

Copy a file into another folder, optionally storing the copy under a different name.

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

3 fields, 2 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 copy.
stringYes———
parent_id
The id of the folder to copy the file into.
stringYes———
name
A new name for the copy. Leave blank to keep the original name.
stringNo———

Output

One shape.

result

FieldTypeExample
id
The Box file id.
string—
type
Always 'file'.
stringfile
name
The file name, including its extension.
string—
size
The file size in bytes.
number—
etag
The file's etag, for optimistic concurrency.
string—
sha1
The SHA-1 checksum Box computed for the content.
string—
parent.id
The id of the folder holding the file.
string—
modified_at
When the file last changed (RFC 3339).
string—
{
  "etag": "",
  "id": "",
  "modified_at": "",
  "name": "",
  "parent": {
    "id": ""
  },
  "sha1": "",
  "size": 0,
  "type": "file"
}

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'.

See Copy 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.