{"skill":{"slug":"box-files","displayName":"Box","summary":"Manage Box files, folders, collaborations, shared links, metadata, and enterprise content workflows via the Box API. Use this skill when users want to browse...","description":"---\nname: box-files\ndescription: Manage Box files, folders, collaborations, shared links, metadata, and enterprise content workflows via the Box API. Use this skill when users want to browse enterprise content, manage file sharing, automate document workflows, or coordinate Box Sign signature requests.\n---\n\n# Box\n\n![Box](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/brand-logos/box.svg?v=2)\n\nAccess Box via the Box API with managed OAuth authentication. Browse files, inspect metadata, manage sharing and collaboration, and coordinate file workflows from chat.\n\nThis skill uses [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=box-files) for hosted connection flows and credentials so you do not need to configure Box API access yourself.\n\n### Setup in 3 Steps\n\n| Step 1: Install | Step 2: Pair Account | Step 3: Connect Box |\n|:---:|:---:|:---:|\n| ![Install](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/pairing/initialstep_1.gif) | ![Pair](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/approve_process.gif) | *App-specific connection GIF coming soon* |\n| Run the install command in OpenClaw | Sign in and approve the device | Open the dashboard and connect Box |\n\n## How It Works\n\n```\n┌─────────────────┐     ┌──────────────┐     ┌──────────────────┐\n│   OpenClaw      │────▶│   ClawLink   │────▶│     Box API        │\n│   (User Chat)   │     │   (OAuth)    │     │   (Files) │\n└─────────────────┘     └──────────────┘     └──────────────────┘\n          │                       │                       │\n          │  1. Install Plugin    │                       │\n          │  2. Pair Device       │                       │\n          │  3. Connect Box      │                       │\n          │                       │  4. Secure Token      │\n          │                       │  5. Proxy Requests    │\n          │                       │                       │\n          ▼                       ▼                       ▼\n    ┌──────────┐           ┌──────────┐           ┌──────────┐\n    │  SKILL   │           │ Dashboard│           │  Box     │\n    │  File    │           │ Auth     │           │ Web App │\n    └──────────┘           └──────────┘           └──────────┘\n```\n\n## Install\n\nInstall the verified ClawLink plugin from ClawHub. After the user confirms, complete the full setup so ClawLink tools are visible in the next OpenClaw chat.\n\n```bash\nopenclaw plugins install clawhub:clawlink-plugin\nopenclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\nopenclaw gateway restart\n```\n\nThen tell the user: \"OpenClaw has been restarted. Send `/new` as a standalone message to start a fresh chat, then ask for Box again.\"\n\n## Quick Start\n\n```bash\n# List integrations\nclawlink_list_integrations\n\n# List Box tools\nclawlink_list_tools --integration box\n\n# Search for a specific tool\nclawlink_search_tools --query \"file\" --integration box\n```\n\n## Authentication\n\nAll Box tool calls are authenticated automatically by ClawLink using the user's connected Box account.\n\n**No API key is required in chat.** ClawLink stores the OAuth token securely and injects it into every Box API request on the user's behalf.\n\n### Getting Connected\n\n1. Install the ClawLink plugin (see Install above).\n2. Pair the plugin with `clawlink_begin_pairing` if it is not configured yet.\n3. Open https://claw-link.dev/dashboard?add=box and connect Box.\n4. Call `clawlink_list_integrations` to verify the connection is active.\n\n## Connection Management\n\n### List Connections\n\n```bash\nclawlink_list_integrations\n```\n\n**Response:** Returns all connected integrations. Look for `box` in the list.\n\n### Verify Connection\n\n```bash\nclawlink_list_tools --integration box\n```\n\n**Response:** Returns the live tool catalog for Box.\n\n### Reconnect\n\nIf Box tools are missing or the connection shows an error:\n\n1. Direct the user to https://claw-link.dev/dashboard?add=box\n2. After they confirm, call `clawlink_list_integrations` to verify\n3. Then call `clawlink_list_tools --integration box`\n\n## Discovery Workflow\n\n1. Call `clawlink_list_integrations` to confirm Box is connected.\n2. Call `clawlink_list_tools --integration box` to see the live catalog.\n3. Treat the returned list as the source of truth. Do not guess or assume what tools exist.\n4. If the user describes a capability but the exact tool is unclear, call `clawlink_search_tools` with a short query and integration `box`.\n5. If no Box tools appear, direct the user to https://claw-link.dev/dashboard?add=box.\n\n## Execution Workflow\n\n```\n┌─────────────────────────────────────────────────────────────┐\n│  READ OPERATIONS (Safe)                                     │\n│  list → get → search → describe → call                      │\n│                                                             │\n│  Example: List files → Get metadata → Show results │\n└─────────────────────────────────────────────────────────────┘\n                               │\n                               ▼\n┌─────────────────────────────────────────────────────────────┐\n│  WRITE OPERATIONS (Require Confirmation)                    │\n│  list → get → describe → preview → confirm → call           │\n│                                                             │\n│  Example: Describe tool → Preview changes → User approves   │\n│           → Execute update                                  │\n└─────────────────────────────────────────────────────────────┘\n```\n\n1. For unfamiliar tools, ambiguous requests, or any write action, call `clawlink_describe_tool` first.\n2. Use the returned guidance, schema, `whenToUse`, `askBefore`, `safeDefaults`, `examples`, and `followups` to shape the call.\n3. Prefer read, list, search, and get operations before writes when that reduces ambiguity.\n4. For writes or anything marked as requiring confirmation, call `clawlink_preview_tool` first.\n5. Execute with `clawlink_call_tool`. Pass confirmation only after the preview matches the user's intent.\n6. If the tool call fails, report the real error. Do not invent results or restate the failure as a missing capability unless the live catalog supports that conclusion.\n\n## Tool Reference\n\n### Files& Folders\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_list_folder` | List items in a folder | Read |\n| `box_get_file` | Get file metadata and details | Read |\n| `box_create_folder` | Create a new folder | Write |\n| `box_upload_file` | Upload a file to Box | Write |\n| `box_copy_file` | Copy a file to another folder | Write |\n| `box_move_file` | Move a file to another folder | Write |\n| `box_delete_file` | Permanently delete a file | Write |\n| `box_download_file` | Download a file from Box | Read |\n\n### Sharing & Collaborations\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_create_collaboration` | Add a collaborator to a file or folder | Write |\n| `box_delete_collaboration` | Remove a collaborator | Write |\n| `box_add_shared_link_to_file` | Add a shared link to a file | Write |\n| `box_add_shared_link_to_folder` | Add a shared link to a folder | Write |\n| `box_get_file_collaborators` | List collaborators on a file | Read |\n\n### Metadata& Templates\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_create_metadata_template` | Create a metadata template | Write |\n| `box_create_metadata_instance_on_file` | Apply metadata to a file | Write |\n| `box_create_metadata_instance_on_folder` | Apply metadata to a folder | Write |\n| `box_get_metadata_template` | Get metadata template details | Read |\n\n### Box Sign (Signature Requests)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_create_box_sign_request` | Create a signature request | Write |\n| `box_cancel_box_sign_request` | Cancel a pending signature request | Write |\n| `box_get_sign_request` | Get signature request status | Read |\n\n### Users& Groups\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_list_users` | List enterprise users | Read |\n| `box_create_user` | Create a new managed user | Write |\n| `box_create_group` | Create a new group | Write |\n| `box_add_user_to_group` | Add a user to a group | Write |\n\n### Retention & Legal Hold\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_create_retention_policy` | Create a retention policy | Write |\n| `box_assign_retention_policy` | Assign a retention policy | Write |\n| `box_create_legal_hold_policy` | Create a legal hold policy | Write |\n| `box_assign_legal_hold_policy` | Assign a legal hold policy | Write |\n\n### AI (Box AI Studio)\n\n| Tool | Description | Mode |\n|------|-------------|------|\n| `box_ask_question` | Ask questions about Box files using AI | Read |\n| `box_create_ai_agent` | Create a custom AI agent | Write |\n\n## Code Examples\n\n### List folder items\n\n```bash\nclawlink_call_tool --tool \"box_list_folder\" \\\n  --params '{\n    \"folder_id\": \"0\",\n    \"limit\": 20\n  }'\n```\n\n### Get file metadata\n\n```bash\nclawlink_call_tool --tool \"box_get_file\" \\\n  --params '{\n    \"file_id\": \"123456789\"\n  }'\n```\n\n### Create a folder\n\n```bash\nclawlink_call_tool --tool \"box_create_folder\" \\\n  --params '{\n    \"name\": \"New Project Folder\",\n    \"parent_folder_id\": \"0\"\n  }'\n```\n\n### Create a collaboration\n\n```bash\nclawlink_call_tool --tool \"box_create_collaboration\" \\\n  --params '{\n    \"item\": {\n      \"type\": \"file\",\n      \"id\": \"123456789\"\n    },\n    \"accessible_by\": {\n      \"type\": \"user\",\n      \"email\": \"collaborator@example.com\"\n    },\n    \"role\": \"viewer\"\n  }'\n```\n\n## Security & Permissions\n\n- Access is scoped to the connected Box account's permissions and enterprise policies.\n- **All write operations require explicit user confirmation.** Before executing any create, update, or delete call, confirm the target resource and intended effect with the user.\n- Destructive actions (deleting files, folders, users) are marked as high-impact and must be confirmed.\n- Collaboration changes affect external user access; confirm before adding or removing collaborators.\n- Legal hold and retention policy operations require appropriate admin permissions.\n\n## Notes\n\n- Folder ID \"0\" refers to the root (All Files) folder.\n- File IDs and folder IDs are distinct namespaces in Box.\n- Shared links can be configured with different access levels (open, company, collaborators).\n- Some enterprise features (classifications, legal hold, retention) require specific Box plans.\n\n## Error Handling\n\n| Status / Error | Meaning |\n|----------------|---------|\n| Tool not found | The tool name does not exist in the current catalog. Verify with `clawlink_list_tools --integration box`. |\n| Missing connection | Box is not connected. Direct the user to https://claw-link.dev/dashboard?add=box. |\n| `ItemNotFound` | File or folder does not exist. Check the ID. |\n| `Conflict` | A file or folder with that name already exists in the target location. |\n| `AccessDenied` | No permission to access this resource. Verify account permissions. |\n| `Write rejected` | User did not confirm a write action. Always confirm before executing writes. |\n\n### Troubleshooting: Tools Not Visible\n\n1. Check that the ClawLink plugin is installed:\n   ```bash\n   openclaw plugins list\n   ```\n2. If the plugin is installed but tools are missing, tell the user to send `/new` as a standalone message to reload the catalog.\n3. If a fresh chat does not help, run:\n   ```bash\n   openclaw config set tools.alsoAllow '[\"clawlink-plugin\"]' --strict-json\n   openclaw gateway restart\n   ```\n4. After restart, tell the user to send `/new` again and retry.\n\n### Troubleshooting: Invalid Tool Call\n\n1. Ensure the integration slug is exactly `box`.\n2. Use `clawlink_describe_tool` to verify parameter names and types before calling.\n3. For write operations, always call `clawlink_preview_tool` first.\n\n## Resources\n\n- [Box Developer Documentation](https://developer.box.com/)\n- [Box API Reference](https://developer.box.com/reference/)\n- ClawLink: https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=box-files\n- ClawLink Docs: https://docs.claw-link.dev/openclaw\n- ClawLink Verification: https://claw-link.dev/verify\n\n---\n\n**Powered by [ClawLink](https://claw-link.dev/?utm_source=clawhub&utm_medium=referral&utm_content=box-files)** — an integration hub for OpenClaw\n\n![ClawLink Logo](https://raw.githubusercontent.com/ClawLink-HQ/clawlink/main/public/images/logo/link_logo_black_small.png)\n","tags":{"latest":"1.0.6"},"stats":{"comments":0,"downloads":1718,"installsAllTime":1,"installsCurrent":1,"stars":6,"versions":7},"createdAt":1778077317728,"updatedAt":1780988685188},"latestVersion":{"version":"1.0.6","createdAt":1780988685188,"changelog":"Add UTM attribution tags (utm_source=clawhub) to ClawLink branding links so visits from this skill page are tracked as a distinct traffic source.","license":"MIT-0"},"metadata":null,"owner":{"handle":"hith3sh","userId":"s173vws87a7ss71xf9rq53k5gd8568kv","displayName":"Jay","image":"https://avatars.githubusercontent.com/u/83839061?v=4"},"moderation":null}