# Dropbox Setup: Connect & Transfer Files

> How to connect Blober to Dropbox. Browse folders, upload and download files, and transfer between Dropbox and other cloud providers.

Dropbox is a cloud storage and file synchronization service with cross-platform support. In Blober, Dropbox paths use this format:

```plaintext
/folder/subfolder/file.ext
```

## Capabilities

* ✅ Browse folders and files
* ✅ Upload files (up to \~350 GB)
* ✅ Download files
* ✅ Create folders (automatically created when uploading)
* ✅ Delete files/folders
* ✅ Copy files within Dropbox
* ✅ Move files within Dropbox
* ✅ View file metadata (size, dates, content hash)
* ✅ Progress tracking for uploads
* ✅ Automatic rate-limit retry
* ✅ Token auto-refresh (OAuth flow only)

## Prerequisites

* A [Dropbox account](https://www.dropbox.com/) (free or paid)
* A Dropbox App created in the [Dropbox App Console](https://www.dropbox.com/developers/apps)

## Authentication Methods

Blober supports two ways to connect to Dropbox. Choose the one that fits your workflow:

| Method                                                      | Setup Complexity | Token Lifetime | Auto-Refresh                        |
| ----------------------------------------------------------- | ---------------- | -------------- | ----------------------------------- |
| [Generated Access Token](#option-1-generated-access-token)  | Simple           | \~4 hours      | ❌ No - must regenerate manually     |
| [App Key + Secret (OAuth)](#option-2-app-key--secret-oauth) | Moderate         | Indefinite     | ✅ Yes - automatic via refresh token |

> **Tip**
>
> If you plan to run unattended/scheduled workflows, use **App Key + Secret (OAuth)** - it auto-refreshes expired tokens so your workflows won't break after 4 hours.
>
> If you just want to try Blober quickly, **Generated Access Token** gets you started in under a minute.

***

[]()

### Option 1: Generated Access Token

Use a short-lived token generated directly from the Dropbox App Console. Quick to set up but requires manual renewal every \~4 hours.

**Credential fields:**

| Field                            | Description                                         |
| -------------------------------- | --------------------------------------------------- |
| **Dropbox Generated Access Key** | Bearer token string (e.g., `sl.u.AGUFCwsCKpMW-...`) |

#### Setup steps

1. [Create a Dropbox App](#1-create-a-dropbox-app) and [configure permissions](#2-configure-permissions) (see below)
2. In your app's **Settings** tab, scroll to **OAuth 2**
3. Click **"Generate"** under **Generated access token**
4. Copy the token - it is only shown once
5. In Blober, go to **Workflows** => **New Workflow**
6. Select **Dropbox** as source or destination
7. Paste the token into the **Dropbox Generated Access Key** field
8. Test by browsing your Dropbox files

> **Caution**
>
> Generated tokens expire after approximately **4 hours**. When your token expires, generate a new one from the App Console and update it in Blober. Any in-progress workflows using an expired token will fail.

***

[]()

### Option 2: App Key + Secret (OAuth)

Use your app's credentials to trigger a browser-based OAuth consent flow. Blober receives a refresh token and automatically renews access tokens when they expire - no manual intervention needed.

**Credential fields:**

| Field          | Description                                                               |
| -------------- | ------------------------------------------------------------------------- |
| **App Key**    | Alphanumeric string from your app's Settings tab (e.g., `3p6ac1pz2b3k7k`) |
| **App Secret** | Alphanumeric string - click **Show** to reveal (e.g., `3p6ac1pz2b3k6j`)   |

#### Setup steps

1. [Create a Dropbox App](#1-create-a-dropbox-app) and [configure permissions](#2-configure-permissions) (see below)
2. Copy your **App Key** and **App Secret** from the app's **Settings** tab
3. In the **OAuth 2** section of the same tab, add this exact **Redirect URI**: `http://localhost:52847/oauth/dropbox/callback`
4. In Blober, go to **Workflows** => **New Workflow**
5. Select **Dropbox** as source or destination
6. Enter your **App Key** and **App Secret** in the corresponding fields
7. Click **Authorize Dropbox Access** - a browser window opens for consent
8. Sign in with your Dropbox account and grant permissions
9. The browser redirects back to Blober automatically - you're connected

> **Caution**
>
> The Redirect URI must match exactly, including `http`, port `52847`, the complete path, and no trailing slash.

After authorization, Blober stores a refresh token and will automatically renew access tokens in the background. You don't need to touch Dropbox again unless you revoke the app.

***

## Required Scopes (Permissions)

Your Dropbox App must have these permissions enabled **before** generating an access token or authorizing via OAuth - tokens and refresh tokens inherit the scopes that were active at the time of creation.

| Scope                  | Purpose                           |
| ---------------------- | --------------------------------- |
| `files.metadata.read`  | Browse and list files/folders     |
| `files.metadata.write` | Create folders, move/copy files   |
| `files.content.read`   | Download files                    |
| `files.content.write`  | Upload and delete files           |
| `account_info.read`    | Verify connection to your account |

## Setup Guide

### 1. Create a Dropbox App

1. Go to the [Dropbox App Console](https://www.dropbox.com/developers/apps)
2. Click **"Create app"**
3. Under **"Choose an API"**, select **"Scoped access"**
4. Under **"Choose the type of access you need"**, select **"Full Dropbox"** to access all files, or **"App folder"** to limit access to a single folder
5. Enter an app name (e.g., `Blober`)
6. Click **"Create app"**

> **Tip**
>
> Choose **"Full Dropbox"** if you want Blober to access your entire Dropbox. Choose **"App folder"** if you prefer to restrict Blober to its own sandbox folder - files outside that folder won't be visible.

### 2. Configure Permissions

You **must** set permissions before generating a token or authorizing via OAuth. Tokens inherit the scopes that were active at the time of creation.

1. In your app's page, click the **"Permissions"** tab

2. Under **"Individual Scopes"**, enable the following:

   **Files and folders:**

   * ☑️ `files.metadata.read`
   * ☑️ `files.metadata.write`
   * ☑️ `files.content.read`
   * ☑️ `files.content.write`

   **Account info:**

   * ☑️ `account_info.read`

3. Click **"Submit"** at the bottom of the page

> **Caution**
>
> If you change permissions after generating a token or completing OAuth, the existing token/refresh-token retains its old scopes. You must generate a new token (or re-authorize via OAuth) for the updated permissions to take effect.

### 3. Choose your authentication method

Continue with **[Option 1: Generated Access Token](#option-1-generated-access-token)** or **[Option 2: App Key + Secret (OAuth)](#option-2-app-key--secret-oauth)** above, depending on your needs.

## File Organization

Dropbox uses a hierarchical folder structure with forward-slash paths:

```plaintext
/Documents/Work/report.pdf
/Photos/2026/January/IMG_001.jpg
/Videos/vacation.mp4
```

* Paths are **case-insensitive** but **case-preserving** (e.g., `/Photos` and `/photos` refer to the same folder, but the display name keeps its original casing)
* Folders are created automatically when uploading a file to a path that doesn't exist yet
* The root of your Dropbox is represented by `/`

## How Uploads Work

Blober automatically handles uploads of any size, with real-time progress tracking.

* Files up to **350 GB** are supported
* If a file already exists at the destination path, it is replaced
* Parent folders are created automatically if they don't exist

## Rate Limiting

Dropbox applies rate limits on API requests. Blober automatically retries rate-limited requests with the appropriate delay. Under normal use, you're unlikely to hit rate limits. Large batch operations (e.g., uploading hundreds of files) may occasionally trigger throttling.

## Troubleshooting

### "Authentication failed" or 401 errors

* **Generated access token**: It likely expired (tokens last \~4 hours). Generate a new one from the App Console.
* **OAuth flow**: Try disconnecting and re-authorizing. If the refresh token was revoked (e.g., you disconnected the app from Dropbox settings), you'll need to authorize again.
* Verify your App Key and App Secret are correct and belong to the same app.

### "Invalid client\_id or client\_secret"

* Dropbox recognized the App Key but rejected the credentials during the token exchange.
* In the Dropbox App Console, open the same app, click **Show** beside **App secret**, and copy the value again.
* Re-enter both fields in Blober. Do not use the **Generated access token** as the App Secret.

### "OAuth state not found"

* Close the Dropbox callback or error page. Do not retry from that page.
* Return to Blober and click the current **Authorize Dropbox Access** link to start a new authorization.
* If a new link does not appear, close and reopen Blober before trying again.

### Missing credentials

* **Generated access token**: Ensure the field is filled in with no leading/trailing whitespace.
* **OAuth flow**: Ensure both App Key and App Secret are filled in. If the authorization browser window didn't appear, check that your firewall isn't blocking localhost connections.

### "Quota exceeded" errors

* You've run out of Dropbox storage. Free accounts have 2 GB.
* Empty your Dropbox Trash - deleted files still count toward your quota until the trash is emptied.
* Upgrade your Dropbox plan or remove files to free up space.

### Insufficient permissions

* Verify all [required scopes](#required-scopes-permissions) are enabled in the **Permissions** tab.
* If you changed permissions after generating your token or authorizing via OAuth, the existing credentials retain their old scopes. You must generate a new token or re-authorize.

### Files not appearing

* Refresh the file list in Blober.
* If using **App folder** access, files outside the app's folder are not visible.
* Check that the files exist in the Dropbox web app at [dropbox.com](https://www.dropbox.com/).

### Slow uploads

* Check your network speed - uploads are network-bound.
* Dropbox may throttle uploads during high-traffic periods. Blober handles this automatically.

### Uploads failing mid-way

* If an upload fails partway through (e.g., network drops), Blober retries automatically.
* Check your network stability for very large files.

### How to revoke access

1. Go to [Dropbox account settings](https://www.dropbox.com/account/connected_apps)
2. Find your app and click **"Disconnect"**
3. In Blober, remove the existing connection

Revoking access invalidates all tokens immediately - both generated access tokens and OAuth refresh tokens.

## Limitations

### Storage quotas

| Plan             | Storage        |
| ---------------- | -------------- |
| **Free (Basic)** | 2 GB           |
| **Plus**         | 2 TB           |
| **Professional** | 3 TB           |
| **Business**     | 5 TB+ per user |

### API limits

| Limit                             | Value                                                  |
| --------------------------------- | ------------------------------------------------------ |
| Max file size                     | 350 GB                                                 |
| Data transport (Dropbox Business) | Monthly API call quotas may apply - contact your admin |

### Path limits

* Maximum path length: **260 characters**
* Individual file/folder names: up to **255 characters**

### Other limitations

* **No cross-provider copy/move**: Copy and move only work within the same Dropbox account. To transfer files between Dropbox and another provider, use a workflow with upload + download.
* **Case-insensitive paths**: Dropbox treats `/Photos/IMG.jpg` and `/photos/img.jpg` as the same file. Be careful when migrating from case-sensitive storage providers.

> **Terms Compliance**
>
> Your use of Dropbox through Blober is subject to [Dropbox's Terms of Service](https://www.dropbox.com/terms). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.

## External References

* [Dropbox App Console](https://www.dropbox.com/developers/apps) - create and manage your app
* [Dropbox API v2 Documentation](https://www.dropbox.com/developers/documentation/http/documentation) - full API reference
* [Dropbox Plans & Pricing](https://www.dropbox.com/plans) - storage limits by plan