Authorization Type

Carbon uses OAuth 2.0 to connect to Box.

Functionality

Carbon allows users to upload supported image, audio, video, and text files from Box.

Authorization Flow

Log into your Box account.

Click the “Select Files from Box” button to open up the Box file selector.

Click the checkmark after selecting files to grant Carbon access to files.

Limitations: You can currently only upload individual file(s) via Box’s file selector. If you’d like the ability the upload entire folders, please reach out to us on Slack.

You’ll receive a confirmation that your file(s) has been uploaded.

Configuration

Custom OAuth Credentials

Custom OAuth credentials is only required for customers who enable white labeling.
  1. Sign up for an account under Box Developer.

  2. Go to My Apps, then Create New App -> Choose Custom App.

  1. Fill out the app details in the modal that opens.

  1. Select User Auth with OAuth 2.0 in the following step.

  1. In the Configuration tab copy and paste the Client ID and Client Secret and share it with us.

  1. Add https://api.carbon.ai/integrations/box as a Redirect URIs and https://api.carbon.ai as a CORS 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/box for the Redirect URIs.

  1. For scopes, select Read all files and folders stored in Box and Write all files and folders stored in Box.

  1. In the App Center tab, you can edit your branding.

  1. Once you’re ready, you can also submit your app for approval.

Functionality

Carbon allows users to upload supported image, audio, video, and text files from Box.

Synchronization

Syncs are triggered when end-users select files to upload via the Box file selector UI.

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

To sync Box 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 Box content for specified users:

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