Box
Upload files to a Box folder in CSV or JSONL format. Use Zeotap to export audience lists, model results, or enriched data to Box for downstream collaboration and processing.
Prerequisites
- A Box account (Free, Business, or Enterprise)
- A Box custom app with OAuth 2.0 authentication, or a developer token for testing
- Editor or Co-owner access on the target folder
Authentication
Box supports two authentication methods:
OAuth 2.0 (Recommended)
OAuth 2.0 is the recommended method for production use. It provides automatic token refresh so your syncs continue without interruption.
- In the Box Developer Console , create a Custom App with User Authentication (OAuth 2.0)
- Under Configuration, note the Client ID and Client Secret
- Add
https://composable.zeotap.com/oauth/callbackas a Redirect URI - Under Application Scopes, enable Write all files and folders stored in Box
- In Zeotap, select OAuth 2.0 as the authentication method and click Connect
- Authorize the app in the Box consent screen
Developer Token (Testing Only)
Developer tokens are convenient for testing but expire after 60 minutes.
- In the Box Developer Console , open your app
- Under Configuration, click Generate Developer Token
- Copy the token and paste it into the Access Token field in Zeotap
Note: Developer tokens cannot be refreshed automatically. For production syncs, use OAuth 2.0.
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Folder ID | Text | Yes | The ID of the Box folder to upload files to. Use 0 for the root folder. Find the folder ID in the URL when viewing a folder in Box (e.g., https://app.box.com/folder/123456789 has ID 123456789). Default: 0 |
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| File Format | Select | Yes | Output file format: CSV or JSONL (Newline Delimited JSON). Default: CSV |
Supported Operations
Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Insert | Yes | Upload a new file for each sync run |
| Mirror | Yes | Upload the full current dataset as a new file |
Audience Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Add | Yes | Upload a file containing new audience members |
| Mirror | Yes | Upload a file with the complete audience membership |
Features
- Field Mapping: No — Box writes all mapped fields as file columns
- Schema Introspection: No — Box is a file-based destination without schema discovery
How It Works
Zeotap writes data as files to the configured Box folder:
- Data is serialized into the selected format (CSV or JSONL)
- Files are uploaded to the target folder via the Box Content API using multipart upload
- Each file is named with a date prefix and batch ID:
{YYYY-MM-DD}_batch_{timestamp}.{ext} - Each sync run produces a new file — existing files are never modified or deleted
For Mirror mode, Zeotap writes the full current dataset as a new file. Downstream consumers should use the most recently uploaded file.
File Size Limits
Box supports direct uploads up to 50 MB per file. For most syncs, this is more than sufficient. If a batch exceeds 50 MB, consider reducing the number of fields or splitting the sync into smaller audiences.
Rate Limits
Box enforces the following rate limits:
- 10 API calls per second per user
- 4 uploads per second per user
- HTTP 429 responses include a
Retry-Afterheader
Zeotap respects Box rate limits. If a 429 response is received, the sync will pause and retry after the specified delay.
Best Practices
- Use OAuth 2.0 for production syncs to ensure uninterrupted token refresh
- Create a dedicated folder for Zeotap uploads to keep data organized
- Use folder permissions to control who can access exported data
- Use JSONL format for large datasets — it is more efficient to parse than CSV for downstream processing
- Monitor folder size — Box storage limits vary by plan
Troubleshooting
Authentication failed (401)
Verify that your access token is valid. Developer tokens expire after 60 minutes. If using OAuth 2.0, try disconnecting and reconnecting the destination in Zeotap.
Folder not found (404)
Check that the folder ID is correct. Open the folder in Box and copy the numeric ID from the URL. Ensure the authenticated user has access to the folder.
Insufficient permissions (403)
The authenticated user needs Editor or higher access on the target folder. Ask the folder owner to grant you the appropriate role.
File name conflict (409)
This occurs if a file with the same name already exists in the folder. Zeotap automatically handles this by appending a unique suffix. If you see this error persistently, check for files from previous sync runs in the target folder.
Rate limited (429)
Box limits uploads to 4 per second per user. If syncing large audiences, this may cause temporary delays. Zeotap handles rate limiting automatically with backoff. For high-frequency syncs, consider using a service account dedicated to Zeotap.
Upload too large
Box direct uploads are limited to 50 MB. Reduce the number of mapped fields or split your audience into smaller segments to keep file sizes under the limit.