[Beta] Import Dropbox Files

A script to upsert Dropbox files to Dust

The Dropbox Importer for Dust is a powerful tool designed to seamlessly integrate your Dropbox files with Dust's AI-powered knowledge management platform.

This open-source script, available on GitHub at dust-tt/dust-labs/dropbox, automates the process of exporting your Dropbox files (including Paper docs) and importing them into a Dust datasource. It supports multiple file types and preserves comprehensive metadata, like so:

File Name: Getting Started with Two-Factor Authentication.paper
Path: /Security/Authentication/Getting Started with Two-Factor Authentication.paper
File ID: id:a4bVxYzW2cQ9dE3fG1hJ2kL3
Client Modified: 2024-03-18T15:30:00.000Z
Server Modified: 2024-03-18T15:30:00.000Z
Format: paper

Content:
# Getting Started with Two-Factor Authentication

Two-factor authentication (2FA) adds an extra layer of security to your account. 

Follow these steps to enable 2FA:

1. Log into your account settings
2. Navigate to Security > Two-Factor Authentication
3. Choose your preferred 2FA method:
   - Authenticator app (recommended)
   - SMS verification
   - Security key
4. Follow the setup wizard to complete configuration

Remember to save your backup codes in a secure location.

The script then formats and uploads this data to Dust, maintaining the original file structure and content integrity.

Key Features

  • Multiple File Type Support: Works with various file formats including:
    • Dropbox Paper documents (.paper)
    • Markdown files (.md)
    • Word documents (.docx)
    • Text files (.txt)
  • Metadata Preservation: Maintains important file information:
    • Original file names and IDs
    • Full file paths and folder structure
    • Creation and modification dates
    • File format details
  • Smart Processing:
    • Concurrent file processing for improved performance
    • Rate limiting to respect API constraints
    • Robust error handling
    • Extension-based filtering options
      By leveraging this script, teams can effortlessly keep their Dust knowledge base synchronized with their Dropbox content. This integration enables more effective use of Dust's AI capabilities for document analysis, content discovery, and knowledge management. The script is designed with scalability in mind, ensuring reliable performance even with large volumes of Dropbox files.

Getting Started

  1. Prerequisites:
    • Node.js (v14 or higher)
    • npm (Node Package Manager)
    • Dropbox account with API access
    • Dust account with API access
  2. Installation:
git clone [[email protected]](mailto:[email protected]):dust-tt/dust-labs.git  
cd dust-labs/dropbox  
npm install  
  1. Configuration:
    Create a .env file with your credentials:
DROPBOX_API_KEY=your_dropbox_api_key  
DUST_API_KEY=your_dust_api_key  
DUST_WORKSPACE_ID=your_workspace_id  
DUST_DATASOURCE_ID=your_datasource_id  
DUST_SPACE_ID=your_space_id
  1. Usage:
    To sync all files:
npm run sync

To sync specific file types (e.g., only Paper docs):

npm run sync -- --ext .paper

Best Practices

  1. Start Small: Begin with a specific file type or folder to test the integration
  2. Monitor Progress: Watch the console output for sync status and any potential issues
  3. Regular Updates: Schedule periodic syncs to keep your Dust knowledge base current
  4. Error Handling: Check logs for any failed imports and address issues promptly

The script is actively maintained and designed to handle enterprise-scale document synchronization needs while maintaining data integrity and performance.