Integração com Box
Visão Geral
Seção intitulada “Visão Geral”Permita que seus agentes gerenciem arquivos, pastas e documentos através do Box. Faça upload de arquivos, organize estruturas de pastas, pesquise conteúdos e otimize o gerenciamento de documentos da sua equipe com automação alimentada por IA.
Pré-requisitos
Seção intitulada “Pré-requisitos”Antes de utilizar a integração com o Box, assegure-se de que você possui:
- Uma conta CrewAI AMP com assinatura ativa
- Uma conta Box com as permissões apropriadas
- Sua conta Box conectada através da página de Integrações
Configurando a Integração com o Box
Seção intitulada “Configurando a Integração com o Box”1. Conecte sua conta Box
Seção intitulada “1. Conecte sua conta Box”- Acesse Integrações do CrewAI AMP
- Encontre Box na seção de Integrações de Autenticação
- Clique em Conectar e conclua o fluxo de OAuth
- Conceda as permissões necessárias para gerenciamento de arquivos e pastas
- Copie seu Token Enterprise em Configurações de Integração
2. Instale o pacote necessário
Seção intitulada “2. Instale o pacote necessário”uv add crewai-toolsAções Disponíveis
Seção intitulada “Ações Disponíveis”box/save_file
Descrição: Salva um arquivo a partir de uma URL no Box.
Parâmetros:
fileAttributes(object, obrigatório): Atributos - Metadados do arquivo incluindo nome, pasta pai e datas.{"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, obrigatório): URL do arquivo - Os arquivos devem ter menos de 50MB. (exemplo: “https://picsum.photos/200/300”).
box/save_file_from_object
Descrição: Salva um arquivo no Box.
Parâmetros:
file(string, obrigatório): Arquivo - Aceita um Objeto de Arquivo contendo os dados. O arquivo deve ter menos de 50MB.fileName(string, obrigatório): Nome do Arquivo (exemplo: “qwerty.png”).folder(string, opcional): Pasta - Use as configurações de workflow do Connect Portal para permitir que usuários escolham o destino da pasta. Caso em branco, o padrão é a pasta raiz do usuário.
box/get_file_by_id
Descrição: Obtém um arquivo pelo ID no Box.
Parâmetros:
fileId(string, obrigatório): ID do arquivo - Identificador único que representa um arquivo. (exemplo: “12345”).
box/list_files
Descrição: Lista arquivos no Box.
Parâmetros:
folderId(string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: “0”).filterFormula(object, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições únicas.{"operator": "OR","conditions": [{"operator": "AND","conditions": [{"field": "direction","operator": "$stringExactlyMatches","value": "ASC"}]}]}
box/create_folder
Descrição: Cria uma pasta no Box.
Parâmetros:
folderName(string, obrigatório): Nome - Nome para a nova pasta. (exemplo: “Nova Pasta”).folderParent(object, obrigatório): Pasta Pai - A pasta onde a nova pasta será criada.{"id": "123456"}
box/move_folder
Descrição: Move uma pasta no Box.
Parâmetros:
folderId(string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: “0”).folderName(string, obrigatório): Nome - Nome da pasta. (exemplo: “Nova Pasta”).folderParent(object, obrigatório): Nova pasta pai de destino.{"id": "123456"}
box/get_folder_by_id
Descrição: Obtém uma pasta pelo ID no Box.
Parâmetros:
folderId(string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: “0”).
box/search_folders
Descrição: Pesquisa pastas no Box.
Parâmetros:
folderId(string, obrigatório): ID da pasta - A pasta na qual pesquisar.filterFormula(object, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições únicas.{"operator": "OR","conditions": [{"operator": "AND","conditions": [{"field": "sort","operator": "$stringExactlyMatches","value": "name"}]}]}
box/delete_folder
Descrição: Exclui uma pasta no Box.
Parâmetros:
folderId(string, obrigatório): ID da pasta - Identificador único que representa uma pasta. (exemplo: “0”).recursive(boolean, opcional): Recursivo - Exclui uma pasta que não está vazia, deletando de forma recursiva a pasta e todo o seu conteúdo.
Exemplos de Uso
Seção intitulada “Exemplos de Uso”Configuração Básica de Agente Box
Seção intitulada “Configuração Básica de Agente Box”from crewai import Agent, Task, Crew
# Create an agent with Box capabilitiesbox_agent = Agent( role="Document Manager", goal="Manage files and folders in Box efficiently", backstory="An AI assistant specialized in document management and file organization.", apps=['box'])
# Task to create a folder structurecreate_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 taskcrew = Crew( agents=[box_agent], tasks=[create_structure_task])
crew.kickoff()Filtrando Ferramentas Específicas do Box
Seção intitulada “Filtrando Ferramentas Específicas do Box”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.", apps=['box'])
# Task to organize filesorganization_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()Gerenciamento Avançado de Arquivos
Seção intitulada “Gerenciamento Avançado de Arquivos”from crewai import Agent, Task, Crew
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.", apps=['box'])
# Complex task involving multiple Box operationsmanagement_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()