- Add date_added to all 950+ skills for complete tracking - Update version to 6.5.0 in package.json and README - Regenerate all indexes and catalog - Sync all generated files Features from merged PR #150: - Stars/Upvotes system for community-driven discovery - Auto-update mechanism via START_APP.bat - Interactive Prompt Builder - Date tracking badges - Smart auto-categorization All skills validated and indexed. Made-with: Cursor
235 lines
12 KiB
Markdown
235 lines
12 KiB
Markdown
---
|
|
name: dropbox-automation
|
|
description: "Automate Dropbox file management, sharing, search, uploads, downloads, and folder operations via Rube MCP (Composio). Always search tools first for current schemas."
|
|
risk: unknown
|
|
source: community
|
|
date_added: "2026-02-27"
|
|
---
|
|
|
|
# Dropbox Automation via Rube MCP
|
|
|
|
Automate Dropbox operations including file upload/download, search, folder management, sharing links, batch operations, and metadata retrieval through Composio's Dropbox toolkit.
|
|
|
|
## Prerequisites
|
|
|
|
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
|
|
- Active Dropbox connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`
|
|
- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas
|
|
|
|
## Setup
|
|
|
|
**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
|
|
|
|
|
|
1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds
|
|
2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `dropbox`
|
|
3. If connection is not ACTIVE, follow the returned auth link to complete Dropbox OAuth
|
|
4. Confirm connection status shows ACTIVE before running any workflows
|
|
|
|
## Core Workflows
|
|
|
|
### 1. Search for Files and Folders
|
|
|
|
**When to use**: User wants to find files or folders by name, content, or type
|
|
|
|
**Tool sequence**:
|
|
1. `DROPBOX_SEARCH_FILE_OR_FOLDER` - Search by query string with optional path scope and filters [Required]
|
|
2. `DROPBOX_SEARCH_CONTINUE` - Paginate through additional results using cursor [Required if has_more]
|
|
3. `DROPBOX_GET_METADATA` - Validate and get canonical path for a search result [Optional]
|
|
4. `DROPBOX_READ_FILE` - Read file content to verify it is the intended document [Optional]
|
|
|
|
**Key parameters**:
|
|
- `query`: Search string (case-insensitive, 1+ non-whitespace characters)
|
|
- `options.path`: Scope search to a folder (e.g., `"/Documents"`); empty string for root
|
|
- `options.file_categories`: Filter by type (`"image"`, `"document"`, `"pdf"`, `"folder"`, etc.)
|
|
- `options.file_extensions`: Filter by extension (e.g., `["jpg", "png"]`)
|
|
- `options.filename_only`: Set `true` to match filenames only (not content)
|
|
- `options.max_results`: Results per page (default 100, max 1000)
|
|
|
|
**Pitfalls**:
|
|
- Search returns `has_more: true` with a `cursor` when more results exist; MUST continue to avoid silently missing matches
|
|
- Maximum 10,000 matches total across all pages of search + search_continue
|
|
- `DROPBOX_GET_METADATA` returned `path_display` may differ in casing from user input; always use the returned canonical path
|
|
- File content from `DROPBOX_READ_FILE` may be returned as base64-encoded `file_content_bytes`; decode before parsing
|
|
|
|
### 2. Upload and Download Files
|
|
|
|
**When to use**: User wants to upload files to Dropbox or download files from it
|
|
|
|
**Tool sequence**:
|
|
1. `DROPBOX_UPLOAD_FILE` - Upload a file to a specified path [Required for upload]
|
|
2. `DROPBOX_READ_FILE` - Download/read a file from Dropbox [Required for download]
|
|
3. `DROPBOX_DOWNLOAD_ZIP` - Download an entire folder as a zip file [Optional]
|
|
4. `DROPBOX_SAVE_URL` - Save a file from a public URL directly to Dropbox [Optional]
|
|
5. `DROPBOX_GET_SHARED_LINK_FILE` - Download a file from a shared link URL [Optional]
|
|
6. `DROPBOX_EXPORT_FILE` - Export non-downloadable files like Dropbox Paper to markdown/HTML [Optional]
|
|
|
|
**Key parameters**:
|
|
- `path`: Dropbox path (must start with `/`, e.g., `"/Documents/report.pdf"`)
|
|
- `mode`: `"add"` (default, fail on conflict) or `"overwrite"` for uploads
|
|
- `autorename`: `true` to auto-rename on conflict instead of failing
|
|
- `content`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads
|
|
- `url`: Public URL for `DROPBOX_SAVE_URL`
|
|
- `export_format`: `"markdown"`, `"html"`, or `"plain_text"` for Paper docs
|
|
|
|
**Pitfalls**:
|
|
- `DROPBOX_SAVE_URL` is asynchronous and may take up to 15 minutes for large files
|
|
- `DROPBOX_DOWNLOAD_ZIP` folder must be under 20 GB with no single file over 4 GB and fewer than 10,000 entries
|
|
- `DROPBOX_READ_FILE` content may be base64-encoded; check response format
|
|
- Shared link downloads via `DROPBOX_GET_SHARED_LINK_FILE` may require `link_password` for protected links
|
|
|
|
### 3. Share Files and Manage Links
|
|
|
|
**When to use**: User wants to create sharing links or manage existing shared links
|
|
|
|
**Tool sequence**:
|
|
1. `DROPBOX_GET_METADATA` - Confirm file/folder exists and get canonical path [Prerequisite]
|
|
2. `DROPBOX_LIST_SHARED_LINKS` - Check for existing shared links to avoid duplicates [Prerequisite]
|
|
3. `DROPBOX_CREATE_SHARED_LINK` - Create a new shared link [Required]
|
|
4. `DROPBOX_GET_SHARED_LINK_METADATA` - Resolve a shared link URL to metadata [Optional]
|
|
5. `DROPBOX_LIST_SHARED_FOLDERS` - List all shared folders the user has access to [Optional]
|
|
|
|
**Key parameters**:
|
|
- `path`: File or folder path for link creation
|
|
- `settings.audience`: `"public"`, `"team"`, or `"no_one"`
|
|
- `settings.access`: `"viewer"` or `"editor"`
|
|
- `settings.expires`: ISO 8601 expiration date (e.g., `"2026-12-31T23:59:59Z"`)
|
|
- `settings.require_password` / `settings.link_password`: Password protection
|
|
- `settings.allow_download`: Boolean for download permission
|
|
- `direct_only`: For `LIST_SHARED_LINKS`, set `true` to only return direct links (not parent folder links)
|
|
|
|
**Pitfalls**:
|
|
- `DROPBOX_CREATE_SHARED_LINK` fails with 409 Conflict if a shared link already exists for the path; check with `DROPBOX_LIST_SHARED_LINKS` first
|
|
- Always validate path with `DROPBOX_GET_METADATA` before creating links to avoid `path/not_found` errors
|
|
- Reuse existing links from `DROPBOX_LIST_SHARED_LINKS` instead of creating duplicates
|
|
- `requested_visibility` is deprecated; use `audience` for newer implementations
|
|
|
|
### 4. Manage Folders (Create, Move, Delete)
|
|
|
|
**When to use**: User wants to create, move, rename, or delete files and folders
|
|
|
|
**Tool sequence**:
|
|
1. `DROPBOX_CREATE_FOLDER` - Create a single folder [Required for create]
|
|
2. `DROPBOX_CREATE_FOLDER_BATCH` - Create multiple folders at once [Optional]
|
|
3. `DROPBOX_MOVE_FILE_OR_FOLDER` - Move or rename a single file/folder [Required for move]
|
|
4. `DROPBOX_MOVE_BATCH` - Move multiple items at once [Optional]
|
|
5. `DROPBOX_DELETE_FILE_OR_FOLDER` - Delete a single file or folder [Required for delete]
|
|
6. `DROPBOX_DELETE_BATCH` - Delete multiple items at once [Optional]
|
|
7. `DROPBOX_COPY_FILE_OR_FOLDER` - Copy a file or folder to a new location [Optional]
|
|
8. `DROPBOX_CHECK_MOVE_BATCH` / `DROPBOX_CHECK_FOLDER_BATCH` - Poll async batch job status [Required for batch ops]
|
|
|
|
**Key parameters**:
|
|
- `path`: Target path (must start with `/`, case-sensitive)
|
|
- `from_path` / `to_path`: Source and destination for move/copy operations
|
|
- `autorename`: `true` to auto-rename on conflict
|
|
- `entries`: Array of `{from_path, to_path}` for batch moves; array of paths for batch creates
|
|
- `allow_shared_folder`: Set `true` to allow moving shared folders
|
|
- `allow_ownership_transfer`: Set `true` if move changes ownership
|
|
|
|
**Pitfalls**:
|
|
- All paths are case-sensitive and must start with `/`
|
|
- Paths must NOT end with `/` or whitespace
|
|
- Batch operations may be asynchronous; poll with `DROPBOX_CHECK_MOVE_BATCH` or `DROPBOX_CHECK_FOLDER_BATCH`
|
|
- `DROPBOX_FILES_MOVE_BATCH` (v1) has "all or nothing" behavior - if any entry fails, entire batch fails
|
|
- `DROPBOX_MOVE_BATCH` (v2) is preferred over `DROPBOX_FILES_MOVE_BATCH` (v1)
|
|
- Maximum 1000 entries per batch delete/move; 10,000 paths per batch folder create
|
|
- Case-only renaming is not supported in batch move operations
|
|
|
|
### 5. List Folder Contents
|
|
|
|
**When to use**: User wants to browse or enumerate files in a Dropbox folder
|
|
|
|
**Tool sequence**:
|
|
1. `DROPBOX_LIST_FILES_IN_FOLDER` - List contents of a folder [Required]
|
|
2. `DROPBOX_LIST_FOLDERS` - Alternative folder listing with deleted entries support [Optional]
|
|
3. `DROPBOX_GET_METADATA` - Get details for a specific item [Optional]
|
|
|
|
**Key parameters**:
|
|
- `path`: Folder path (empty string `""` for root)
|
|
- `recursive`: `true` to list all nested contents
|
|
- `limit`: Max results per request (default/max 2000)
|
|
- `include_deleted`: `true` to include deleted but recoverable items
|
|
- `include_media_info`: `true` to get photo/video metadata
|
|
|
|
**Pitfalls**:
|
|
- Use empty string `""` for root folder, not `"/"`
|
|
- Recursive listings can be very large; use `limit` to control page size
|
|
- Results may paginate via cursor even with small limits
|
|
- `DROPBOX_LIST_FILES_IN_FOLDER` returns 409 Conflict with `path/not_found` for incorrect paths
|
|
|
|
## Common Patterns
|
|
|
|
### ID Resolution
|
|
- **Path-based**: Most Dropbox tools use path strings (e.g., `"/Documents/file.pdf"`)
|
|
- **ID-based**: Some tools accept `id:...` format (e.g., `"id:4g0reWVRsAAAAAAAAAAAQ"`)
|
|
- **Canonical path**: Always use `path_display` or `path_lower` from `DROPBOX_GET_METADATA` responses for subsequent calls
|
|
- **Shared link URL**: Use `DROPBOX_GET_SHARED_LINK_METADATA` to resolve URLs to paths/IDs
|
|
|
|
### Pagination
|
|
Dropbox uses cursor-based pagination across most endpoints:
|
|
- Search: Follow `has_more` + `cursor` with `DROPBOX_SEARCH_CONTINUE` (max 10,000 total matches)
|
|
- Folder listing: Follow cursor from response until no more pages
|
|
- Shared links: Follow `has_more` + `cursor` in `DROPBOX_LIST_SHARED_LINKS`
|
|
- Batch job status: Poll with `DROPBOX_CHECK_MOVE_BATCH` / `DROPBOX_CHECK_FOLDER_BATCH`
|
|
|
|
### Async Operations
|
|
Several Dropbox operations run asynchronously:
|
|
- `DROPBOX_SAVE_URL` - returns job ID; poll or set `wait: true` (up to 120s default)
|
|
- `DROPBOX_MOVE_BATCH` / `DROPBOX_FILES_MOVE_BATCH` - may return job ID
|
|
- `DROPBOX_CREATE_FOLDER_BATCH` - may return job ID
|
|
- `DROPBOX_DELETE_BATCH` - returns job ID
|
|
|
|
## Known Pitfalls
|
|
|
|
### Path Formats
|
|
- All paths must start with `/` (except empty string for root in some endpoints)
|
|
- Paths must NOT end with `/` or contain trailing whitespace
|
|
- Paths are case-sensitive for write operations
|
|
- `path_display` from API may differ in casing from user input; always prefer API-returned paths
|
|
|
|
### Rate Limits
|
|
- Dropbox API has per-endpoint rate limits; batch operations help reduce call count
|
|
- Search is limited to 10,000 total matches across all pagination
|
|
- `DROPBOX_SAVE_URL` has a 15-minute timeout for large files
|
|
|
|
### File Content
|
|
- `DROPBOX_READ_FILE` may return content as base64-encoded `file_content_bytes`
|
|
- Non-downloadable files (Dropbox Paper, Google Docs) require `DROPBOX_EXPORT_FILE` instead
|
|
- Download URLs from shared links require proper authentication headers
|
|
|
|
### Sharing
|
|
- Creating a shared link when one already exists returns a 409 Conflict error
|
|
- Always check `DROPBOX_LIST_SHARED_LINKS` before creating new links
|
|
- Shared folder access may not appear in standard path listings; use `DROPBOX_LIST_SHARED_FOLDERS`
|
|
|
|
## Quick Reference
|
|
|
|
| Task | Tool Slug | Key Params |
|
|
|------|-----------|------------|
|
|
| Search files | `DROPBOX_SEARCH_FILE_OR_FOLDER` | `query`, `options.path` |
|
|
| Continue search | `DROPBOX_SEARCH_CONTINUE` | `cursor` |
|
|
| List folder | `DROPBOX_LIST_FILES_IN_FOLDER` | `path`, `recursive`, `limit` |
|
|
| List folders | `DROPBOX_LIST_FOLDERS` | `path`, `recursive` |
|
|
| Get metadata | `DROPBOX_GET_METADATA` | `path` |
|
|
| Read/download file | `DROPBOX_READ_FILE` | `path` |
|
|
| Upload file | `DROPBOX_UPLOAD_FILE` | `path`, `content`, `mode` |
|
|
| Save URL to Dropbox | `DROPBOX_SAVE_URL` | `path`, `url` |
|
|
| Download folder zip | `DROPBOX_DOWNLOAD_ZIP` | `path` |
|
|
| Export Paper doc | `DROPBOX_EXPORT_FILE` | `path`, `export_format` |
|
|
| Download shared link | `DROPBOX_GET_SHARED_LINK_FILE` | `url` |
|
|
| Create shared link | `DROPBOX_CREATE_SHARED_LINK` | `path`, `settings` |
|
|
| List shared links | `DROPBOX_LIST_SHARED_LINKS` | `path`, `direct_only` |
|
|
| Shared link metadata | `DROPBOX_GET_SHARED_LINK_METADATA` | `url` |
|
|
| List shared folders | `DROPBOX_LIST_SHARED_FOLDERS` | `limit` |
|
|
| Create folder | `DROPBOX_CREATE_FOLDER` | `path` |
|
|
| Create folders batch | `DROPBOX_CREATE_FOLDER_BATCH` | `paths` |
|
|
| Move file/folder | `DROPBOX_MOVE_FILE_OR_FOLDER` | `from_path`, `to_path` |
|
|
| Move batch | `DROPBOX_MOVE_BATCH` | `entries` |
|
|
| Delete file/folder | `DROPBOX_DELETE_FILE_OR_FOLDER` | `path` |
|
|
| Delete batch | `DROPBOX_DELETE_BATCH` | `entries` |
|
|
| Copy file/folder | `DROPBOX_COPY_FILE_OR_FOLDER` | `from_path`, `to_path` |
|
|
| Check batch status | `DROPBOX_CHECK_MOVE_BATCH` | `async_job_id` |
|
|
|
|
## When to Use
|
|
This skill is applicable to execute the workflow or actions described in the overview.
|