Authorization Type

Carbon uses OAuth 2.0 to connect to Dropbox.

Functionality

All text, audio, video, and image files are supported file formats via Dropbox, for both Personal and Business accounts. Dropbox has a limit of 50 MB per file, so a single uploaded file cannot exceed 50 MB.

Authorization Flow

Log into your Dropbox account.

Once you’ve successfully authenticated your account, you can select files directly.

Click “Choose” after selecting files to grant Carbon access to files.

Configuration

Custom OAuth Credentials

Custom OAuth credentials is only required for customers who enable white labeling.
  1. Sign up on Dropbox Developers and create a new app with Full Dropbox access.

  1. Copy and share the App key and App secret under the Settings tab with us.

  1. Add https://api.carbon.ai/integrations/dropbox as a Redirect URIs and carbon.ai as the Chooser / Saver / Embedder domains. You can also use a custom CNAME record pointing to https://api.carbon.ai for both but the domain path must still be /integrations/dropbox for the Redirect URIs.

  1. Configure your app details under the Branding tab. These details will appear on the OAuth Consent Screen as well. Provide your App name, Publisher, and App icons.

  1. Under the Permissions tab, add the following scopes: account_info.read, files.metadata.read, and files.content.read.

  1. Click Apply for Production under the Settings tab to make this app available to your end-users.

Functionality

Carbon allows users to upload pdf, docx, pptx,txt,csv, png, rtf, tsv, xlsx, jpeg and md files directly from Dropbox.

Synchronization

Syncs are triggered when end-users select files to upload via the Dropbox file selector UI. When a user selects a folder to be synced, we auto-sync all files added to the folder as well.

You can also use the resync_file API endpoint to programmatically resync specific Dropbox files. To delete Dropbox files from Carbon, you can use the delete_files endpoint directly.

To sync Dropbox files on a 24-hour schedule (more frequent schedules available upon request), you can use the /update_users endpoint. This endpoint allows organizations to customize syncing settings according to their requirements, with the option to enable syncing for all data sources using the string ‘ALL’. It’s important to note that each request supports up to 100 customer IDs.

Here’s an example illustrating how to automatically enable syncing for updated Dropbox content for specified users:

{
    "customer_ids": ["team@carbon.ai", "sam@openai.com"],
    "auto_sync_enabled_sources": ["DROPBOX"]
}