Skip to Content

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, and account_info.read permissions
  • 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.

  1. In Zeotap, navigate to Destinations and click Add Destination
  2. Select Dropbox and choose OAuth 2.0 as the authentication method
  3. Click Connect to open the Dropbox authorization window
  4. Sign in to your Dropbox account and grant Zeotap access
  5. 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

  1. Go to the Dropbox App Console 
  2. Create a new app or select an existing one
  3. Under Permissions, ensure files.content.write, files.metadata.read, and account_info.read are enabled
  4. Under Settings, generate an access token
  5. 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 folder
  • files.metadata.read — to verify folder access during the connection test
  • account_info.read — to verify the access token during the connection test

Configuration

FieldTypeRequiredDescription
Folder PathTextNoThe Dropbox folder path where files will be uploaded. The folder is created automatically if it does not exist. Default: /zeotap

Target Settings

FieldTypeRequiredDescription
File FormatSelectYesOutput file format: CSV or JSONL (Newline Delimited JSON). Default: CSV
Enable Gzip CompressionToggleNoCompress files with gzip before uploading. Default: On

Supported Operations

Sync Modes

ModeSupportedDescription
InsertYesAppend new data as new files in the folder
MirrorYesWrite the full current dataset as new files

Audience Sync Modes

ModeSupportedDescription
AddYesWrite audience members as new files
MirrorYesWrite 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:

  1. Data is serialized into the selected format (CSV or JSONL)
  2. If gzip compression is enabled, the file is compressed before upload
  3. Files are uploaded via the Dropbox API v2 /files/upload endpoint
  4. Files are stored at {folder_path}/{YYYY-MM-DD}/{batch_id}.{ext}[.gz]
  5. 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/audiences or /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.

Last updated on