Dropbox
Fetch rich metadata from Dropbox links using workspace credentials.
SupaNet can connect to Dropbox to fetch enhanced metadata when users or agents save Dropbox links — file names, thumbnails, and file details. An admin configures a personal Dropbox access token in Settings → Dropbox, and the system automatically enriches links with richer previews and information.
Setup
An admin performs setup once in Settings → Dropbox:
- Go to Dropbox App Console
- Create a new app (or use an existing one)
- Select Scoped access and Full Dropbox access
- Under Permissions, enable:
files.metadata.readfiles.content.readsharing.read
- Go to Settings and generate an access token
- Paste the token into SupaNet's Settings → Dropbox page
- Click Connect Dropbox
The access token is stored only in Supabase Vault — never in a table, config file, or client payload. The Settings page offers a Test connection button to verify the token works before saving.
How it works
When a user or agent saves a Dropbox link (via the Links page or the save_link builtin tool):
- SupaNet detects it's a Dropbox URL (either a share link or personal folder URL)
- The
fetchLinkMetafunction attempts to fetch metadata via thedropbox-metaedge function first - The
dropbox-metaedge function (verify_jwt: true) reads the workspace's token from Vault - It calls the Dropbox API to fetch file metadata (name, type, size, modification date)
- For image files, it also fetches a thumbnail
- If the Dropbox API succeeds, the link is enriched with Dropbox-specific metadata; if it fails or is unavailable, the generic
link-metaendpoint is used as a fallback - The link card updates with the title, description, and preview image
Supported Dropbox URL formats:
- Share links:
https://www.dropbox.com/s/abc123/filename.pdf - File request links:
https://www.dropbox.com/scl/fi/xyz/file.pdf?rlkey=... - Personal folder URLs:
https://www.dropbox.com/home/folder/file.txt
Metadata enrichment
When the Dropbox API endpoint succeeds, links are enriched with:
- Title — the actual file name (e.g.,
project-proposal.pdf) - Description — the file path (
Dropbox file: /Projects/Proposals/project-proposal.pdf) - Preview image — a thumbnail for image files (JPG, PNG, GIF, BMP)
- File type — whether it's a file or folder
- File size — in bytes
- Modified date — when the file was last changed
Dropbox metadata takes precedence over generic OpenGraph metadata. If the Dropbox endpoint is unavailable or the Dropbox token is not configured, the generic link-meta endpoint fetches standard OpenGraph metadata as a fallback.
Where credentials live
The access token lives only in Supabase Vault. The non-secret config sits in the public.integrations table with a secret_id pointer; the actual token is never a table column, never in a client payload, and never logged.
The flow:
- An admin writes the token solely through an admin-gated, security-definer RPC (
set_dropbox_integration), which checks admin status in its body. - The
dropbox-metaedge function reads the decrypted token only through a service-role-only RPC (read_dropbox_secret). - An admin can delete the integration via
delete_dropbox_integration, which removes both the Vault secret and the config row.
Availability
The Dropbox integration is:
- Admin-configured — only admins can connect or disconnect it in Settings
- Workspace-wide — when configured, all members can save Dropbox links and benefit from enriched metadata
- Optional — the feature gracefully degrades if Dropbox is not configured; links still work, they just won't have Dropbox-specific metadata
Not yet built
- One-click ingestion of Dropbox files as artifacts
- Support for reading file contents (read-only
files.content.readpermission is granted but not yet used) - Per-user Dropbox tokens (currently workspace-wide only)