Overview
The Dropbox Personal connector allows you to sync files and folders from a single, individual Dropbox account. Unlike the Team connector, this focuses on your personal “Home” drive and does not import organization-wide team structures or groups.Configuration Guide
Understanding Dropbox Personal API
Understanding Dropbox Personal API
User Client
This connector uses the Dropbox User Client. It is designed to interact with a specific user’s account data. It treats the root of your Dropbox as the “Record Group” (Drive) and syncs content recursively from there.APIs Documentation
- Dropbox HTTP API: https://www.dropbox.com/developers/documentation/http/documentation
Concept of Cursor
A cursor is a short string that acts like a bookmark for keeping track of changes in a folder.- When you first list the contents of a folder, the API response includes a cursor.
- This cursor represents the exact state of that folder at that moment.
- Instead of re-downloading the entire list of files to check for changes, the connector passes that cursor to the
/files/list_folder/continueendpoint. - The API then returns only the files and folders that have been added, modified, or deleted since the last sync.
Create Dropbox App
Create Dropbox App
This guide will walk you through creating a Dropbox application to connect your personal account to PipesHub.


Step 1: Create a Dropbox App
- Navigate to the Dropbox App Console and sign in with your Dropbox credentials.
- Click the Create app button on the top right.

-
Configure your new app with the following settings:
- Choose an API: Select Scoped access.
- Type of access: Select Full Dropbox. (This allows access to all files in your account, not just a specific app folder).
- Name your app: Enter a unique name, for example, “Pipeshub Personal Connector”.
- Click Create app. You will be redirected to your new app’s settings page.
Step 2: Configure Permissions
- On your app’s page, navigate to the Permissions tab.

-
You must enable the following Individual Scopes by checking their boxes to allow PipesHub to access your data:
-
account_info.read(Required to identify your user ID and email) -
files.content.read(Required to download file content) -
files.metadata.read(Required to track file names, types, and updates) -
sharing.read(Required to detect shared link permissions) -
sharing.write(Required to create preview links)
Note: You do not need to check any “Team Scopes” as this connector is for individual accounts only.
-
- Click Submit at the bottom of the page to save these changes.
Step 3: Configure Redirect URI
- Go to the Settings tab and find the OAuth 2 section.
- Add the following URL to the Redirect URIs field (replace
{your_pipeshub_base_url}with your actual domain):
Important: Ensure the URL matches exactly what is configured in your connector code (specifically the Dropbox%20Personal suffix).
- Click Add to save the URI.

Step 4: Copy App Key and Secret
- While in the Settings tab, locate the App key and App secret.
- Click Show to reveal the secret.
- Copy these credentials for the next step.
Connect to PipesHub
Connect to PipesHub
Step 1: Configure Connection
- Open your PipesHub application and navigate to Connections Settings.
- Select Dropbox Personal.
- Paste your App key into the “Client ID” field.
- Paste your App secret into the “Client Secret” field.

Step 2: Set Sync Strategy
Click Next. You can set up your sync strategy: Manual or Scheduled.- Batch Size: Defines how many files are processed in one database transaction (default: 100).
- Schedule: Set the interval (e.g., every 60 minutes) for the connector to check for changes.

Step 3: Authenticate
- Click Save Configuration.
- Click the Authenticate button. You will be redirected to Dropbox to approve access.
- Once authorized, the connector will immediately begin the first full sync.
Connector Workflow
Synchronization Process
Synchronization Process
How Does Dropbox Personal Connector Work?
TheDropboxIndividualConnector inherits from BaseConnector but is simplified for single-user contexts. It implements the standard lifecycle methods:init_get_current_user_inforun_sync_run_sync_with_cursor_process_dropbox_items_generator
Connector Initialization
The workflow is straightforward compared to the Teams version.run_sync - Syncs 3 main elements:- User Identity (The account owner)
- Record Group (The “Personal Drive”)
- Files and Folders (Recursive sync)
- Full Sync: If no cursor is initialized, it runs a full sync.
- Incremental Sync: If a cursor exists, it only fetches the delta (changes).
User & Record Group Sync Workflow
Unlike the Team connector which iterates through member directories, this connector focuses on the authenticated user.Identity Resolution
The sync begins by callingusers/get_current_account. This verifies the token and retrieves the account_id and email of the owner.Drive Creation
Once the user is identified, the system ensures a “Record Group” exists:- Name: “Dropbox -
{User Email}” - Type: Drive
- Permission: The user is assigned as the OWNER.
Files and Folders Sync Workflow
Workflow Overview
- Cursor Check: The connector checks
dropbox_cursor_sync_pointto see if a previous sync has occurred. - Data Fetching:
- Full Sync: If no cursor exists, it calls
files/list_folderwithrecursive=Trueto fetch the entire drive hierarchy. - Incremental Sync: If a cursor exists, it calls
files/list_folder/continue. Dropbox returns only items that changed since the last run.
- Generator Processing: The results are passed to
_process_dropbox_items_generatorwhich yields items one by one to manage memory usage.
Detailed Item Processing
For each entry, the system determines the specific metadata type and handles it accordingly:- File Metadata (
FileMetadata):
- Duplicate Check: Calls
get_record_by_external_idto see if the file is already in the database. - Metadata Extraction: Extracts MimeType (based on extension) and
server_modifiedtimestamps. - Preview Generation: Attempts to generate a web-viewable link using
sharing/create_shared_link_with_settings.
- Folder Metadata (
FolderMetadata):
- Processed similarly to files but marked as a container type to maintain directory structure.
- Deleted Metadata (
DeletedMetadata):
- If Dropbox sends a deletion event, the record is flagged for removal.
Database Updates
- New Records: Batched (default 100) and sent to
on_new_records. - Updates: If the file hash or name changed,
on_record_content_updateoron_record_metadata_updateis triggered. - Deletions: Records marked as deleted are removed via
on_record_deleted.
Sharing & Permissions Sync
Simplified Model
Unlike the Teams connector which maps complex organizational roles (e.g., Editor, Viewer, Commenter), the Personal connector uses a simplified permission model.- Default Ownership: Since this connector syncs a private drive, the authenticated user is automatically assigned OWNER permissions for every file and folder.
- Shared Links: The connector uses
sharing.readto detect if a file has shared links. While it does not import the list of external users, it ensures the file metadata reflects that it is shared.
















