FlowKit

Connecter Dropbox à n8n : guide complet (OAuth2, upload, download, sync)

Publié le 2 août 2026 · 6 min de lecture

Dropbox reste l'un des stockages cloud les plus utilisés par les TPE, les cabinets et les freelances — souvent en parallèle de Google Drive. Bonne nouvelle : n8n dispose d'un node Dropbox natif qui couvre l'essentiel, à condition de passer l'étape la moins intuitive : la création de l'app dans le Dropbox App Console et la configuration OAuth2. Ce guide déroule la mise en place complète, les opérations disponibles, quatre cas d'usage concrets et les pièges classiques (tokens qui expirent, chemins, gros fichiers).

Étape 1 : créer l'app dans le Dropbox App Console

Contrairement à une simple clé API, Dropbox exige que vous créiez une « app » qui matérialise les permissions accordées à n8n.

  1. Rendez-vous sur le Dropbox App Console (dropbox.com/developers/apps) et cliquez sur Create app.
  2. Dans « Choose an API », sélectionnez Scoped access (c'est aujourd'hui la seule option proposée pour les nouvelles apps).
  3. Choisissez le type d'accès : App Folder (l'app ne voit qu'un dossier dédié, créé pour elle) ou Full Dropbox (accès à tout le compte). Pour des workflows d'archivage ou de sauvegarde, App Folder est plus sûr ; pour synchroniser des dossiers existants, il faut Full Dropbox.
  4. Donnez un nom à l'app (unique chez Dropbox) et validez.

Ensuite, direction l'onglet des permissions de l'app : c'est là que vous cochez les scopes. La credential Dropbox OAuth2 de n8n demande quatre scopes : files.content.read (lire le contenu des fichiers), files.content.write (écrire, déplacer, supprimer), sharing.read et account_info.read. Activez-les avant de connecter n8n, sinon l'autorisation ou les opérations échoueront ; et si vous modifiez les scopes plus tard, reconnectez la credential.

Étape 2 : configurer les credentials OAuth2 dans n8n

n8n propose deux méthodes d'authentification : l'access token (uniquement pour tester) et OAuth2 (recommandé en production). Fuyez la première pour tout usage sérieux : depuis fin 2021, Dropbox ne délivre que des tokens valables environ 4 heures — un token collé en dur cesse de fonctionner dans l'après-midi.

Pour la méthode OAuth2 en auto-hébergé :

  1. Dans n8n, créez une credential Dropbox OAuth2 API. n8n affiche une OAuth Redirect URL.
  2. Copiez cette URL dans le champ Redirect URIs de votre app, dans l'onglet Settings de l'App Console.
  3. Copiez l'App key de Dropbox dans le champ Client ID de n8n, et le Secret dans Client Secret.
  4. Renseignez l'APP Access Type dans n8n avec la même valeur que celle choisie à la création de l'app (App Folder ou Full Dropbox).
  5. Cliquez sur Connect my account et validez l'écran d'autorisation Dropbox.

Point important : la credential n8n demande l'accès en mode offline (paramètre token_access_type=offline), ce qui lui fournit un refresh token — c'est ce qui permet à n8n de renouveler l'access token toutes les 4 heures sans intervention. Le principe est le même que pour les API Google — notre guide pour configurer OAuth2 avec Google dans n8n détaille la logique redirect URI / consentement si elle vous semble obscure.

Dernier détail : en statut développement, Dropbox limite l'app à 50 utilisateurs connectés avant de devoir demander le statut production — sans importance pour une app qui ne sert qu'à votre instance n8n.

Les opérations du node Dropbox

Le node s'organise en trois ressources :

  • File : Upload, Download, Copy, Move, Delete ;
  • Folder : Create, Copy, Move, Delete, et le listage du contenu d'un dossier (fichiers et sous-dossiers) ;
  • Search : Query, pour retrouver des fichiers par mots-clés.

