Getting Started
Integration Docs
- Asana Integration
- Box Integration
- ClickUp Integration
- GitHub Integration
- Gmail Integration
- Google Calendar Integration
- Google Sheets Integration
- HubSpot Integration
- Jira Integration
- Linear Integration
- Notion Integration
- Salesforce Integration
- Shopify Integration
- Slack Integration
- Stripe Integration
- Zendesk Integration
How-To Guides
Resources
Box Integration
File storage and document management with Box integration for CrewAI.
Overview
Enable your agents to manage files, folders, and documents through Box. Upload files, organize folder structures, search content, and streamline your team’s document management with AI-powered automation.
Prerequisites
Before using the Box integration, ensure you have:
- A CrewAI Enterprise account with an active subscription
- A Box account with appropriate permissions
- Connected your Box account through the Integrations page
Setting Up Box Integration
1. Connect Your Box Account
- Navigate to CrewAI Enterprise Integrations
- Find Box in the Authentication Integrations section
- Click Connect and complete the OAuth flow
- Grant the necessary permissions for file and folder management
- Copy your Enterprise Token from Account Settings
2. Install Required Package
uv add crewai-tools
Available Actions
Description: Save a file from URL in Box.
Parameters:
fileAttributes
(object, required): Attributes - File metadata including name, parent folder, and timestamps.CopyAsk AI{ "content_created_at": "2012-12-12T10:53:43-08:00", "content_modified_at": "2012-12-12T10:53:43-08:00", "name": "qwerty.png", "parent": { "id": "1234567" } }
file
(string, required): File URL - Files must be smaller than 50MB in size. (example: “https://picsum.photos/200/300”).
Description: Save a file in Box.
Parameters:
file
(string, required): File - Accepts a File Object containing file data. Files must be smaller than 50MB in size.fileName
(string, required): File Name (example: “qwerty.png”).folder
(string, optional): Folder - Use Connect Portal Workflow Settings to allow users to select the File’s Folder destination. Defaults to the user’s root folder if left blank.
Description: Get a file by ID in Box.
Parameters:
fileId
(string, required): File ID - The unique identifier that represents a file. (example: “12345”).
Description: List files in Box.
Parameters:
folderId
(string, required): Folder ID - The unique identifier that represents a folder. (example: “0”).filterFormula
(object, optional): A filter in disjunctive normal form - OR of AND groups of single conditions.CopyAsk AI{ "operator": "OR", "conditions": [ { "operator": "AND", "conditions": [ { "field": "direction", "operator": "$stringExactlyMatches", "value": "ASC" } ] } ] }
Description: Create a folder in Box.
Parameters:
folderName
(string, required): Name - The name for the new folder. (example: “New Folder”).folderParent
(object, required): Parent Folder - The parent folder where the new folder will be created.CopyAsk AI{ "id": "123456" }
Description: Move a folder in Box.
Parameters:
folderId
(string, required): Folder ID - The unique identifier that represents a folder. (example: “0”).folderName
(string, required): Name - The name for the folder. (example: “New Folder”).folderParent
(object, required): Parent Folder - The new parent folder destination.CopyAsk AI{ "id": "123456" }
Description: Get a folder by ID in Box.
Parameters:
folderId
(string, required): Folder ID - The unique identifier that represents a folder. (example: “0”).
Description: Search folders in Box.
Parameters:
folderId
(string, required): Folder ID - The folder to search within.filterFormula
(object, optional): A filter in disjunctive normal form - OR of AND groups of single conditions.CopyAsk AI{ "operator": "OR", "conditions": [ { "operator": "AND", "conditions": [ { "field": "sort", "operator": "$stringExactlyMatches", "value": "name" } ] } ] }
Description: Delete a folder in Box.
Parameters:
folderId
(string, required): Folder ID - The unique identifier that represents a folder. (example: “0”).recursive
(boolean, optional): Recursive - Delete a folder that is not empty by recursively deleting the folder and all of its content.
Usage Examples
Basic Box Agent Setup
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
# Get enterprise tools (Box tools will be included)
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token"
)
# Create an agent with Box capabilities
box_agent = Agent(
role="Document Manager",
goal="Manage files and folders in Box efficiently",
backstory="An AI assistant specialized in document management and file organization.",
tools=[enterprise_tools]
)
# Task to create a folder structure
create_structure_task = Task(
description="Create a folder called 'Project Files' in the root directory and upload a document from URL",
agent=box_agent,
expected_output="Folder created and file uploaded successfully"
)
# Run the task
crew = Crew(
agents=[box_agent],
tasks=[create_structure_task]
)
crew.kickoff()
Filtering Specific Box Tools
from crewai_tools import CrewaiEnterpriseTools
# Get only specific Box tools
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token",
actions_list=["box_create_folder", "box_save_file", "box_list_files"]
)
file_organizer_agent = Agent(
role="File Organizer",
goal="Organize and manage file storage efficiently",
backstory="An AI assistant that focuses on file organization and storage management.",
tools=enterprise_tools
)
# Task to organize files
organization_task = Task(
description="Create a folder structure for the marketing team and organize existing files",
agent=file_organizer_agent,
expected_output="Folder structure created and files organized"
)
crew = Crew(
agents=[file_organizer_agent],
tasks=[organization_task]
)
crew.kickoff()
Advanced File Management
from crewai import Agent, Task, Crew
from crewai_tools import CrewaiEnterpriseTools
enterprise_tools = CrewaiEnterpriseTools(
enterprise_token="your_enterprise_token"
)
file_manager = Agent(
role="File Manager",
goal="Maintain organized file structure and manage document lifecycle",
backstory="An experienced file manager who ensures documents are properly organized and accessible.",
tools=[enterprise_tools]
)
# Complex task involving multiple Box operations
management_task = Task(
description="""
1. List all files in the root folder
2. Create monthly archive folders for the current year
3. Move old files to appropriate archive folders
4. Generate a summary report of the file organization
""",
agent=file_manager,
expected_output="Files organized into archive structure with summary report"
)
crew = Crew(
agents=[file_manager],
tasks=[management_task]
)
crew.kickoff()
Was this page helpful?