dropbox-oauth

Dropbox OAuth Integration Node for n8n with automatic token refresh

Package Information

Released: 9/4/2025
Downloads: 5 weekly / 27 monthly
Latest Version: 0.2.2
Author: Advanced Fleet Washing

Documentation

n8n-nodes-dropbox-oauth

A custom n8n community node for Dropbox integration with OAuth 2.0 authentication and automatic token refresh.

Features

  • OAuth 2.0 Authentication: Seamless integration with Dropbox using OAuth 2.0
  • Automatic Token Refresh: Built-in token refresh handling - no manual re-authentication needed
  • Complete Dropbox API Operations:
    • List files and folders
    • Download files (base64 or buffer format)
    • Upload files
    • Get file/folder metadata
    • Create folders
    • Delete files and folders
  • Cloudflare OAuth Handler: Uses dedicated OAuth handler service for secure token management
  • Error Handling: Comprehensive error handling with continue-on-fail support

Prerequisites

  1. OAuth Handler Service: This node requires the Cloudflare OAuth handler deployed at https://oauth.advancedfleetwashing.services
  2. Dropbox App: A Dropbox application configured with proper OAuth callbacks
  3. n8n Instance: n8n v1.0+ with community nodes support

Installation

Method 1: Local Installation (Development)

cd n8n-nodes-dropbox-oauth
npm install
npm run build
npm run install-local

Method 2: Direct npm install (if published)

npm install n8n-nodes-dropbox-oauth

Authentication Setup

  1. Initial Authentication:

    • Visit https://oauth.advancedfleetwashing.services
    • Complete the Dropbox OAuth flow
    • Tokens are automatically stored and managed
  2. n8n Credentials Configuration:

    • In n8n, create new "Dropbox OAuth API" credentials
    • Set OAuth Handler URL: https://oauth.advancedfleetwashing.services
    • Test the connection

Usage Examples

List Files in Root Folder

{
  "operation": "listFiles",
  "folderPath": "",
  "includeMediaInfo": true
}

Download a File

{
  "operation": "downloadFile", 
  "filePath": "/Photos/vacation.jpg",
  "returnFormat": "base64"
}

Upload a File

{
  "operation": "uploadFile",
  "uploadPath": "/uploads/document.pdf", 
  "fileContent": "{{$base64_data}}",
  "overwrite": true
}

Supported Operations

Operation Description Parameters
listFiles List files in folder folderPath, includeMediaInfo
downloadFile Download file content filePath, returnFormat
uploadFile Upload file to Dropbox uploadPath, fileContent, overwrite
getFileInfo Get file metadata path
createFolder Create new folder newFolderPath
delete Delete file/folder deletePath

OAuth Handler Architecture

n8n Workflow → Custom Node → Cloudflare OAuth Handler → Dropbox API
                                      ↓
                           KV Storage (Token Management)

Benefits:

  • ✅ Automatic token refresh
  • ✅ Secure token storage
  • ✅ No tunnel/SSL complexity
  • ✅ Production-ready infrastructure
  • ✅ No 4-hour re-authentication needed

Error Handling

The node includes comprehensive error handling:

  • Token Refresh Failures: Automatic retry with user guidance
  • API Rate Limits: Proper error messaging
  • Network Issues: Timeout and connection error handling
  • Continue on Fail: Optional error propagation control

Development

Project Structure

n8n-nodes-dropbox-oauth/
├── nodes/
│   └── DropboxOAuth/
│       └── DropboxOAuth.node.ts
├── credentials/
│   └── DropboxOAuthApi/
│       └── DropboxOAuthApi.credentials.ts
├── package.json
├── tsconfig.json
└── README.md

Build Commands

npm run build        # Compile TypeScript
npm run dev          # Watch mode
npm run pack         # Build and package
npm run install-local # Install globally for testing

Troubleshooting

"No valid access token available"

  • Re-visit the OAuth handler URL to re-authenticate
  • Check if the OAuth handler service is running
  • Verify Dropbox app configuration

"Network connection failed"

  • Verify internet connection
  • Check if Dropbox API is accessible
  • Ensure OAuth handler service is reachable

"Build errors during installation"

  • Ensure TypeScript is installed: npm install -g typescript
  • Check n8n-workflow version compatibility
  • Clear node_modules and reinstall

Contributing

  1. Fork the repository
  2. Create feature branch: git checkout -b feature/new-feature
  3. Commit changes: git commit -am 'Add new feature'
  4. Push to branch: git push origin feature/new-feature
  5. Create Pull Request

License

MIT License - see LICENSE file for details.

Support

For issues and questions:


Built for Advanced Fleet Washing automation workflows 🚛💧

Discussion