RedPlanetHQ/core

New Integration: Dropbox

Open

#499 opened on Feb 24, 2026

 (0 comments) (0 reactions) (1 assignee)TypeScript (184 forks)auto 404
enhancementgood first issueintegrationnew-featurenew-integration

Repository metrics

Stars
 (1,930 stars)
PR merge metrics
 (PR metrics pending)

Description

Description

Add Dropbox integration to sync files, folders, and cloud storage activity into CORE.

Reference Implementations

Existing Integrations (use as templates)

  • integrations/google-docs/ - Similar cloud document integration
  • integrations/google-sheets/ - Google Workspace file integration
  • integrations/github/ - For webhook and event patterns

Required Files Structure

integrations/dropbox/
├── src/
│   ├── index.ts          # Main entry, OAuth spec
│   ├── schedule.ts       # Sync logic
│   ├── utils.ts          # Dropbox API utilities
│   ├── account-create.ts # OAuth setup
│   └── create-activity.ts # Activity formatting
├── package.json
├── tsup.config.ts
└── README.md

Dropbox API Integration

OAuth Setup

  • Use OAuth 2.0 for authorization
  • Base URL: https://api.dropboxapi.com/2/
  • Content upload/download: https://content.dropboxapi.com/2/

Key Endpoints

  • POST /2/files/list_folder - List folder contents
  • POST /2/files/list_folder/continue - Paginate folder listing
  • POST /2/files/get_metadata - Get file/folder metadata
  • POST /2/files/download - Download file content
  • POST /2/files/upload - Upload files
  • POST /2/files/search_v2 - Search for files
  • POST /2/files/list_revisions - Get file revision history
  • POST /2/sharing/list_shared_links - List shared links
  • POST /2/users/get_current_account - Get current user info

API Architecture

  • HTTP-based API with POST for most operations
  • Uses RPC-style endpoints (not strictly RESTful)
  • Two API hosts: api.dropboxapi.com for RPC, content.dropboxapi.com for uploads/downloads

Events to Track

  1. Files - File created, modified, renamed, deleted, moved
  2. Folders - Folder created, renamed, deleted, reorganized
  3. Sharing - Files/folders shared, shared links created
  4. Team Activity - Team member file activity (Business accounts)
  5. Revisions - File version changes and history

Implementation Tasks

  • Set up basic integration structure following integrations/github/src/index.ts pattern
  • Implement OAuth 2.0 flow in account-create.ts
  • Create API utilities in utils.ts for Dropbox API v2
  • Implement sync logic in schedule.ts using list_folder and cursor-based pagination
  • Set up webhook handling for real-time file change notifications
  • Convert Dropbox events to CORE activity format
  • Add error handling and rate limiting
  • Create integration documentation
  • Add to integrations/README.md

Technical Notes

  • Dropbox API v2 uses POST for most operations (RPC-style), not traditional REST GET/PUT/DELETE
  • Two separate hosts: api.dropboxapi.com for metadata/RPC and content.dropboxapi.com for file content
  • Official SDKs available for Swift, .NET, Java, JavaScript, Objective-C, and Python
  • Cursor-based pagination for efficient folder listing
  • API Explorer available at dropbox.github.io/dropbox-api-v2-explorer/ for testing
  • Webhooks available for real-time change notifications

Resources

Labels

enhancement, integration, new-feature

Contributor guide