Skip to main content
Use the Box Connector to ingest files from Box cloud storage into the mAItion knowledge base, using the LlamaIndex Box reader.

What It Does

  • discovers files by folder, file ID, full-text content search, or metadata search
  • supports CCG and JWT authentication
  • converts file content to Markdown for indexing
  • combines one or more ingestion modes in a single source
  • runs ingestion on configurable schedules

Authentication

Two authentication methods are supported (auth_type):
  • CCG (auth_type: ccg, default) — Client Credentials Grant. Works at the enterprise level, or as a specific user when box_user_id is set.
  • JWT (auth_type: jwt) — server-side authentication with a private key. Requires a Box app configured for JWT auth.

Ingestion Modes

At least one mode is required. Modes can be combined in a single source.

Required Environment Variables

Set these in .env.rag:
  • BOX1_CLIENT_ID: Box app client ID
  • BOX1_CLIENT_SECRET: Box app client secret
  • BOX1_ENTERPRISE_ID: Box enterprise ID — required for CCG auth, optional for JWT
  • BOX1_USER_ID: Box user ID — optional, acts as a specific user under CCG auth
  • BOX1_JWT_KEY_ID: public key ID — required for JWT auth
  • BOX1_PRIVATE_KEY: RSA private key — required for JWT auth
  • BOX1_PRIVATE_KEY_PASSPHRASE: private key passphrase — required for JWT auth
  • BOX1_SCHEDULES: ingestion interval(s) in seconds (default is 3600)

config.yaml Example

CCG auth, folder-based ingestion

JWT auth, file-ID ingestion

Configuration Reference

* At least one ingestion mode must be configured. folder_id and file_ids can be combined in the same source — both are ingested. metadata_template and metadata_ancestor_folder_id are both required together to enable metadata search.

Multiple Box Sources

Add more sources entries (box2, box3, etc.) with separate env vars per source.