Microsoft OneDrive Integration
Overview
Section titled “Overview”Enable your agents to upload, download, and manage files and folders in Microsoft OneDrive. Automate file operations, organize content, create sharing links, and streamline your cloud storage workflows with AI-powered automation.
Prerequisites
Section titled “Prerequisites”Before using the Microsoft OneDrive integration, ensure you have:
- A CrewAI AMP account with an active subscription
- A Microsoft account with OneDrive access
- Connected your Microsoft account through the Integrations page
Setting Up Microsoft OneDrive Integration
Section titled “Setting Up Microsoft OneDrive Integration”1. Connect Your Microsoft Account
Section titled “1. Connect Your Microsoft Account”- Navigate to CrewAI AMP Integrations
- Find Microsoft OneDrive in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for file access
- Copy your Enterprise Token from Integration Settings
2. Install Required Package
Section titled “2. Install Required Package”uv add crewai-tools3. Environment Variable Setup
Section titled “3. Environment Variable Setup”export CREWAI_PLATFORM_INTEGRATION_TOKEN="your_enterprise_token"Or add it to your .env file:
CREWAI_PLATFORM_INTEGRATION_TOKEN=your_enterprise_tokenAvailable Actions
Section titled “Available Actions”microsoft_onedrive/list_files
Description: List files and folders in OneDrive.
Parameters:
top(integer, optional): Number of items to retrieve (max 1000). Default is50.orderby(string, optional): Order by field (e.g., “name asc”, “lastModifiedDateTime desc”). Default is “name asc”.filter(string, optional): OData filter expression.
microsoft_onedrive/get_file_info
Description: Get information about a specific file or folder.
Parameters:
item_id(string, required): The ID of the file or folder.
microsoft_onedrive/download_file
Description: Download a file from OneDrive.
Parameters:
item_id(string, required): The ID of the file to download.
microsoft_onedrive/upload_file
Description: Upload a file to OneDrive.
Parameters:
file_name(string, required): Name of the file to upload.content(string, required): Base64 encoded file content.
microsoft_onedrive/create_folder
Description: Create a new folder in OneDrive.
Parameters:
folder_name(string, required): Name of the folder to create.
microsoft_onedrive/delete_item
Description: Delete a file or folder from OneDrive.
Parameters:
item_id(string, required): The ID of the file or folder to delete.
microsoft_onedrive/copy_item
Description: Copy a file or folder in OneDrive.
Parameters:
item_id(string, required): The ID of the file or folder to copy.parent_id(string, optional): The ID of the destination folder (optional, defaults to root).new_name(string, optional): New name for the copied item (optional).
microsoft_onedrive/move_item
Description: Move a file or folder in OneDrive.
Parameters:
item_id(string, required): The ID of the file or folder to move.parent_id(string, required): The ID of the destination folder.new_name(string, optional): New name for the item (optional).
microsoft_onedrive/search_files
Description: Search for files and folders in OneDrive.
Parameters:
query(string, required): Search query string.top(integer, optional): Number of results to return (max 1000). Default is50.
microsoft_onedrive/share_item
Description: Create a sharing link for a file or folder.
Parameters:
item_id(string, required): The ID of the file or folder to share.type(string, optional): Type of sharing link. Enum:view,edit,embed. Default isview.scope(string, optional): Scope of the sharing link. Enum:anonymous,organization. Default isanonymous.
microsoft_onedrive/get_thumbnails
Description: Get thumbnails for a file.
Parameters:
item_id(string, required): The ID of the file.
microsoft_onedrive/list_files_by_path
Description: List files and folders in a specific OneDrive path.
Parameters:
folder_path(string, required): The folder path (e.g., ‘Documents/Reports’).top(integer, optional): Number of items to retrieve (max 1000). Default is50.orderby(string, optional): Order by field (e.g., “name asc”, “lastModifiedDateTime desc”). Default is “name asc”.
microsoft_onedrive/get_recent_files
Description: Get recently accessed files from OneDrive.
Parameters:
top(integer, optional): Number of items to retrieve (max 200). Default is25.
microsoft_onedrive/get_shared_with_me
Description: Get files and folders shared with the user.
Parameters:
top(integer, optional): Number of items to retrieve (max 200). Default is50.orderby(string, optional): Order by field. Default is “name asc”.
microsoft_onedrive/get_file_by_path
Description: Get information about a specific file or folder by path.
Parameters:
file_path(string, required): The file or folder path (e.g., ‘Documents/report.docx’).
microsoft_onedrive/download_file_by_path
Description: Download a file from OneDrive by its path.
Parameters:
file_path(string, required): The file path (e.g., ‘Documents/report.docx’).
Usage Examples
Section titled “Usage Examples”Basic Microsoft OneDrive Agent Setup
Section titled “Basic Microsoft OneDrive Agent Setup”from crewai import Agent, Task, Crew
# Create an agent with Microsoft OneDrive capabilitiesonedrive_agent = Agent( role="File Manager", goal="Manage files and folders in OneDrive efficiently", backstory="An AI assistant specialized in Microsoft OneDrive file operations and organization.", apps=['microsoft_onedrive'] # All OneDrive actions will be available)
# Task to list files and create a folderorganize_files_task = Task( description="List all files in my OneDrive root directory and create a new folder called 'Project Documents'.", agent=onedrive_agent, expected_output="List of files displayed and new folder 'Project Documents' created.")
# Run the taskcrew = Crew( agents=[onedrive_agent], tasks=[organize_files_task])
crew.kickoff()File Upload and Management
Section titled “File Upload and Management”from crewai import Agent, Task, Crew
# Create an agent focused on file operationsfile_operator = Agent( role="File Operator", goal="Upload, download, and manage files with precision", backstory="An AI assistant skilled in file handling and content management.", apps=['microsoft_onedrive/upload_file', 'microsoft_onedrive/download_file', 'microsoft_onedrive/get_file_info'])
# Task to upload and manage a filefile_management_task = Task( description="Upload a text file named 'report.txt' with content 'This is a sample report for the project.' Then get information about the uploaded file.", agent=file_operator, expected_output="File uploaded successfully and file information retrieved.")
crew = Crew( agents=[file_operator], tasks=[file_management_task])
crew.kickoff()File Organization and Sharing
Section titled “File Organization and Sharing”from crewai import Agent, Task, Crew
# Create an agent for file organization and sharingfile_organizer = Agent( role="File Organizer", goal="Organize files and create sharing links for collaboration", backstory="An AI assistant that excels at organizing files and managing sharing permissions.", apps=['microsoft_onedrive/search_files', 'microsoft_onedrive/move_item', 'microsoft_onedrive/share_item', 'microsoft_onedrive/create_folder'])
# Task to organize and share filesorganize_share_task = Task( description="Search for files containing 'presentation' in the name, create a folder called 'Presentations', move the found files to this folder, and create a view-only sharing link for the folder.", agent=file_organizer, expected_output="Files organized into 'Presentations' folder and sharing link created.")
crew = Crew( agents=[file_organizer], tasks=[organize_share_task])
crew.kickoff()Troubleshooting
Section titled “Troubleshooting”Common Issues
Section titled “Common Issues”Authentication Errors
- Ensure your Microsoft account has the necessary permissions for file access (e.g.,
Files.Read,Files.ReadWrite). - Verify that the OAuth connection includes all required scopes.
File Upload Issues
- Ensure
file_nameandcontentare provided for file uploads. - Content must be Base64 encoded for binary files.
- Check that you have write permissions to OneDrive.
File/Folder ID Issues
- Double-check item IDs for correctness when accessing specific files or folders.
- Item IDs are returned by other operations like
list_filesorsearch_files. - Ensure the referenced items exist and are accessible.
Search and Filter Operations
- Use appropriate search terms for
search_filesoperations. - For
filterparameters, use proper OData syntax.
File Operations (Copy/Move)
- For
move_item, ensure bothitem_idandparent_idare provided. - For
copy_item, onlyitem_idis required;parent_iddefaults to root if not specified. - Verify that destination folders exist and are accessible.
Sharing Link Creation
- Ensure the item exists before creating sharing links.
- Choose appropriate
typeandscopebased on your sharing requirements. anonymousscope allows access without sign-in;organizationrequires organizational account.
Getting Help
Section titled “Getting Help”Need Help?
Contact our support team for assistance with Microsoft OneDrive integration setup or troubleshooting.