Awesome-omni-skill box-automation
Automate Box cloud storage operations including file upload/download, search, folder management, sharing, collaborations, and metadata queries via Rube MCP (Composio). Always search tools first for...
git clone https://github.com/diegosouzapw/awesome-omni-skill
T=$(mktemp -d) && git clone --depth=1 https://github.com/diegosouzapw/awesome-omni-skill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/cli-automation/box-automation" ~/.claude/skills/diegosouzapw-awesome-omni-skill-box-automation && rm -rf "$T"
skills/cli-automation/box-automation/SKILL.mdBox Automation via Rube MCP
Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Box connection via
with toolkitRUBE_MANAGE_CONNECTIONSbox - Always call
first to get current tool schemasRUBE_SEARCH_TOOLS
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.
- Verify Rube MCP is available by confirming
respondsRUBE_SEARCH_TOOLS - Call
with toolkitRUBE_MANAGE_CONNECTIONSbox - If connection is not ACTIVE, follow the returned auth link to complete Box OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Upload and Download Files
When to use: User wants to upload files to Box or download files from it
Tool sequence:
- Find the target folder if path is unknown [Prerequisite]BOX_SEARCH_FOR_CONTENT
- Verify folder exists and get folder_id [Prerequisite]BOX_GET_FOLDER_INFORMATION
- Browse folder contents and discover file IDs [Optional]BOX_LIST_ITEMS_IN_FOLDER
- Upload a file to a specific folder [Required for upload]BOX_UPLOAD_FILE
- Download a file by file_id [Required for download]BOX_DOWNLOAD_FILE
- Bundle multiple files/folders into a zip [Optional]BOX_CREATE_ZIP_DOWNLOAD
Key parameters:
: Folder ID for upload destination (useparent_id
for root folder)"0"
: FileUploadable object withfile
,s3key
, andmimetype
for uploadsname
: Unique file identifier for downloadsfile_id
: Optional file version ID for downloading specific versionsversion
: Comma-separated list of attributes to returnfields
Pitfalls:
- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics
- Files over 50MB should use chunk upload APIs (not available via standard tools)
- The
part of upload must come before theattributes
part or you get HTTP 400 withfilemetadata_after_file_contents - File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g.,
gives file_idhttps://*.app.box.com/files/123
)"123"
2. Search and Browse Content
When to use: User wants to find files, folders, or web links by name, content, or metadata
Tool sequence:
- Full-text search across files, folders, and web links [Required]BOX_SEARCH_FOR_CONTENT
- Browse contents of a specific folder [Optional]BOX_LIST_ITEMS_IN_FOLDER
- Get detailed metadata for a specific file [Optional]BOX_GET_FILE_INFORMATION
- Get detailed metadata for a specific folder [Optional]BOX_GET_FOLDER_INFORMATION
- Search by metadata template values [Optional]BOX_QUERY_FILES_FOLDERS_BY_METADATA
- List recently accessed items [Optional]BOX_LIST_RECENTLY_ACCESSED_ITEMS
Key parameters:
: Search string supporting operators (query
exact match,""
,AND
,OR
- uppercase only)NOT
: Filter bytype
,"file"
, or"folder""web_link"
: Limit search to specific folders (comma-separated IDs)ancestor_folder_ids
: Filter by file type (comma-separated, no dots)file_extensions
: Search incontent_types
,"name"
,"description"
,"file_content"
,"comments""tags"
/created_at_range
: Date filters as comma-separated RFC3339 timestampsupdated_at_range
: Results per page (default 30)limit
: Pagination offset (max 10000)offset
: Forfolder_id
(useLIST_ITEMS_IN_FOLDER
for root)"0"
Pitfalls:
- Queries with offset > 10000 are rejected with HTTP 400
requires eitherBOX_SEARCH_FOR_CONTENT
orquery
parametermdfilters- Misconfigured filters can silently omit expected items; validate with small test queries first
- Boolean operators (
,AND
,OR
) must be uppercaseNOT
requires pagination viaBOX_LIST_ITEMS_IN_FOLDER
ormarker
/offset
; partial listings are commonusemarker- Standard folders sort items by type first (folders before files before web links)
3. Manage Folders
When to use: User wants to create, update, move, copy, or delete folders
Tool sequence:
- Verify folder exists and check permissions [Prerequisite]BOX_GET_FOLDER_INFORMATION
- Create a new folder [Required for create]BOX_CREATE_FOLDER
- Rename, move, or update folder settings [Required for update]BOX_UPDATE_FOLDER
- Copy a folder to a new location [Optional]BOX_COPY_FOLDER
- Move folder to trash [Required for delete]BOX_DELETE_FOLDER
- Permanently delete a trashed folder [Optional]BOX_PERMANENTLY_REMOVE_FOLDER
Key parameters:
: Folder name (noname
,/
, trailing spaces, or\
/.
)..
: Parent folder ID (useparent__id
for root)"0"
: Target folder ID for operationsfolder_id
: Destination folder ID for moves viaparent.idBOX_UPDATE_FOLDER
: Setrecursive
to delete non-empty folderstrue
: Object withshared_link
,access
,password
for creating shared links on folderspermissions
,description
: Optional metadata fieldstags
Pitfalls:
moves to trash by default; useBOX_DELETE_FOLDER
for permanent deletionBOX_PERMANENTLY_REMOVE_FOLDER- Non-empty folders require
for deletionrecursive: true - Root folder (ID
) cannot be copied or deleted"0" - Folder names cannot contain
,/
, non-printable ASCII, or trailing spaces\ - Moving folders requires setting
viaparent.idBOX_UPDATE_FOLDER
4. Share Files and Manage Collaborations
When to use: User wants to share files, manage access, or handle collaborations
Tool sequence:
- Get file details and current sharing status [Prerequisite]BOX_GET_FILE_INFORMATION
- List who has access to a file [Required]BOX_LIST_FILE_COLLABORATIONS
- Change access level or accept/reject invitations [Required]BOX_UPDATE_COLLABORATION
- Get details of a specific collaboration [Optional]BOX_GET_COLLABORATION
- Create shared links, lock files, or update permissions [Optional]BOX_UPDATE_FILE
- Create shared links on folders [Optional]BOX_UPDATE_FOLDER
Key parameters:
: Unique collaboration identifiercollaboration_id
: Access level (role
,"editor"
,"viewer"
,"co-owner"
,"owner"
,"previewer"
,"uploader"
,"viewer uploader"
)"previewer uploader"
:status
,"accepted"
, or"pending"
for collaboration invites"rejected"
: File to share or managefile_id
: Set tolock__access
to lock a file"lock"
:permissions__can__download
or"company"
for download permissions"open"
Pitfalls:
- Only certain roles can invite collaborators; insufficient permissions cause authorization errors
increases load time for the invitee's "All Files" page; limit to 1000 per usercan_view_path- Collaboration expiration requires enterprise admin settings to be enabled
- Nested parameter names use double underscores (e.g.,
,lock__access
)parent__id
5. Box Sign Requests
When to use: User wants to manage document signature requests
Tool sequence:
- List all signature requests [Required]BOX_LIST_BOX_SIGN_REQUESTS
- Get details of a specific sign request [Optional]BOX_GET_BOX_SIGN_REQUEST_BY_ID
- Cancel a pending sign request [Optional]BOX_CANCEL_BOX_SIGN_REQUEST
Key parameters:
: UUID of the sign requestsign_request_id
: Setshared_requests
to include requests where user is a collaborator (not owner)true
: Filter by sender emails (requiressenders
)shared_requests: true
/limit
: Pagination parametersmarker
Pitfalls:
- Requires Box Sign to be enabled for the enterprise account
- Deleted sign files or parent folders cause requests to not appear in listings
- Only the creator can cancel a sign request
- Sign request statuses include:
,converting
,created
,sent
,viewed
,signed
,declined
,cancelled
,expired
,error_convertingerror_sending
Common Patterns
ID Resolution
Box uses numeric string IDs for all entities:
- Root folder: Always ID
"0" - File ID from URL:
gives file_idhttps://*.app.box.com/files/123"123" - Folder ID from URL:
gives folder_idhttps://*.app.box.com/folder/123"123" - Search to ID: Use
to find items, then extract IDs from resultsBOX_SEARCH_FOR_CONTENT - ETag: Use
with file's ETag for safe concurrent delete operationsif_match
Pagination
Box supports two pagination methods:
- Offset-based: Use
+offset
(max offset 10000)limit - Marker-based: Set
and followusemarker: true
from responses (preferred for large datasets)marker - Always paginate to completion to avoid partial results
Nested Parameters
Box tools use double underscore notation for nested objects:
for parent folder referenceparent__id
,lock__access
,lock__expires__at
for file lockslock__is__download__prevented
for download permissionspermissions__can__download
Known Pitfalls
ID Formats
- All IDs are numeric strings (e.g.,
, not integers)"123456" - Root folder is always
"0" - File and folder IDs can be extracted from Box web app URLs
Rate Limits
- Box API has per-endpoint rate limits
- Search and list operations should use pagination responsibly
- Bulk operations should include delays between requests
Parameter Quirks
parameter changes response shape: when specified, only mini representation + requested fields are returnedfields- Search requires either
orquery
; both are optional individually but one must be presentmdfilters
withBOX_UPDATE_FILE
set tolock
removes the lock (raw API only)null- Metadata query
field format:from
orenterprise_{enterprise_id}.templateKeyglobal.templateKey
Permissions
- Deletions fail without sufficient permissions; always handle error responses
- Collaboration roles determine what operations are allowed
- Enterprise settings may restrict certain sharing options
Quick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| Search content | | , , |
| List folder items | | , , |
| Get file info | | , |
| Get folder info | | , |
| Upload file | | , |
| Download file | | |
| Create folder | | , |
| Update folder | | , , |
| Copy folder | | , |
| Delete folder | | , |
| Permanently delete folder | | folder_id |
| Update file | | , , |
| Delete file | | , |
| List collaborations | | |
| Update collaboration | | , |
| Get collaboration | | |
| Query by metadata | | , , |
| List collections | | (none) |
| List collection items | | |
| List sign requests | | , |
| Get sign request | | |
| Cancel sign request | | |
| Recent items | | (none) |
| Create zip download | | item IDs |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.