Reference · Tools

Dropbox

Manage files and folders in Dropbox cloud storage. Upload, download, copy, move, delete files and folders, list folder contents, and search.

Action (binary) Data & Storage v1 Binary data

The Dropbox node lets you read, write, and organize files in Dropbox directly from a BusyBot workflow. It covers three resource types — File, Folder, and Search — so you can do things like pull a report from an upstream step and upload it straight to a shared Dropbox folder without manual intervention. A typical use case is automatically archiving processed data files or syncing generated documents to a client-facing Dropbox location.

Node type
Action (binary)
Parameters
28
Outputs
Output, Error
Credentials
Dropbox OAuth2

Dropbox

Manage files and folders in Dropbox cloud storage

Overview

The Dropbox tool provides full file and folder management for Dropbox cloud storage. Supports three resources: (1) File — copy, delete, download (binary), move, upload (binary or text); (2) Folder — copy, create, delete, list (with cursor-based pagination), move; (3) Search — query files/folders with filters. Download produces binary data via binaryStore. Upload reads binary data from upstream items or accepts text content. Uses Dropbox API v2 with OAuth2 authentication and automatic token refresh. Supports root namespace resolution for full Dropbox access.

Category: Data & Storage
Tool Name: dropbox
Version: 1

Appearance: Icon: si-dropbox | Color: #0061FE

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Dropbox OAuth2 credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Filefile
Folderfolder
Searchsearch

Operations

Operations for the file resource:

OperationValueDescription
CopycopyCopy a file
DeletedeleteDelete a file
DownloaddownloadDownload a file
MovemoveMove a file
UploaduploadUpload a file

Operations for the folder resource:

OperationValueDescription
CopycopyCopy a folder
CreatecreateCreate a folder
DeletedeleteDelete a folder
ListlistList folder contents
MovemoveMove a folder

Operations for the search resource:

OperationValueDescription
QueryquerySearch for files and folders

Parameters

File: Copy

ParameterTypeRequiredDefaultDescription
From PathstringYesThe path of the file or folder to copy.
To PathstringYesThe destination path for the copy.

File: Delete

ParameterTypeRequiredDefaultDescription
PathstringYesThe path to delete. Can be a single file or a whole folder.

File: Download

ParameterTypeRequiredDefaultDescription
File PathstringYesThe full file path to download.
Binary PropertystringYesdataThe name of the output binary field to put the downloaded file in. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use.

File: Move

ParameterTypeRequiredDefaultDescription
From PathstringYesThe path of the file or folder to move.
To PathstringYesThe new path for the file or folder.

File: Upload

ParameterTypeRequiredDefaultDescription
File PathstringYesThe destination file path on Dropbox. The parent folder must exist. Existing files get overwritten.
Binary FilebooleanNofalseWhether to upload data from a binary field (true) or text content (false).
Binary PropertystringYesdataThe name of the input binary field containing the file to upload. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. (shown when Binary File is true)
File ContentstringNoThe text content of the file to upload. (shown when Binary File is false)

Folder: Copy

ParameterTypeRequiredDefaultDescription
From PathstringYesThe path of the file or folder to copy.
To PathstringYesThe destination path for the copy.

Folder: Create

ParameterTypeRequiredDefaultDescription
Folder PathstringYesThe folder to create. The parent folder must exist.

Folder: Delete

ParameterTypeRequiredDefaultDescription
PathstringYesThe path to delete. Can be a single file or a whole folder.

Folder: List

ParameterTypeRequiredDefaultDescription
Folder PathstringNoThe path of the folder to list. Leave empty for root.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}What the listing includes.
— Include DeletedbooleanNofalseWhether to include deleted entries in results.
— Include Shared MembersbooleanNofalseWhether to flag files with explicit shared members.
— Include Mounted FoldersbooleanNotrueWhether to include mounted (shared/team) folders.
— Include Non-Downloadable FilesbooleanNotrueWhether to include non-downloadable files (e.g., Google Docs).
— RecursivebooleanNofalseWhether to recursively list all subfolders.

Folder: Move

ParameterTypeRequiredDefaultDescription
From PathstringYesThe path of the file or folder to move.
To PathstringYesThe new path for the file or folder.

Search: Query

ParameterTypeRequiredDefaultDescription
QuerystringYesThe string to search for. May match across multiple fields.
File StatusoptionsNoactiveFilter by file status (active or deleted).
Options: active, deleted
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
SimplifybooleanNotrueWhether to return a simplified version of the response instead of the raw data.
FilterscollectionNo{}Narrow the search.
— File CategoriesmultiOptionsNo[]Filter results by file category.
Options: audio (mp3, wav, mid, etc.), document (doc, docx, txt, etc.), paper (Dropbox Paper), folder, image (jpg, png, gif, etc.), other, pdf, presentation (ppt, pptx, key, etc.), spreadsheet (xlsx, xls, csv, etc.), video (avi, wmv, mp4, etc.)
— File ExtensionsstringNoFilter by file extensions. Comma-separated (e.g., jpg,pdf).
— FolderstringNoRestrict search to a specific folder path. If empty, searches entire Dropbox.

All Operations

ParameterTypeRequiredDefaultDescription
Dropbox AccountcredentialNoConnect your Dropbox account via OAuth2.
Max ConcurrencynumberNo10Maximum number of items to process concurrently. Accepts 1–100.

Output Data

Every operation produces exactly one output item per input item — nothing fans out, including list and query. Results are merged onto the input item’s JSON, so the properties you started with remain available. Binary data on the input item is forwarded, and download adds the file to it.

