Dropbox
Upload files to a Dropbox folder in CSV or JSONL format. Use Zeotap to export model results, audience lists, or enriched data as files in Dropbox for downstream processing, sharing, or archival.
Prerequisites
- A Dropbox account (Basic, Plus, Professional, or Business)
- A Dropbox App created in the Dropbox App Console with
files.content.write,files.metadata.read, andaccount_info.readpermissions - An OAuth 2.0 access token or an app configured for the OAuth 2.0 authorization code flow
Authentication
Dropbox supports two authentication methods: OAuth 2.0 (recommended) and Access Token.
OAuth 2.0 (Recommended)
- In Zeotap, navigate to Destinations and click Add Destination
- Select Dropbox and choose OAuth 2.0 as the authentication method
- Click Connect to open the Dropbox authorization window
- Sign in to your Dropbox account and grant Zeotap access
- You will be redirected back to Zeotap with the connection established
Zeotap automatically manages token refresh for OAuth 2.0 connections. No manual token rotation is required.
Access Token
- Go to the Dropbox App Console
- Create a new app or select an existing one
- Under Permissions, ensure
files.content.write,files.metadata.read, andaccount_info.readare enabled - Under Settings, generate an access token
- In Zeotap, select Access Token as the authentication method and paste the token
Access tokens generated from the App Console are short-lived by default. For long-running syncs, use OAuth 2.0 instead.
Required Permissions
The Dropbox app needs the following permission scopes:
files.content.write— to upload files and create the destination folderfiles.metadata.read— to verify folder access during the connection testaccount_info.read— to verify the access token during the connection test
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Folder Path | Text | No | The Dropbox folder path where files will be uploaded. The folder is created automatically if it does not exist. Default: /zeotap |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| File Format | Select | Yes | Output file format: CSV or JSONL (Newline Delimited JSON). Default: CSV |
| Enable Gzip Compression | Toggle | No | Compress files with gzip before uploading. Default: On |
Supported Operations
Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Insert | Yes | Append new data as new files in the folder |
| Mirror | Yes | Write the full current dataset as new files |
Audience Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Add | Yes | Write audience members as new files |
| Mirror | Yes | Write the full audience as new files |
Features
- Field Mapping: No — Dropbox writes all mapped fields as file columns
- Schema Introspection: No — Dropbox is a file-based destination without schema discovery
How It Works
Zeotap writes data as files to the configured Dropbox folder:
- Data is serialized into the selected format (CSV or JSONL)
- If gzip compression is enabled, the file is compressed before upload
- Files are uploaded via the Dropbox API v2
/files/uploadendpoint - Files are stored at
{folder_path}/{YYYY-MM-DD}/{batch_id}.{ext}[.gz] - Each sync run produces a new set of date-partitioned files
For Mirror mode, Zeotap writes the full current dataset as new files. Downstream consumers should use the latest date partition.
Upload Limits
The Dropbox API /files/upload endpoint supports files up to 150 MB per request. Zeotap batch sizes are well within this limit. For very large datasets, data is split across multiple files automatically.
Rate Limits
Dropbox enforces rate limits on API calls per authorization. If a rate limit is hit, the API returns HTTP 429 with a Retry-After header. Zeotap respects these limits and reports rate-limit errors in the sync run log.
For Dropbox Business teams, there is a limit of 1 billion upload operations per month per team across all connected apps.
Best Practices
- Use OAuth 2.0 authentication for automatic token refresh and uninterrupted syncs
- Enable gzip compression for large datasets to reduce upload time and storage usage
- Use descriptive folder paths (e.g.,
/zeotap/audiencesor/zeotap/exports) to organize output by use case - For downstream pipelines, consume files from the latest date partition folder
- Monitor sync run logs for rate-limit warnings if running frequent syncs
Troubleshooting
Invalid or expired access token
If using an access token from the App Console, it may have expired. Generate a new token from the Dropbox App Console, or switch to OAuth 2.0 for automatic token refresh.
Folder not found
If the configured folder path does not exist, Zeotap creates it automatically on the first sync. If creation fails, verify that the Dropbox app has files.content.write permission and that the path is valid (starts with /).
Permission denied
Ensure the Dropbox app has the files.content.write, files.metadata.read, and account_info.read scopes enabled. If the app was created with “App folder” access, files can only be written within the app’s dedicated folder.
Rate limit exceeded (HTTP 429)
Dropbox is rate-limiting the API calls. Reduce sync frequency or contact Dropbox support to increase limits for your team. The Retry-After header in the error indicates how long to wait before retrying.
File upload failed
Check that the file size is under 150 MB. For very large batches, consider splitting the sync into smaller segments. Also verify that your Dropbox account has sufficient storage quota.
OAuth connection lost
If the OAuth connection stops working, the user may have revoked access from their Dropbox account settings. Reconnect by re-authorizing the OAuth flow in Zeotap.