StackOne File Picker
The StackOne File Picker provides a unified interface for browsing and selecting documents from third-party platforms. It abstracts provider-specific differences behind a consistent user experience and developer interface, whether the source is a file storage system (like SharePoint, OneDrive, Google Drive) or a knowledge base (like Confluence or Notion).How It Works
The File Picker allows users to:- Navigate a hierarchical file tree (folders, pages, blocks)
- Select one or more files or documents
- Return a list of StackOne file objects, which can be used with unified operations such as
GET /unified/documents/files/{id}
orPOST /unified/documents/files/{id}/download
Picker Types
Provider | Picker Type | Navigation Model | Notes |
---|---|---|---|
SharePoint | Native | Site → Drive → Folder → File | Microsoft-native picker with StackOne-built site selection UI |
OneDrive | Native | Drive → Folder → File | Standard OneDrive picker scoped to user’s personal/business drive |
Google Drive | Native | Drive → Folder → File | Uses Google Picker SDK |
Confluence | Custom | Space → Page | Pages act as both folders and files based on content/children |
Notion (Coming Soon) | Custom | Workspace → Page | Pages/blocks behave similarly to Confluence in dual file/folder roles |
Output Format
When a user completes selection, the picker returns:fileId
corresponds to a StackOne-normalized file object that can be accessed via API:
GET /unified/documents/files/{id}
– fetch file metadataPOST /unified/documents/files/{id}/download
– retrieve file contents (if supported)
File Object Structure (for Fetch)
When queried individually, a file returns the following structure:- For knowledge bases like Confluence and Notion:
- Files may represent pages or blocks
- Additional metadata like
hasContent
,hasChildren
is provided
Developer Integration Example
- Trigger the Picker Use the StackOne SDK, embed directly via the UI component or trigger via the StackOne Dashboard.
-
Receive Selection
The picker will return:
-
Perform Unified Actions
- Fetch metadata:
GET /unified/documents/files/{id}
- Download file:
POST /unified/documents/files/{id}/download
- Fetch metadata:
Provider Feature Table
Feature / Capability | SharePoint | OneDrive | Google Drive | Confluence | Notion (coming) |
---|---|---|---|---|---|
Picker Type | Native | Native | Native | Custom | Custom |
Tree Navigation | ✅ | ✅ | ✅ | ✅ | ✅ |
Multi-file Selection | ✅ | ✅ | ✅ | ✅ | ✅ |
Selectable File Types | Any document | Any document | Any document | Pages | Pages |
Folder Navigation | ✅ | ✅ | ✅ | ✅ | ✅ |
Dual-role Items | N/A | N/A | N/A | ✅ (pages) | ✅ (pages/blocks) |
Output (on select) | List of File objects | List of File objects | List of File objects | List of File objects | List of File objects |
Unified Fetch / Download | ✅ | ✅ | ✅ | ✅ | ✅ |
Developer Integration
- Trigger the Picker Use the StackOne SDK, embed directly via the UI component or trigger via the StackOne Dashboard.
-
Receive Selection
The picker will return:
-
Perform Unified Actions
- Fetch metadata:
GET /unified/documents/files/{id}
- Download file:
POST /unified/documents/files/{id}/download
- Fetch metadata:
Auth & Permissions
- Each provider uses OAuth2 authentication via StackOne’s integration flow
-
File access scopes are handled per provider during auth
- SharePoint:
Files.Read.All
,Sites.Read.All
- Google Drive:
https://www.googleapis.com/auth/drive.readonly
- Confluence/Notion: Read access to spaces/pages/blocks
- SharePoint:
StackOne File Picker SDK Documentation
The StackOne File Picker SDK enables you to integrate file selection from connected accounts into your application. Below are the installation steps, usage examples, and API details.

Installation
Install the SDK using one of the following package managers:Connect Session Token
The File Picker requires creating a separate connect session token with the Account ID and Provider Key of a connected account.Usage
Below you can find the basic usage of the StackOne File Picker SDK using React:API Reference
File Picker Configuration Options
File Selection Response Format
When users complete their selection, theonFilesPicked
callback receives different response formats depending on what was selected:
- Files Only
- Files + Folders
Folder Selection Handling: When
folderSelectionEnabled: true
is set, users can select entire folders. The response will include folder IDs in the selection. To retrieve all files within selected folders (including nested subfolders), use the List Files API with the folder_id
parameter and nested_files: true
option to automatically fetch all nested content.onFilesPicked
is typically required for document management use cases. Other callbacks (onOpen
, onClose
, onCancel
, onError
) are optional and depend on specific user actions or error conditions.
Picker Output Format
When users complete their selection, the picker returns different formats based on what was selected and configured:- Single File
- Multiple Files
- Limited Fields
- Folders Selected
- Drives Selected
FilePicker Methods
Opens the file picker interface.
Closes the file picker interface.
Coming Soon: Notion Support
StackOne will soon launch a custom picker for Notion, modeled similarly to Confluence:- Block/page navigation
- Unified selection of document-style pages
- Multi-select and metadata retrieval