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