Resource / OperationOutput
File copy, File move, File delete, File uploadThe Dropbox metadata for the affected file — name, id, path_lower, path_display, size and the rest of the fields Dropbox returns.
File downloadThe item JSON unchanged, with the file attached as binary under the property named in Binary Property.
Folder create, Folder copy, Folder move, Folder deleteThe Dropbox metadata for the affected folder.
Folder listentries — an array of the folder’s contents — plus totalCount.
Search querymatches — an array of search hits — plus totalCount.

Listings and searches arrive as one array, not one item per hit. Add a Split Out node on entries or matches when you want to process each result separately.

Each entries element is normalised to camelCase:

{
  "entries": [
    {
      "type": "file",
      "id": "id:a4ayc_80_OEAAAAAAAAAXw",
      "name": "invoice_1.pdf",
      "pathLower": "/invoices/2019/invoice_1.pdf",
      "pathDisplay": "/invoices/2019/invoice_1.pdf",
      "rev": "015f8f2f1c1b0000000",
      "contentSize": 24601,
      "contentHash": "…",
      "lastModifiedClient": "2026-01-14T10:00:00Z",
      "lastModifiedServer": "2026-01-14T10:00:02Z",
      "hasExplicitSharedMembers": false,
      "isDownloadable": true
    }
  ],
  "totalCount": 1
}
  • type is Dropbox’s own tag — file, folder or deleted.
  • contentSize, contentHash, lastModifiedClient and lastModifiedServer are present only on files.

Search results. With Simplify on (the default), each match is flattened — the nested metadata object is lifted onto the match itself and match_type is reduced to its plain tag, so a hit reads much like a listing entry. Turn Simplify off to receive Dropbox’s raw match objects.

Uploads always overwrite an existing file at the destination path, and the parent folder has to exist already — create it with a Folder create step first if it might not.

Reference results downstream by expression, e.g. {{ $json.entries[0].pathDisplay }} or {{ $json.totalCount }}.

Usage Examples

  • Download a file from Dropbox
  • Upload a binary file to Dropbox
  • List all files in a Dropbox folder
  • Search for PDFs in Dropbox
  • Copy a file to another Dropbox folder
  • Create a new folder in Dropbox
  • Move a file within Dropbox

Example Configuration

Download a file into the data binary property:

{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "download",
    "path": "{{ $json.pathDisplay }}",
    "binaryPropertyName": "data"
  }
}

Upload a binary file, overwriting whatever is at the path:

{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "upload",
    "path": "/invoices/2026/{{ $json.invoiceId }}.pdf",
    "binaryData": true,
    "binaryPropertyName": "data"
  }
}

Upload plain text without any binary input:

{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "upload",
    "path": "/reports/summary.txt",
    "binaryData": false,
    "fileContent": "{{ $json.summary }}"
  }
}

Copy a file, then move another:

{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "copy",
    "path": "/invoices/original.txt",
    "toPath": "/invoices/archive/original.txt"
  }
}
{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "move",
    "path": "{{ $json.pathDisplay }}",
    "toPath": "/processed/{{ $json.name }}"
  }
}

Create a folder:

{
  "type": "dropbox",
  "parameters": {
    "resource": "folder",
    "operation": "create",
    "path": "/invoices/{{ $json.year }}"
  }
}

List a folder recursively, including subfolders:

{
  "type": "dropbox",
  "parameters": {
    "resource": "folder",
    "operation": "list",
    "path": "/invoices/2026",
    "returnAll": true,
    "filters": {
      "recursive": true,
      "include_deleted": false,
      "include_mounted_folders": true
    }
  }
}

Search for active PDFs inside one folder:

{
  "type": "dropbox",
  "parameters": {
    "resource": "search",
    "operation": "query",
    "query": "{{ $json.term }}",
    "fileStatus": "active",
    "returnAll": false,
    "limit": 50,
    "simple": true,
    "filters": {
      "file_categories": ["pdf"],
      "file_extensions": "pdf",
      "path": "/invoices"
    }
  }
}

Delete a path — a single file or a whole folder:

{
  "type": "dropbox",
  "parameters": {
    "resource": "folder",
    "operation": "delete",
    "path": "/invoices/temp"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Manage Dropbox files and folders — upload, download, copy, move, delete, list, and search with binary data support.

Frequently asked questions

How does uploading a binary file work — can I pipe a file from an earlier step directly into this node?

Yes. The Upload operation reads binary data from the output of an upstream node, so if a previous step produces a file (an image, PDF, CSV, etc.), the Dropbox node can consume it directly without writing to disk first. You can also upload plain text content if you don't have a binary source. The node handles both modes through the same File > Upload operation.

What does the Download operation actually return — a URL or the file itself?

Download returns the actual binary file data via the node's binaryStore output, not a URL or a reference. That means the file contents are available as binary data to the next node in your workflow, so you can pass it immediately into something like an email attachment, a document parser, or another storage node.

What credentials does this node require, and do I need to re-authenticate when tokens expire?

The node uses Dropbox OAuth2 credentials (the dropboxOAuth2 credential type in BusyBot). Token refresh is handled automatically, so you authenticate once during setup and the node manages renewal in the background without requiring you to re-authorize on a schedule.

Can I list a large folder that has hundreds or thousands of files?

Yes. The Folder > List operation supports cursor-based pagination, which means it can work through large directories in multiple pages rather than returning everything in a single call or silently truncating results. You'll want to account for this in your workflow design if you're processing each file individually downstream.

Does the Search operation search only filenames, or can I filter results further?

The Search resource lets you query files and folders by a text string and supports filters on top of that query. The node uses Dropbox API v2 under the hood and also supports root namespace resolution, which gives you access to the full Dropbox including team folders — not just the authenticated user's personal files.

Build with the Dropbox node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Dropbox OAuth2 credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.