OneDrive Automation via Rube MCP
Automate OneDrive operations including file upload/download, search, folder management, sharing links, permissions management, and drive browsing through Composio's OneDrive toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active OneDrive connection via
RUBE_MANAGE_CONNECTIONS with toolkit one_drive
- 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.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit one_drive
- If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Search and Browse Files
When to use: User wants to find files or browse folder contents in OneDrive
Tool sequence:
ONE_DRIVE_GET_DRIVE - Verify drive access and get drive details [Prerequisite]
ONE_DRIVE_SEARCH_ITEMS - Keyword search across filenames, metadata, and content [Required]
ONE_DRIVE_ONEDRIVE_LIST_ITEMS - List all items in the root of a drive [Optional]
ONE_DRIVE_GET_ITEM - Get detailed metadata for a specific item, expand children [Optional]
ONE_DRIVE_ONEDRIVE_FIND_FILE - Find a specific file by exact name in a folder [Optional]
ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Find a specific folder by name [Optional]
ONE_DRIVE_LIST_DRIVES - List all accessible drives [Optional]
Key parameters:
q: Search query (plain keywords only, NOT KQL syntax)
search_scope: "root" (folder hierarchy) or "drive" (includes shared items)
top: Max items per page (default 200)
skip_token: Pagination token from @odata.nextLink
select: Comma-separated fields to return (e.g., "id,name,webUrl,size")
orderby: Sort order (e.g., "name asc", "name desc")
item_id: Item ID for GET_ITEM
expand_relations: Array like ["children"] or ["thumbnails"] for GET_ITEM
user_id: "me" (default) or specific user ID/email
Pitfalls:
ONE_DRIVE_SEARCH_ITEMS does NOT support KQL operators (folder:, file:, filetype:, path:); these are treated as literal text
- Wildcard characters (
*, ?) are NOT supported and are auto-removed; use file extension keywords instead (e.g., "pdf" not "*.pdf")
ONE_DRIVE_ONEDRIVE_LIST_ITEMS returns only root-level contents; use recursive ONE_DRIVE_GET_ITEM with expand_relations: ["children"] for deeper levels
- Large folders paginate; always follow
skip_token / @odata.nextLink until exhausted
- Some drive ID formats may return "ObjectHandle is Invalid" errors due to Microsoft Graph API limitations
2. Upload and Download Files
When to use: User wants to upload files to OneDrive or download files from it
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate the target folder [Prerequisite]
ONE_DRIVE_ONEDRIVE_UPLOAD_FILE - Upload a file to a specified folder [Required for upload]
ONE_DRIVE_DOWNLOAD_FILE - Download a file by item ID [Required for download]
ONE_DRIVE_GET_ITEM - Get file details before download [Optional]
Key parameters:
file: FileUploadable object with s3key, mimetype, and name for uploads
folder: Destination path (e.g., "/Documents/Reports") or folder ID for uploads
item_id: File's unique identifier for downloads
file_name: Desired filename with extension for downloads
drive_id: Specific drive ID (for SharePoint or OneDrive for Business)
user_id: "me" (default) or specific user identifier
Pitfalls:
- Upload automatically renames on conflict (no overwrite option by default)
- Large files are automatically handled via chunking
drive_id overrides user_id when both are provided
- Item IDs vary by platform: OneDrive for Business uses
01... prefix, OneDrive Personal uses HASH!NUMBER format
- Item IDs are case-sensitive; use exactly as returned from API
3. Share Files and Manage Permissions
When to use: User wants to share files/folders or manage who has access
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FILE or ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate the item [Prerequisite]
ONE_DRIVE_GET_ITEM_PERMISSIONS - Check current permissions [Prerequisite]
ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM - Grant access to specific users [Required]
ONE_DRIVE_CREATE_LINK - Create a shareable link [Optional]
ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - Update item metadata [Optional]
Key parameters:
item_id: The file or folder to share
recipients: Array of objects with email or object_id
roles: Array with "read" or "write"
send_invitation: true to send notification email, false for silent permission grant
require_sign_in: true to require authentication to access
message: Custom message for invitation (max 2000 characters)
expiration_date_time: ISO 8601 date for permission expiry
retain_inherited_permissions: true (default) to keep existing inherited permissions
Pitfalls:
- Using wrong
item_id with INVITE_USER_TO_DRIVE_ITEM changes permissions on unintended items; always verify first
- Write or higher roles are impactful; get explicit user confirmation before granting
GET_ITEM_PERMISSIONS returns inherited and owner entries; do not assume response only reflects recent changes
permissions cannot be expanded via ONE_DRIVE_GET_ITEM; use the separate permissions endpoint
- At least one of
require_sign_in or send_invitation must be true
4. Manage Folders (Create, Move, Delete, Copy)
When to use: User wants to create, move, rename, delete, or copy files and folders
Tool sequence:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER - Locate source and destination folders [Prerequisite]
ONE_DRIVE_ONEDRIVE_CREATE_FOLDER - Create a new folder [Required for create]
ONE_DRIVE_MOVE_ITEM - Move a file or folder to a new location [Required for move]
ONE_DRIVE_COPY_ITEM - Copy a file or folder (async operation) [Required for copy]
ONE_DRIVE_DELETE_ITEM - Move item to recycle bin [Required for delete]
ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - Rename or update item properties [Optional]
Key parameters:
name: Folder name for creation or new name for rename/copy
parent_folder: Path (e.g., "/Documents/Reports") or folder ID for creation
itemId: Item to move
parentReference: Object with id (destination folder ID) for moves: {"id": "folder_id"}
item_id: Item to copy or delete
parent_reference: Object with id and optional driveId for copy destination
@microsoft.graph.conflictBehavior: "fail", "replace", or "rename" for copies
if_match: ETag for optimistic concurrency on deletes
Pitfalls:
ONE_DRIVE_MOVE_ITEM does NOT support cross-drive moves; use ONE_DRIVE_COPY_ITEM for cross-drive transfers
parentReference for moves requires folder ID (not folder name); resolve with ONEDRIVE_FIND_FOLDER first
ONE_DRIVE_COPY_ITEM is asynchronous; response provides a URL to monitor progress
ONE_DRIVE_DELETE_ITEM moves to recycle bin, not permanent deletion
- Folder creation auto-renames on conflict (e.g., "New Folder" becomes "New Folder 1")
- Provide either
name or parent_reference (or both) for ONE_DRIVE_COPY_ITEM
5. Track Changes and Drive Information
When to use: User wants to monitor changes or get drive/quota information
Tool sequence:
ONE_DRIVE_GET_DRIVE - Get drive properties and metadata [Required]
ONE_DRIVE_GET_QUOTA - Check storage quota (total, used, remaining) [Optional]
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA - Track changes in SharePoint site drives [Optional]
ONE_DRIVE_GET_ITEM_VERSIONS - Get version history of a file [Optional]
Key parameters:
drive_id: Drive identifier (or "me" for personal drive)
site_id: SharePoint site identifier for delta tracking
token: Delta token ("latest" for current state, URL for next page, or timestamp)
item_id: File ID for version history
Pitfalls:
- Delta queries are only available for SharePoint site drives via
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA
- Token
"latest" returns current delta token without items (useful as starting point)
- Deep or large drives can take several minutes to crawl; use batching and resume logic
Common Patterns
ID Resolution
- User: Use
"me" for authenticated user or specific user email/GUID
- Item ID from find: Use
ONE_DRIVE_ONEDRIVE_FIND_FILE or ONE_DRIVE_ONEDRIVE_FIND_FOLDER to get item IDs
- Item ID from search: Extract from
ONE_DRIVE_SEARCH_ITEMS results
- Drive ID: Use
ONE_DRIVE_LIST_DRIVES or ONE_DRIVE_GET_DRIVE to discover drives
- Folder path to ID: Use
ONE_DRIVE_ONEDRIVE_FIND_FOLDER with path, then extract ID from response
ID formats vary by platform:
- OneDrive for Business/SharePoint:
01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK
- OneDrive Personal:
D4648F06C91D9D3D!54927
Pagination
OneDrive uses token-based pagination:
- Follow
@odata.nextLink or skip_token until no more pages
- Set
top for page size (varies by endpoint)
ONE_DRIVE_ONEDRIVE_LIST_ITEMS auto-handles pagination internally
- Aggressive parallel requests can trigger HTTP 429; honor
Retry-After headers
Path vs ID
Most OneDrive tools accept either paths or IDs:
- Paths: Start with
/ (e.g., "/Documents/Reports")
- IDs: Use unique item identifiers from API responses
- Item paths for permissions: Use
:/path/to/item:/ format
Known Pitfalls
ID Formats
- Item IDs are case-sensitive and platform-specific
- Never use web URLs, sharing links, or manually constructed identifiers as item IDs
- Always use IDs exactly as returned from Microsoft Graph API
Rate Limits
- Aggressive parallel
ONE_DRIVE_GET_ITEM calls can trigger HTTP 429 Too Many Requests
- Honor
Retry-After headers and implement throttling
- Deep drive crawls should use batching with delays
Search Limitations
- No KQL support; use plain keywords only
- No wildcard characters; use extension keywords (e.g.,
"pdf" not "*.pdf")
- No path-based filtering in search; use folder listing instead
q='*' wildcard-only queries return HTTP 400 invalidRequest
Parameter Quirks
drive_id overrides user_id when both are provided
permissions cannot be expanded via GET_ITEM; use dedicated permissions endpoint
- Move operations require folder IDs in
parentReference, not folder names
- Copy operations are asynchronous; response provides monitoring URL
Quick Reference
| Task |
Tool Slug |
Key Params |
| Search files |
ONE_DRIVE_SEARCH_ITEMS |
q, search_scope, top |
| List root items |
ONE_DRIVE_ONEDRIVE_LIST_ITEMS |
user_id, select, top |
| Get item details |
ONE_DRIVE_GET_ITEM |
item_id, expand_relations |
| Find file by name |
ONE_DRIVE_ONEDRIVE_FIND_FILE |
name, folder |
| Find folder by name |
ONE_DRIVE_ONEDRIVE_FIND_FOLDER |
name, folder |
| Upload file |
ONE_DRIVE_ONEDRIVE_UPLOAD_FILE |
file, folder |
| Download file |
ONE_DRIVE_DOWNLOAD_FILE |
item_id, file_name |
| Create folder |
ONE_DRIVE_ONEDRIVE_CREATE_FOLDER |
name, parent_folder |
| Move item |
ONE_DRIVE_MOVE_ITEM |
itemId, parentReference |
| Copy item |
ONE_DRIVE_COPY_ITEM |
item_id, parent_reference, name |
| Delete item |
ONE_DRIVE_DELETE_ITEM |
item_id |
| Share with users |
ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM |
item_id, recipients, roles |
| Create share link |
ONE_DRIVE_CREATE_LINK |
item_id, link type |
| Get permissions |
ONE_DRIVE_GET_ITEM_PERMISSIONS |
item_id |
| Update metadata |
ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA |
item_id, fields |
| Get drive info |
ONE_DRIVE_GET_DRIVE |
drive_id |
| List drives |
ONE_DRIVE_LIST_DRIVES |
user/group/site scope |
| Get quota |
ONE_DRIVE_GET_QUOTA |
(none) |
| Track changes |
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA |
site_id, token |
| Version history |
ONE_DRIVE_GET_ITEM_VERSIONS |
item_id |
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
1---2name: one-drive-automation3description: Automate OneDrive file management, search, uploads, downloads, sharing, permissions, and folder operations via Rube MCP (Composio). Always search tools first for current schemas.4---56# OneDrive Automation via Rube MCP78Automate OneDrive operations including file upload/download, search, folder management, sharing links, permissions management, and drive browsing through Composio's OneDrive toolkit.910## Prerequisites1112- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)13- Active OneDrive connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `one_drive`14- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1516## Setup1718**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.19201. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds212. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `one_drive`223. If connection is not ACTIVE, follow the returned auth link to complete Microsoft OAuth234. Confirm connection status shows ACTIVE before running any workflows2425## Core Workflows2627### 1. Search and Browse Files2829**When to use**: User wants to find files or browse folder contents in OneDrive3031**Tool sequence**:321. `ONE_DRIVE_GET_DRIVE` - Verify drive access and get drive details [Prerequisite]332. `ONE_DRIVE_SEARCH_ITEMS` - Keyword search across filenames, metadata, and content [Required]343. `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` - List all items in the root of a drive [Optional]354. `ONE_DRIVE_GET_ITEM` - Get detailed metadata for a specific item, expand children [Optional]365. `ONE_DRIVE_ONEDRIVE_FIND_FILE` - Find a specific file by exact name in a folder [Optional]376. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Find a specific folder by name [Optional]387. `ONE_DRIVE_LIST_DRIVES` - List all accessible drives [Optional]3940**Key parameters**:41- `q`: Search query (plain keywords only, NOT KQL syntax)42- `search_scope`: `"root"` (folder hierarchy) or `"drive"` (includes shared items)43- `top`: Max items per page (default 200)44- `skip_token`: Pagination token from `@odata.nextLink`45- `select`: Comma-separated fields to return (e.g., `"id,name,webUrl,size"`)46- `orderby`: Sort order (e.g., `"name asc"`, `"name desc"`)47- `item_id`: Item ID for `GET_ITEM`48- `expand_relations`: Array like `["children"]` or `["thumbnails"]` for `GET_ITEM`49- `user_id`: `"me"` (default) or specific user ID/email5051**Pitfalls**:52- `ONE_DRIVE_SEARCH_ITEMS` does NOT support KQL operators (`folder:`, `file:`, `filetype:`, `path:`); these are treated as literal text53- Wildcard characters (`*`, `?`) are NOT supported and are auto-removed; use file extension keywords instead (e.g., `"pdf"` not `"*.pdf"`)54- `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` returns only root-level contents; use recursive `ONE_DRIVE_GET_ITEM` with `expand_relations: ["children"]` for deeper levels55- Large folders paginate; always follow `skip_token` / `@odata.nextLink` until exhausted56- Some drive ID formats may return "ObjectHandle is Invalid" errors due to Microsoft Graph API limitations5758### 2. Upload and Download Files5960**When to use**: User wants to upload files to OneDrive or download files from it6162**Tool sequence**:631. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate the target folder [Prerequisite]642. `ONE_DRIVE_ONEDRIVE_UPLOAD_FILE` - Upload a file to a specified folder [Required for upload]653. `ONE_DRIVE_DOWNLOAD_FILE` - Download a file by item ID [Required for download]664. `ONE_DRIVE_GET_ITEM` - Get file details before download [Optional]6768**Key parameters**:69- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads70- `folder`: Destination path (e.g., `"/Documents/Reports"`) or folder ID for uploads71- `item_id`: File's unique identifier for downloads72- `file_name`: Desired filename with extension for downloads73- `drive_id`: Specific drive ID (for SharePoint or OneDrive for Business)74- `user_id`: `"me"` (default) or specific user identifier7576**Pitfalls**:77- Upload automatically renames on conflict (no overwrite option by default)78- Large files are automatically handled via chunking79- `drive_id` overrides `user_id` when both are provided80- Item IDs vary by platform: OneDrive for Business uses `01...` prefix, OneDrive Personal uses `HASH!NUMBER` format81- Item IDs are case-sensitive; use exactly as returned from API8283### 3. Share Files and Manage Permissions8485**When to use**: User wants to share files/folders or manage who has access8687**Tool sequence**:881. `ONE_DRIVE_ONEDRIVE_FIND_FILE` or `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate the item [Prerequisite]892. `ONE_DRIVE_GET_ITEM_PERMISSIONS` - Check current permissions [Prerequisite]903. `ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM` - Grant access to specific users [Required]914. `ONE_DRIVE_CREATE_LINK` - Create a shareable link [Optional]925. `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` - Update item metadata [Optional]9394**Key parameters**:95- `item_id`: The file or folder to share96- `recipients`: Array of objects with `email` or `object_id`97- `roles`: Array with `"read"` or `"write"`98- `send_invitation`: `true` to send notification email, `false` for silent permission grant99- `require_sign_in`: `true` to require authentication to access100- `message`: Custom message for invitation (max 2000 characters)101- `expiration_date_time`: ISO 8601 date for permission expiry102- `retain_inherited_permissions`: `true` (default) to keep existing inherited permissions103104**Pitfalls**:105- Using wrong `item_id` with `INVITE_USER_TO_DRIVE_ITEM` changes permissions on unintended items; always verify first106- Write or higher roles are impactful; get explicit user confirmation before granting107- `GET_ITEM_PERMISSIONS` returns inherited and owner entries; do not assume response only reflects recent changes108- `permissions` cannot be expanded via `ONE_DRIVE_GET_ITEM`; use the separate permissions endpoint109- At least one of `require_sign_in` or `send_invitation` must be `true`110111### 4. Manage Folders (Create, Move, Delete, Copy)112113**When to use**: User wants to create, move, rename, delete, or copy files and folders114115**Tool sequence**:1161. `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` - Locate source and destination folders [Prerequisite]1172. `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` - Create a new folder [Required for create]1183. `ONE_DRIVE_MOVE_ITEM` - Move a file or folder to a new location [Required for move]1194. `ONE_DRIVE_COPY_ITEM` - Copy a file or folder (async operation) [Required for copy]1205. `ONE_DRIVE_DELETE_ITEM` - Move item to recycle bin [Required for delete]1216. `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` - Rename or update item properties [Optional]122123**Key parameters**:124- `name`: Folder name for creation or new name for rename/copy125- `parent_folder`: Path (e.g., `"/Documents/Reports"`) or folder ID for creation126- `itemId`: Item to move127- `parentReference`: Object with `id` (destination folder ID) for moves: `{"id": "folder_id"}`128- `item_id`: Item to copy or delete129- `parent_reference`: Object with `id` and optional `driveId` for copy destination130- `@microsoft.graph.conflictBehavior`: `"fail"`, `"replace"`, or `"rename"` for copies131- `if_match`: ETag for optimistic concurrency on deletes132133**Pitfalls**:134- `ONE_DRIVE_MOVE_ITEM` does NOT support cross-drive moves; use `ONE_DRIVE_COPY_ITEM` for cross-drive transfers135- `parentReference` for moves requires folder ID (not folder name); resolve with `ONEDRIVE_FIND_FOLDER` first136- `ONE_DRIVE_COPY_ITEM` is asynchronous; response provides a URL to monitor progress137- `ONE_DRIVE_DELETE_ITEM` moves to recycle bin, not permanent deletion138- Folder creation auto-renames on conflict (e.g., "New Folder" becomes "New Folder 1")139- Provide either `name` or `parent_reference` (or both) for `ONE_DRIVE_COPY_ITEM`140141### 5. Track Changes and Drive Information142143**When to use**: User wants to monitor changes or get drive/quota information144145**Tool sequence**:1461. `ONE_DRIVE_GET_DRIVE` - Get drive properties and metadata [Required]1472. `ONE_DRIVE_GET_QUOTA` - Check storage quota (total, used, remaining) [Optional]1483. `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA` - Track changes in SharePoint site drives [Optional]1494. `ONE_DRIVE_GET_ITEM_VERSIONS` - Get version history of a file [Optional]150151**Key parameters**:152- `drive_id`: Drive identifier (or `"me"` for personal drive)153- `site_id`: SharePoint site identifier for delta tracking154- `token`: Delta token (`"latest"` for current state, URL for next page, or timestamp)155- `item_id`: File ID for version history156157**Pitfalls**:158- Delta queries are only available for SharePoint site drives via `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA`159- Token `"latest"` returns current delta token without items (useful as starting point)160- Deep or large drives can take several minutes to crawl; use batching and resume logic161162## Common Patterns163164### ID Resolution165- **User**: Use `"me"` for authenticated user or specific user email/GUID166- **Item ID from find**: Use `ONE_DRIVE_ONEDRIVE_FIND_FILE` or `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` to get item IDs167- **Item ID from search**: Extract from `ONE_DRIVE_SEARCH_ITEMS` results168- **Drive ID**: Use `ONE_DRIVE_LIST_DRIVES` or `ONE_DRIVE_GET_DRIVE` to discover drives169- **Folder path to ID**: Use `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` with path, then extract ID from response170171ID formats vary by platform:172- OneDrive for Business/SharePoint: `01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK`173- OneDrive Personal: `D4648F06C91D9D3D!54927`174175### Pagination176OneDrive uses token-based pagination:177- Follow `@odata.nextLink` or `skip_token` until no more pages178- Set `top` for page size (varies by endpoint)179- `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` auto-handles pagination internally180- Aggressive parallel requests can trigger HTTP 429; honor `Retry-After` headers181182### Path vs ID183Most OneDrive tools accept either paths or IDs:184- **Paths**: Start with `/` (e.g., `"/Documents/Reports"`)185- **IDs**: Use unique item identifiers from API responses186- **Item paths for permissions**: Use `:/path/to/item:/` format187188## Known Pitfalls189190### ID Formats191- Item IDs are case-sensitive and platform-specific192- Never use web URLs, sharing links, or manually constructed identifiers as item IDs193- Always use IDs exactly as returned from Microsoft Graph API194195### Rate Limits196- Aggressive parallel `ONE_DRIVE_GET_ITEM` calls can trigger HTTP 429 Too Many Requests197- Honor `Retry-After` headers and implement throttling198- Deep drive crawls should use batching with delays199200### Search Limitations201- No KQL support; use plain keywords only202- No wildcard characters; use extension keywords (e.g., `"pdf"` not `"*.pdf"`)203- No path-based filtering in search; use folder listing instead204- `q='*'` wildcard-only queries return HTTP 400 invalidRequest205206### Parameter Quirks207- `drive_id` overrides `user_id` when both are provided208- `permissions` cannot be expanded via `GET_ITEM`; use dedicated permissions endpoint209- Move operations require folder IDs in `parentReference`, not folder names210- Copy operations are asynchronous; response provides monitoring URL211212## Quick Reference213214| Task | Tool Slug | Key Params |215|------|-----------|------------|216| Search files | `ONE_DRIVE_SEARCH_ITEMS` | `q`, `search_scope`, `top` |217| List root items | `ONE_DRIVE_ONEDRIVE_LIST_ITEMS` | `user_id`, `select`, `top` |218| Get item details | `ONE_DRIVE_GET_ITEM` | `item_id`, `expand_relations` |219| Find file by name | `ONE_DRIVE_ONEDRIVE_FIND_FILE` | `name`, `folder` |220| Find folder by name | `ONE_DRIVE_ONEDRIVE_FIND_FOLDER` | `name`, `folder` |221| Upload file | `ONE_DRIVE_ONEDRIVE_UPLOAD_FILE` | `file`, `folder` |222| Download file | `ONE_DRIVE_DOWNLOAD_FILE` | `item_id`, `file_name` |223| Create folder | `ONE_DRIVE_ONEDRIVE_CREATE_FOLDER` | `name`, `parent_folder` |224| Move item | `ONE_DRIVE_MOVE_ITEM` | `itemId`, `parentReference` |225| Copy item | `ONE_DRIVE_COPY_ITEM` | `item_id`, `parent_reference`, `name` |226| Delete item | `ONE_DRIVE_DELETE_ITEM` | `item_id` |227| Share with users | `ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM` | `item_id`, `recipients`, `roles` |228| Create share link | `ONE_DRIVE_CREATE_LINK` | `item_id`, link type |229| Get permissions | `ONE_DRIVE_GET_ITEM_PERMISSIONS` | `item_id` |230| Update metadata | `ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA` | `item_id`, fields |231| Get drive info | `ONE_DRIVE_GET_DRIVE` | `drive_id` |232| List drives | `ONE_DRIVE_LIST_DRIVES` | user/group/site scope |233| Get quota | `ONE_DRIVE_GET_QUOTA` | (none) |234| Track changes | `ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA` | `site_id`, `token` |235| Version history | `ONE_DRIVE_GET_ITEM_VERSIONS` | `item_id` |236237## When to Use238This skill is applicable to execute the workflow or actions described in the overview.239240## Limitations241- Use this skill only when the task clearly matches the scope described above.242- Do not treat the output as a substitute for enprojectnment-specific validation, testing, or expert review.243- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.