RedPlanetHQ / RedPlanetHQ/core
New Integration: Box
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 2k
- Forks
- 194
- Avg merge
- 12m
- Merged PRs (30d)
- 2
Description
Description
Add Box integration to sync cloud storage data including files, folders, collaborations, comments, and metadata into CORE.
Reference Implementations
Existing Integrations (use as templates)
integrations/google-docs/- Similar document/cloud storage systemintegrations/notion/- Content management integrationintegrations/slack/- For reference
Required Files Structure
integrations/box/
├── src/
│ ├── index.ts # Main entry, OAuth spec
│ ├── schedule.ts # Sync logic
│ ├── utils.ts # Box API utilities
│ ├── account-create.ts # OAuth setup
│ └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md
Box API Integration
OAuth Setup
- Supports OAuth 2.0, JSON Web Token (JWT), Client Credentials, and App Token authentication
- OAuth 2.0 recommended for user-facing integrations
- Developer Console available for app management
- Base URL:
https://api.box.com/2.0 - Developer docs: https://developer.box.com/
Key Endpoints
GET /files/{id}- Get file infoGET /folders/{id}- Get folder infoGET /folders/{id}/items- List folder itemsPOST /files/content- Upload fileGET /files/{id}/comments- Get file commentsGET /collaborations- List collaborationsGET /events- Get user/enterprise eventsGET /search- Search contentGET /metadata_templates- Get metadata templatesGET /users- List users
Events to Track
- Files - File uploaded, downloaded, previewed, shared, moved, deleted, versioned
- Folders - Folder created, renamed, moved, shared, deleted
- Collaborations - Collaborator added, removed, role changed
- Comments - Comment added, edited, deleted on files
- Metadata - Metadata applied, updated, removed
Implementation Tasks
- Set up basic integration structure following
integrations/github/src/index.tspattern - Implement OAuth 2.0 flow in
account-create.ts - Create API utilities in
utils.tsfor Box Platform API calls - Implement sync logic in
schedule.tsfor files, folders, and events - Convert file/folder events to CORE activity format
- Add error handling and rate limiting
- Create integration documentation
- Add to
integrations/README.md
Technical Notes
- Multiple authentication methods available (OAuth 2.0, JWT, Client Credentials, App Token)
- Box Events API provides enterprise-wide event stream for audit and sync
- SDKs available for multiple languages
- Box CLI available for scripting and automation
- Box UI Elements available for embedded experiences
- Legal holds and retention policies supported for compliance use cases
Resources
Labels
enhancement, integration, new-feature
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the templates in integrations/google-docs/, integrations/notion/, integrations/slack/, and the integrations/github/src/index.ts pattern. Review the Box API documentation and define the OAuth, sync, activity, error-handling, and rate-limiting scope across the listed files. Done means the Box structure, authentication, synchronization, activity conversion, documentation, and integrations/README.md entry are complete.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- backend-api-design, cloud
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100