Deux règles à connaître sur les chemins : ils commencent par / (racine du compte ou du dossier d'app), et si vous avez choisi App Folder, tous les chemins sont relatifs à ce dossier — /rapports/mai.pdf pointe en réalité vers /Applications/VotreApp/rapports/mai.pdf.

Côté fichiers, n8n manipule le contenu sous forme de données binaires attachées aux items. Un Download produit un item avec une propriété binaire (souvent nommée data) ; un Upload consomme cette propriété. Exemple d'upload d'une pièce jointe récupérée en amont :

Resource: File
Operation: Upload
Path: /Archives/{{ $now.format('yyyy-MM') }}/{{ $binary.data.fileName }}
Binary File: true
Input Binary Field: data

L'expression {{ $now.format('yyyy-MM') }} range automatiquement chaque fichier dans un dossier mensuel — Dropbox crée les dossiers manquants à l'upload. Pour comprendre en profondeur ce modèle binaire (et ses limites mémoire), lisez notre guide sur la gestion des fichiers volumineux et du binary data dans n8n.

Quatre cas d'usage concrets

Sauvegarde automatique des pièces jointes email

Un trigger Gmail ou IMAP récupère les emails entrants, un node Filter garde ceux qui contiennent des pièces jointes, et le node Dropbox les uploade dans un dossier par expéditeur ou par mois. Le message est traité, la pièce jointe est archivée.

Archivage de factures classées par IA

Combinez l'extraction de données de factures PDF par IA avec un upload Dropbox dont le chemin est construit à partir des champs extraits : /Factures/{{ $json.annee }}/{{ $json.fournisseur }}-{{ $json.numero }}.pdf. Le même pattern fonctionne pour classer tout document entrant avec un LLM avant rangement. Si vos volumes justifient un stockage objet, la variante archivage IA vers S3 suit la même logique.

Synchronisation Dropbox → base vectorielle pour un RAG

Un Schedule Trigger liste un dossier Dropbox, compare les fichiers à ceux déjà indexés, télécharge les nouveaux, les découpe et les insère dans pgvector ou Pinecone. Ce n'est pas un gadget : l'étude de Patrick Lewis et ses co-auteurs publiée à NeurIPS 2020, « Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks » (Google Scholar), a montré qu'ancrer un modèle de langage dans des documents récupérés produit des réponses plus factuelles et plus spécifiques qu'un modèle seul — encore faut-il que l'index reflète vos documents à jour, d'où la synchronisation. Le montage complet est décrit dans notre guide RAG avec n8n et Supabase.

Export de rapports générés

Vos workflows produisent des livrables — fichiers Excel ou CSV générés par n8n, PDF de reporting — et l'upload Dropbox les dépose dans un dossier partagé avec le client. Plus fiable qu'un email : le fichier est versionné et accessible à toute l'équipe.

Pièges et bonnes pratiques

  • Tokens qui expirent : si vos workflows tombent en erreur d'authentification après quelques heures, vous utilisez un access token statique. Passez en OAuth2 ; et si une credential OAuth2 se déconnecte malgré tout (refresh token invalidé après un changement de mot de passe ou de scopes), reconnectez-la manuellement.
  • Fichiers volumineux : l'endpoint d'upload simple de l'API Dropbox plafonne à 150 Mo par fichier. Au-delà, passez par des sessions d'upload en plusieurs morceaux via le node HTTP Request. Même sous ce seuil, n8n charge par défaut les binaires en mémoire : sur une petite instance, stockez-les sur le système de fichiers.
  • Pas de trigger natif : à la différence d'autres intégrations, il n'existe pas de node déclencheur Dropbox. Le pattern standard est un polling planifié (Schedule Trigger + listage + filtrage des fichiers déjà vus).
  • Chemins App Folder : les erreurs path/not_found viennent presque toujours d'un chemin absolu utilisé avec une app en mode App Folder, ou d'un / initial oublié.
  • La sauvegarde n'est pas une option : la grande étude de Bairavasundaram, Goodson, Schroeder et les Arpaci-Dusseau présentée à USENIX FAST en 2008, « An Analysis of Data Corruption in the Storage Stack » (Google Scholar), a observé plus de 400 000 corruptions silencieuses sur 1,53 million de disques en production sur 41 mois. Automatiser une copie hors site de vos documents critiques n'est pas de la paranoïa, c'est de la statistique.

Si votre stack est plutôt Google, voyez le guide équivalent pour Google Drive ; pour des serveurs classiques, le transfert de fichiers via SFTP dans n8n.

En résumé

  • Créez une app Scoped access dans le Dropbox App Console, choisissez App Folder ou Full Dropbox, et activez les scopes files.content.read et files.content.write (plus sharing.read et account_info.read).
  • Utilisez la credential OAuth2 de n8n (App key → Client ID, Secret → Client Secret, Redirect URL côté Dropbox) : elle obtient un refresh token et renouvelle seule les access tokens de 4 heures.
  • Le node couvre upload, download, copy, move, delete, dossiers et recherche ; les fichiers transitent en binaire dans les items.
  • Cas d'usage rentables : archivage de pièces jointes, factures classées par IA, synchronisation vers une base vectorielle RAG, dépôt de rapports générés.
  • Surveillez les trois pièges récurrents : token statique qui expire, chemins relatifs en mode App Folder, et limite de 150 Mo de l'upload simple.

FAQ

Questions fréquentes

Faut-il un compte Dropbox payant pour utiliser le node Dropbox de n8n ?

Non. Un compte Dropbox gratuit suffit pour créer une app dans l'App Console et utiliser l'API. Les limites qui comptent sont celles de votre espace de stockage et, côté app, le passage en production requis par Dropbox au-delà de 50 utilisateurs connectés à votre application.

Pourquoi mon access token Dropbox expire-t-il au bout de quelques heures ?

Depuis fin 2021, Dropbox ne délivre plus que des access tokens de courte durée (environ 4 heures). Un token généré manuellement dans l'App Console cesse donc vite de fonctionner. Utilisez la méthode OAuth2 dans n8n : elle demande un accès offline avec refresh token, et n8n renouvelle le token automatiquement.

Existe-t-il un trigger Dropbox natif dans n8n ?

Non, n8n ne propose pas de node déclencheur dédié à Dropbox. Pour réagir à de nouveaux fichiers, combinez un Schedule Trigger avec l'opération de listage de dossier, puis filtrez les fichiers déjà traités (par date de modification ou via une liste d'IDs stockée). L'alternative est un webhook alimenté par un service tiers.

Le node Dropbox peut-il envoyer des fichiers très volumineux ?

L'endpoint d'upload simple de l'API Dropbox est limité à 150 Mo par fichier. En dessous de ce seuil, tout passe par le node standard. Au-delà, il faut découper l'envoi en sessions d'upload via des appels HTTP Request, et surveiller la mémoire de votre instance n8n qui charge les binaires en RAM par défaut.

Bundle FlowKit Complet

269 €