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 whenbox_user_idis 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 IDBOX1_CLIENT_SECRET: Box app client secretBOX1_ENTERPRISE_ID: Box enterprise ID — required for CCG auth, optional for JWTBOX1_USER_ID: Box user ID — optional, acts as a specific user under CCG authBOX1_JWT_KEY_ID: public key ID — required for JWT authBOX1_PRIVATE_KEY: RSA private key — required for JWT authBOX1_PRIVATE_KEY_PASSPHRASE: private key passphrase — required for JWT authBOX1_SCHEDULES: ingestion interval(s) in seconds (default is3600)
config.yaml Example
CCG auth, folder-based ingestion
JWT auth, file-ID ingestion
Content search
Metadata search
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 moresources entries (box2, box3, etc.) with separate env vars per source.