Box Connector

Index files, folders, comments, tasks, and web links in Box, along with the users and groups that control access to them.

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:

  1. Create the Box app.
  2. Authorize it for your enterprise.
  3. 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 ConsoleAppsCustom 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

CredentialWhere to find it
Client IDApp ConfigurationOAuth 2.0 Credentials
Client SecretApp ConfigurationOAuth 2.0 Credentials (Fetch/Reveal)
Enterprise IDBox Admin ConsoleAccount & BillingAccount 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>"
ParameterTypeRequiredDefaultDescription
client_idsecretYesCCG application client ID.
client_secretsecretYesCCG application client secret.
enterprise_idsecretYesBox enterprise (account) ID the app is authorized for.
base_urlstringNohttps://api.box.com/2.0Overrides the Box API base URL.
per_user_rpmintegerNo500Requests-per-minute cap per impersonated user
per_user_burstintegerNo5Per-user rate-limiter burst size (0 = default).
page_sizeintegerNo100Page size for list calls (Box caps most endpoints at 1000).
async_concurrencyintegerNo10 (default)Async (one-per-user) workers used during backfill.
catchup_concurrencyintegerNo5 (default)Async workers handling reconciliation tasks.
acl_cache_sizeintegerNo10000 (default)Bounds the ACL cache.
resourcesmapNo{}Per-resource include/exclude filters (see below).

Note: Leave the rate-limit and concurrency knobs at their defaults unless tuning throughput or responding to 429 pressure.

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 keyMatch value
userThe user’s Box login / email
acl_groupThe 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

ResourceDisplay nameDescription
userBox UserEnterprise users; resolve ACLs and content ownership.
acl_groupBox GroupManaged groups and their members, used in ACLs.
fileBox FileFiles, including extracted text content.
folderBox FolderFolders and their collaboration-derived ACLs.
commentBox CommentComments attached to files.
taskBox TaskTasks attached to files.
web_linkBox Web LinkBookmarks / web links stored in Box.