Dropbox

Connects to Dropbox Business via the Dropbox Team API to sync team members, license usage, and audit activity. Use this integration to detect zombie accounts (inactive users consuming paid seats) across your Dropbox Business plan.

Prerequisites

  • Dropbox Business plan required. The Team API is not available on Personal plans.
  • A Dropbox Business team admin must authorize the connection.
  • A Scoped App with Team access must be created in the Dropbox App Console.
  • The public URL of your ZombieLicenseHunter instance, for the redirect URI.

Required scopes (select all four when creating the app). They are the scopes ZombieLicenseHunter requests when it sends you to Dropbox for consent:

Scope Purpose
members.read Team members, status, membership type
team_info.read License counts and provisioned seats
team_data.content.read Team folder structure
events.read Audit events for last-active timestamps

Setup Instructions

The connection is an OAuth 2.0 authorization-code flow with an offline refresh token, so it stays active without repeated sign-ins.

  1. In the Dropbox App Console, create a new app with Scoped access and the Full Dropbox access type.
  2. Under Permissions, enable the four required scopes listed above and submit.
  3. Under Settings, add your ZombieLicenseHunter redirect URI to the Redirect URIs list:
    https://<your-zombielicensehunter-host>/integrations/dropbox/callback
    
  4. Note your App key and App secret from the app's Settings page.
  5. In ZombieLicenseHunter, go to Integrations → Add Integration and select Dropbox. Leave Category as Application.
  6. Enter your App Key and App Secret (the form labels the two fields that way for Dropbox).
  7. Click Save Integration — you are redirected to Dropbox to authorize the app.
  8. Sign in as a team admin and approve the requested scopes.
  9. After authorization, you are redirected back and the connection is established. The authorizing admin's email is captured via the Dropbox team identity endpoint.
  10. A background sync begins automatically.

What Gets Synced

Data Details
Team members ID, email, display name, status, membership type (full/limited), join date, groups, roles
License usage Total license count, used licenses, provisioned seats
Audit events Login activity and file operations, used to calculate last-active timestamps for zombie detection

Sync runs on a recurring schedule. Audit events are the primary signal for identifying zombie accounts — members with no recent login or file activity are flagged as candidates for review.

Troubleshooting

"Team API not available" Your Dropbox account is on a Personal plan. Upgrade to a Business plan to use the Team API.

"Insufficient permissions" or missing members Verify that all four required scopes are enabled on your app in the Dropbox App Console. Changes to permissions require re-authorization: disconnect and reconnect the integration.

"Authorizing user is not a team admin" The Dropbox account used to complete the authorization must be a team admin. Have a team admin re-authorize the connection.

Redirect URI mismatch Confirm the redirect URI configured in your Dropbox app exactly matches https://<your-zombielicensehunter-host>/integrations/dropbox/callback. Trailing slashes and HTTP vs HTTPS differences will cause a mismatch error.

Sync shows stale data Audit events are used for last-active timestamps. If the events.read scope is missing, last-active data will be unavailable and zombie detection accuracy is reduced. Re-check your app's permissions and re-authorize if needed.