<!-- BusyBot node reference — https://busybot.net/tools/dropbox/ -->

> Node: Dropbox (`dropbox`) · Action (binary) · v1
> Category: Data & Storage · Credentials: Dropbox OAuth2 (`dropboxOAuth2`)
> Updated: 2026-08-16

# 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

| Direction | Port(s) |
|-----------|--------|
| Input | `Input` |
| Output | `Output`, `Error` |

## Credentials

This tool requires **Dropbox OAuth2** credentials.
See the [Credentials Guide](https://busybot.net/credentials/dropbox-oauth2/) for setup instructions.

### Resources

| Resource | Value |
|----------|-------|
| File | `file` |
| Folder | `folder` |
| Search | `search` |

### Operations

Operations for the `file` resource:

| Operation | Value | Description |
|-----------|-------|-------------|
| Copy | `copy` | Copy a file |
| Delete | `delete` | Delete a file |
| Download | `download` | Download a file |
| Move | `move` | Move a file |
| Upload | `upload` | Upload a file |

Operations for the `folder` resource:

| Operation | Value | Description |
|-----------|-------|-------------|
| Copy | `copy` | Copy a folder |
| Create | `create` | Create a folder |
| Delete | `delete` | Delete a folder |
| List | `list` | List folder contents |
| Move | `move` | Move a folder |

Operations for the `search` resource:

| Operation | Value | Description |
|-----------|-------|-------------|
| Query | `query` | Search for files and folders |

### Parameters

#### File: Copy

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| From Path | `string` | Yes | — | The path of the file or folder to copy. |
| To Path | `string` | Yes | — | The destination path for the copy. |

#### File: Delete

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Path | `string` | Yes | — | The path to delete. Can be a single file or a whole folder. |

#### File: Download

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| File Path | `string` | Yes | — | The full file path to download. |
| Binary Property | `string` | Yes | `data` | The 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

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| From Path | `string` | Yes | — | The path of the file or folder to move. |
| To Path | `string` | Yes | — | The new path for the file or folder. |

#### File: Upload

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| File Path | `string` | Yes | — | The destination file path on Dropbox. The parent folder must exist. Existing files get overwritten. |
| Binary File | `boolean` | No | `false` | Whether to upload data from a binary field (true) or text content (false). |
| Binary Property | `string` | Yes | `data` | The 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 Content | `string` | No | — | The text content of the file to upload. _(shown when Binary File is `false`)_ |

#### Folder: Copy

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| From Path | `string` | Yes | — | The path of the file or folder to copy. |
| To Path | `string` | Yes | — | The destination path for the copy. |

#### Folder: Create

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Folder Path | `string` | Yes | — | The folder to create. The parent folder must exist. |

#### Folder: Delete

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Path | `string` | Yes | — | The path to delete. Can be a single file or a whole folder. |

#### Folder: List

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Folder Path | `string` | No | — | The path of the folder to list. Leave empty for root. |
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. _(shown when Return All is `false`)_ |
| Filters | `collection` | No | `{}` | What the listing includes. |
| — Include Deleted | `boolean` | No | `false` | Whether to include deleted entries in results. |
| — Include Shared Members | `boolean` | No | `false` | Whether to flag files with explicit shared members. |
| — Include Mounted Folders | `boolean` | No | `true` | Whether to include mounted (shared/team) folders. |
| — Include Non-Downloadable Files | `boolean` | No | `true` | Whether to include non-downloadable files (e.g., Google Docs). |
| — Recursive | `boolean` | No | `false` | Whether to recursively list all subfolders. |

#### Folder: Move

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| From Path | `string` | Yes | — | The path of the file or folder to move. |
| To Path | `string` | Yes | — | The new path for the file or folder. |

#### Search: Query

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Query | `string` | Yes | — | The string to search for. May match across multiple fields. |
| File Status | `options` | No | `active` | Filter by file status (active or deleted). |
| | | | | Options: `active`, `deleted` |
| Return All | `boolean` | No | `false` | Whether to return all results or only up to a given limit. |
| Limit | `number` | No | `100` | Max number of results to return. _(shown when Return All is `false`)_ |
| Simplify | `boolean` | No | `true` | Whether to return a simplified version of the response instead of the raw data. |
| Filters | `collection` | No | `{}` | Narrow the search. |
| — File Categories | `multiOptions` | No | `[]` | 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 Extensions | `string` | No | — | Filter by file extensions. Comma-separated (e.g., jpg,pdf). |
| — Folder | `string` | No | — | Restrict search to a specific folder path. If empty, searches entire Dropbox. |

#### All Operations

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| Dropbox Account | `credential` | No | — | Connect your Dropbox account via OAuth2. |
| Max Concurrency | `number` | No | `10` | Maximum 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 / Operation | Output |
|----------------------|--------|
| File `copy`, File `move`, File `delete`, File `upload` | The Dropbox metadata for the affected file — `name`, `id`, `path_lower`, `path_display`, `size` and the rest of the fields Dropbox returns. |
| File `download` | The item JSON unchanged, with the file attached as binary under the property named in **Binary Property**. |
| Folder `create`, Folder `copy`, Folder `move`, Folder `delete` | The Dropbox metadata for the affected folder. |
| Folder `list` | `entries` — an array of the folder's contents — plus `totalCount`. |
| Search `query` | `matches` — 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:

```json
{
  "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:

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

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

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

Upload plain text without any binary input:

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

Copy a file, then move another:

```json
{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "copy",
    "path": "/invoices/original.txt",
    "toPath": "/invoices/archive/original.txt"
  }
}
```

```json
{
  "type": "dropbox",
  "parameters": {
    "resource": "file",
    "operation": "move",
    "path": "{{ $json.pathDisplay }}",
    "toPath": "/processed/{{ $json.name }}"
  }
}
```

Create a folder:

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

List a folder recursively, including subfolders:

```json
{
  "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:

```json
{
  "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:

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

### Error Handling

| Mode | Behavior |
|------|----------|
| **stop** | Halts workflow on first error |
| **continue** | Skips failed items, passes successful ones through |
| **errorPort** | Routes failed items to Error output port |

## Tips

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