Box Connector
The Box connector indexes files, folders, comments, tasks, and web links in Box, along with the users and groups that define who can access them.
Setup takes three steps:
- Create the Box app.
- Authorize it for your enterprise.
- Provide the connector its credentials.
Create the Box Application
Create a Custom App using Server Authentication (Client Credentials Grant) in the Box Developer Console (admin or co-admin account). In the app’s Configuration tab:
- App Access Level: App + Enterprise Access — required to enumerate and impersonate managed users and groups.
- Application Scopes: Read all files and folders stored in Box; Manage users; Manage groups; Manage enterprise properties.
- Advanced Features: Generate user access tokens; Make API calls using the as-user header.
Save changes.
Authorize the Application
A CCG app cannot call the API until an admin authorizes it: in the Box Admin Console → Apps → Custom Apps Manager, add/authorize the app by its Client ID and confirm the scopes. Until then the connection test fails with an authorization error.
Credentials
| Credential | Where to find it |
|---|---|
| Client ID | App Configuration → OAuth 2.0 Credentials |
| Client Secret | App Configuration → OAuth 2.0 Credentials (Fetch/Reveal) |
| Enterprise ID | Box Admin Console → Account & Billing → Account Info |
Provide Configuration
Only the three credentials are required; every other field has a safe default.
connector: box
instance: default
source: box
common:
enabled: true
configuration:
client_id:
value: "<your-client-id>"
client_secret:
value: "<your-client-secret>"
enterprise_id:
value: "<your-enterprise-id>"
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
client_id | secret | Yes | — | CCG application client ID. |
client_secret | secret | Yes | — | CCG application client secret. |
enterprise_id | secret | Yes | — | Box enterprise (account) ID the app is authorized for. |
base_url | string | No | https://api.box.com/2.0 | Overrides the Box API base URL. |
per_user_rpm | integer | No | 500 | Requests-per-minute cap per impersonated user |
per_user_burst | integer | No | 5 | Per-user rate-limiter burst size (0 = default). |
page_size | integer | No | 100 | Page size for list calls (Box caps most endpoints at 1000). |
async_concurrency | integer | No | 10 (default) | Async (one-per-user) workers used during backfill. |
catchup_concurrency | integer | No | 5 (default) | Async workers handling reconciliation tasks. |
acl_cache_size | integer | No | 10000 (default) | Bounds the ACL cache. |
resources | map | No | {} | Per-resource include/exclude filters (see below). |
Note: Leave the rate-limit and concurrency knobs at their defaults unless tuning throughput or responding to
429pressure.
Filtering Indexed Resources
By default everything reachable is indexed. To narrow scope, map a resource key to an included (allowlist) and/or excluded (blocklist).
configuration:
# ... credentials ...
resources:
user:
excluded:
- svc-indexer@example.com
acl_group:
included:
- "engineering"
- "admins"
Semantics: no filters → index all; included → only listed entries; excluded → all but listed entries; both → included minus excluded (exclude wins). Match values are compared for exact equality.
Match values are the native Box identifiers (not Atolio xIDs), since filtering happens during enumeration before any xID is assigned:
| Resource key | Match value |
|---|---|
user | The user’s Box login / email |
acl_group | The Box group Name |
Filters are enforced for the identity resources (user, acl_group), which are backfilled first because the rest of the connector’s ACLs depend on them.
Indexed Resources
| Resource | Display name | Description |
|---|---|---|
user | Box User | Enterprise users; resolve ACLs and content ownership. |
acl_group | Box Group | Managed groups and their members, used in ACLs. |
file | Box File | Files, including extracted text content. |
folder | Box Folder | Folders and their collaboration-derived ACLs. |
comment | Box Comment | Comments attached to files. |
task | Box Task | Tasks attached to files. |
web_link | Box Web Link | Bookmarks / web links stored in Box. |