diff --git a/.env.rag.example b/.env.rag.example index eb3ae47..a291401 100644 --- a/.env.rag.example +++ b/.env.rag.example @@ -79,3 +79,10 @@ S3_ACCOUNT1_SCHEDULES= #WEB2_SITEMAP_URL=https://example.com/sitemap.xml #WEB2_INCLUDE_PREFIX=/blog/ #WEB2_SCHEDULES=60 + +# BOX CONNECTORS (optional): +#BOX1_CLIENT_ID=your-box-app-client-id +#BOX1_CLIENT_SECRET=your-box-app-client-secret +#BOX1_ENTERPRISE_ID=your-box-enterprise-id +#BOX1_USER_ID= # optional: Box user ID for user-level CCG access +#BOX1_SCHEDULES=3600 diff --git a/README.md b/README.md index a6ca708..752ed4d 100644 --- a/README.md +++ b/README.md @@ -52,6 +52,7 @@ Over 100 extra connectors are available at request, including the most popular o * Notion * Microsoft Teams * Microsoft Office 365 +* Box * Dropbox * Trello * Web scraper @@ -272,6 +273,38 @@ WEB2_INCLUDE_PREFIX=/blog/ WEB2_SCHEDULES=60 ``` +### Box Connector + +The Box connector ingests files from Box cloud storage using Client Credential Grant (CCG) authentication. +Files can be selected by folder ID (with optional recursive traversal) or by explicit file IDs. + +```yaml +# config.yaml + +sources: + - type: "box" + name: "box1" + config: + box_client_id: "${BOX1_CLIENT_ID}" + box_client_secret: "${BOX1_CLIENT_SECRET}" + box_enterprise_id: "${BOX1_ENTERPRISE_ID}" + folder_id: "0" # optional: Box folder ID ("0" = root); mutually exclusive with file_ids + is_recursive: true # optional: traverse subfolders, default false + # file_ids: "123,456" # optional: comma-separated file IDs + # box_user_id: "${BOX1_USER_ID}" # optional: user ID for user-level CCG access + schedules: "${BOX1_SCHEDULES}" +``` + +```dotenv +# .env.rag + +BOX1_CLIENT_ID=your-box-app-client-id +BOX1_CLIENT_SECRET=your-box-app-client-secret +BOX1_ENTERPRISE_ID=your-box-enterprise-id +BOX1_USER_ID= # optional: Box user ID for user-level CCG access +BOX1_SCHEDULES=3600 +``` + ## Embeddings and Inference ### Embeddings support diff --git a/config.yaml.example b/config.yaml.example index 1b94b00..2796a21 100644 --- a/config.yaml.example +++ b/config.yaml.example @@ -64,6 +64,19 @@ sources: # html_to_text: true # schedules: "${WEB2_SCHEDULES}" + # Box cloud storage + #- type: "box" + # name: "box1" + # config: + # box_client_id: "${BOX1_CLIENT_ID}" + # box_client_secret: "${BOX1_CLIENT_SECRET}" + # box_enterprise_id: "${BOX1_ENTERPRISE_ID}" + # folder_id: "0" # optional: Box folder ID ("0" = root) + # is_recursive: true # optional: traverse subfolders, default false + # # file_ids: "123,456" # optional: comma-separated file IDs (mutually exclusive with folder_id) + # # box_user_id: "${BOX1_USER_ID}" # optional: user ID for user-level CCG access + # schedules: "${BOX1_SCHEDULES}" + embedding: # can be `local` or `openrouter`/`openai` provider: local