Box Connector
Description
Box is a file sharing platform that allows teams to collaborate and share files with one another. The Box component allows creating, listing, fetching, moving, and deleting files and folders in a customer's Box account.
API Documentation
This component was built using the Box REST API
A common integration pattern involves listing files in a file store, and performing a series of actions on the array of files that are returned. See our looping over files quickstart for information about how to create a loop over an array of files.
Connections
Developer Token
key: apiKeyA Developer Token is a short-lived (60-minute) token that can be used for testing purposes. Developer tokens allow access to the Box API for a personal Box account only. Use an OAuth 2.0 connection in production to authenticate customer Box accounts.
Prerequisites
- A Box account
- Access to the Box Developer Console
Setup Steps
To generate a developer token:
- Navigate to the Box Developer Console
- Select Create New App
- Choose Custom App and click Next
- Select User Authentication (OAuth 2.0) and click Next
- Enter an app name and click Create App
- In the app's Configuration tab, scroll to the Developer Token section
- Click Generate Developer Token
- Copy the generated token (valid for 60 minutes)
For more information, refer to the Box Developer Token documentation.
Configure the Connection
- Enter the developer token value into the Developer Token field of the connection configuration
| Input | Notes | Example |
|---|---|---|
| Developer Token | A short-lived developer token for testing purposes. Obtain from Box Developer Console. | ABCDEFGHIJKLMNOPQRSTUVWXYZ123456 |
OAuth 2.0
key: oauth2To connect to Box using OAuth 2.0, create a Box OAuth 2.0 app to authorize the integration to access customer Box accounts.
Refer to the Box OAuth 2.0 setup guide for detailed information.
Prerequisites
- A Box account
- Access to the Box Developer Console
- A Box account on a plan that includes the Box features the integration uses (some features require an Enterprise account)
Setup Steps
- Navigate to the Box Developer Console
- Click Create New App
- Select Custom App and click Next
- Select User Authentication (OAuth 2.0) and click Next
- Enter an app name and click Create App
- In the app's Configuration tab, configure the OAuth settings:
- Copy the Client ID and Client Secret values
- Under OAuth 2.0 Redirect URI, add
https://oauth2.prismatic.io/callback - Under Application Scopes, select the appropriate permissions:
- For full access, select Write all files and folders stored in Box
- For read-only access, select Read all files and folders stored in Box
- Refer to Box scopes documentation for more granular permissions
- Leave CORS Domains blank
- Click Save Changes
Configure the Connection
- Enter the Client ID and Client Secret from the Box app configuration
- For Scopes, either:
- Leave blank to use the Application Scopes configured in the Box app
- Keep the default value (
root_readwrite manage_webhook) - Enter specific scopes as a space-separated list (e.g.,
root_readwrite manage_webhook) - Refer to Box scopes documentation for available scopes
App Authorization
Box gives enterprise IT administrators explicit control over which third-party apps can access their organization's data. This is not a vendor review process. It is an enterprise access control step that a Box administrator at the customer's organization must complete before their users can connect.
Box enterprise accounts require an administrator to explicitly authorize a custom app before any users in the organization can authenticate. This is a hard requirement: without admin authorization, only the developer's own Box account can connect. All other users receive an error when attempting to authenticate.
Personal (non-enterprise) Box accounts do not require this step.
Granting App Authorization
A Box enterprise administrator must authorize the app using the app's Client ID:
- In the Box Admin Console, navigate to Apps → Custom Apps Manager
- Click Add App
- Enter the Client ID from the Box app's Configuration tab
- Click Next, review the requested scopes, and select Authorize
Once authorized, users within the enterprise organization can authenticate with the integration. If the Box app is deleted and recreated, a new Client ID is generated and the authorization steps above must be repeated.
| Input | Notes | Example |
|---|---|---|
| Authorize URL | The OAuth 2.0 Authorization URL for Box. | https://account.box.com/api/oauth2/authorize |
| Client ID | The OAuth 2.0 client ID from the Box app configuration. Obtain from Box Developer Console. | abc123def456ghi789jkl012mno345pq |
| Client Secret | The OAuth 2.0 client secret from the Box app configuration. Obtain from Box Developer Console. | |
| Scopes | A space-delimited set of one or more scopes. Leave blank to use the app's configured default scopes. See Box OAuth Scopes for available options. | root_readwrite manage_webhook |
| Token URL | The OAuth 2.0 Token URL for Box. | https://api.box.com/oauth2/token |
Triggers
Managed Webhook
Receive and validate webhook requests from Box. Automatically creates and manages a webhook subscription when the instance is deployed, and removes the subscription when the instance is deleted. | key: managedWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Primary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
| Secondary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
| Target ID | The unique identifier of the file or folder that will trigger the webhook. | 123456789012 |
| Target Type | The type of item that will trigger the webhook (file or folder). | file |
| Trigger Type | Select which event types will trigger this webhook. See Box Events for available options. |
The Managed Webhook trigger automatically creates and manages Box webhook subscriptions for an instance. Unlike traditional webhook setups that require manual configuration in the Box Developer Console, this trigger handles the entire webhook lifecycle.
When the trigger is used in a flow:
- On Instance Deploy: The trigger automatically creates a V2 webhook subscription in Box pointing to the flow's unique webhook URL. The webhook monitors the specified target (file or folder) for the selected event types. If the webhook configuration changes between deployments, the trigger deletes the old webhook and creates a new one with the updated settings. Box allows one webhook per target, application, and user: if one already exists for the target and delivers to this flow, the trigger replaces it; if it delivers to a different URL, deployment fails with an error and the existing webhook is left untouched.
- On Instance Deletion: The trigger automatically removes the webhook subscription from Box, ensuring no orphaned webhooks remain. A subscription that was already deleted in Box (for example, by the Delete Instance Webhooks action) is treated as removed.
Configuration
Configure the trigger with the following inputs:
- Connection: Box OAuth 2.0 connection with permissions to create and manage webhooks
- Target ID: The ID of the file or folder to monitor for events (use the Box content data source)
- Target Type: Select either "File" or "Folder" as the webhook target
- Trigger Type: Select one or more event types to monitor (see available events below)
- Primary Signature Key: A signature key for webhook payload verification (optional but recommended)
- Secondary Signature Key: A secondary signature key for webhook rotation scenarios (optional)
A delivery is validated against the keys entered in these inputs first, then against the keys stored when the webhook subscription was created, and finally against the top-level keys written by the Create Webhook action. When any of these keys is set, a delivery without a signature header is rejected.
Event Types
The trigger supports monitoring over 30 different event types on Box files and folders.
A full list of available webhook events is available in the Box Webhooks documentation.
View all available webhook events (39)
| Category | Event | Description |
|---|---|---|
| File | FILE.UPLOADED | A file is uploaded to a folder |
FILE.PREVIEWED | A file is previewed | |
FILE.DOWNLOADED | A file is downloaded | |
FILE.TRASHED | A file is moved to trash | |
FILE.DELETED | A file is permanently deleted | |
FILE.RESTORED | A file is restored from trash | |
FILE.COPIED | A file is copied to another location | |
FILE.MOVED | A file is moved to a different folder | |
FILE.LOCKED | A file is locked | |
FILE.UNLOCKED | A file is unlocked | |
FILE.RENAMED | A file is renamed | |
| Folder | FOLDER.CREATED | A new folder is created |
FOLDER.DOWNLOADED | A folder is downloaded | |
FOLDER.RESTORED | A folder is restored from trash | |
FOLDER.DELETED | A folder is permanently deleted | |
FOLDER.COPIED | A folder is copied to another location | |
FOLDER.MOVED | A folder is moved to a different location | |
FOLDER.TRASHED | A folder is moved to trash | |
FOLDER.RENAMED | A folder is renamed | |
| Comment | COMMENT.CREATED | A comment is created on a file |
COMMENT.UPDATED | A comment is updated | |
COMMENT.DELETED | A comment is deleted | |
| Collaboration | COLLABORATION.CREATED | A collaboration is created |
COLLABORATION.ACCEPTED | A collaboration invitation is accepted | |
COLLABORATION.REJECTED | A collaboration invitation is rejected | |
COLLABORATION.REMOVED | A collaboration is removed | |
COLLABORATION.UPDATED | A collaboration is updated | |
| Shared Link | SHARED_LINK.CREATED | A shared link is created |
SHARED_LINK.UPDATED | A shared link is updated | |
SHARED_LINK.DELETED | A shared link is deleted | |
| Task | TASK_ASSIGNMENT.CREATED | A task assignment is created |
TASK_ASSIGNMENT.UPDATED | A task assignment is updated | |
| Metadata | METADATA_INSTANCE.CREATED | Metadata is added to a file or folder |
METADATA_INSTANCE.UPDATED | Metadata is updated on a file or folder | |
METADATA_INSTANCE.DELETED | Metadata is removed from a file or folder | |
| Sign Request | SIGN_REQUEST.COMPLETED | A sign request is completed |
SIGN_REQUEST.DECLINED | A sign request is declined | |
SIGN_REQUEST.EXPIRED | A sign request expires | |
| Webhook | WEBHOOK.DELETED | A webhook is deleted |
Returned Data
The trigger returns the complete webhook payload from Box. The structure varies depending on the event type. The source field contains the file or folder that triggered the event, while created_by identifies the user who performed the action.
Example payload for FILE.UPLOADED event
{
"trigger": "FILE.UPLOADED",
"id": "1234567890",
"type": "webhook_event",
"webhook": {
"id": "987654321",
"type": "webhook"
},
"created_by": {
"type": "user",
"id": "11111",
"name": "Example User",
"login": "user@example.com"
},
"created_at": "2024-11-10T10:30:00-08:00",
"source": {
"id": "555555",
"type": "file",
"name": "example.pdf",
"parent": {
"type": "folder",
"id": "999999",
"name": "Documents"
}
}
}
For complete payload structure details, see the Box Webhooks V2 documentation.
Example Payload for Managed Webhook⤓
Manual Webhook
Receive and validate webhook requests from Box for manually configured webhook subscriptions. | key: webhook
| Input | Notes | Example |
|---|---|---|
| Primary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
| Secondary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
Receive and validate webhook requests from Box for manually configured webhook subscriptions.
Unlike the Managed Webhook trigger, this trigger does not create or delete the underlying Box webhook. Use it when the webhook subscription is created separately (either in the Box Developer Console or by running the Create Webhook action) and pointed at this trigger's URL.
How It Works
When a signature key is configured, the trigger verifies the box-signature-primary or box-signature-secondary header of every incoming request before the flow runs. Requests that fail validation, including requests that carry no signature header at all, are rejected with an error.
The signature keys used for validation can come from either of two places:
- The Primary Signature Key and Secondary Signature Key inputs configured directly on this trigger.
- Cross-flow state, where the Create Webhook action stores the keys when it is run with its own Primary Signature Key and Secondary Signature Key inputs filled in.
The trigger prefers the values configured on its own inputs and falls back to cross-flow state when an input is left blank. This means a webhook created directly in the Box Developer Console, without ever running the Create Webhook action, can now be verified by pasting the signature keys straight into the trigger's inputs.
If no signature key is configured on the trigger or in cross-flow state, an unsigned request is passed through without verification.
Configuration
- Primary Signature Key: Optional. Validates the
box-signature-primaryheader. When left blank, the trigger falls back to the value stored in cross-flow state by the Create Webhook action. - Secondary Signature Key: Optional. Validates the
box-signature-secondaryheader. When left blank, the trigger falls back to the value stored in cross-flow state by the Create Webhook action.
Returned Data
The trigger returns the raw webhook payload sent by Box. Fields shown are representative. The full response object includes additional properties.
Example payload for FILE.UPLOADED event
{
"trigger": "FILE.UPLOADED",
"id": "1234567890",
"type": "webhook_event",
"webhook": {
"id": "987654321",
"type": "webhook"
},
"created_by": {
"type": "user",
"id": "11111",
"name": "Example User",
"login": "user@example.com"
},
"created_at": "2024-11-10T10:30:00-08:00",
"source": {
"id": "555555",
"type": "file",
"name": "example.pdf",
"parent": {
"type": "folder",
"id": "999999",
"name": "Documents"
}
}
}
For complete payload structure details, see the Box Webhooks V2 documentation.
Example Payload for Manual Webhook⤓
New and Updated Files
Retrieves existing and ongoing files in a specified Box folder. Load history once, check for changes on a schedule, or both. | key: newOrUpdatedFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. | 2026-01-01 |
Checks for new and updated files in a specified folder on a configured schedule.
This polling trigger monitors a Box folder at regular intervals and identifies files that have been created or modified since the last poll. The trigger automatically maintains state to track the last polling time and categorizes results into new files and updated files.
How It Works
The trigger operates as follows:
- Runs on the configured schedule (e.g., every 5 minutes)
- Fetches all files from the specified folder using the Box Folders API
- Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
- Compares file creation and modification timestamps against the last poll time
- Categorizes files as:
- New Files: Files where
created_atis after the last poll time - Updated Files: Files where
modified_atis after the last poll time but are not classified as new
- New Files: Files where
- Maintains polling state automatically to track the last poll time
Each recurrence fetches every item in the specified folder, 1,000 per request, using Box's marker-based pagination.
Initial Sync
The trigger has no input that narrows which changes are reported, so an initial sync ignores no input. It begins on the first recurrence when a Look-back Date (YYYY-MM-DD) is set, and delivers every file created or modified on or after that date exactly once, categorized as new or updated by the rules above. Left empty, there is no sync: the first recurrence stores its start time as the position and reports only files created or modified after it.
The window has no fixed upper bound: the trigger lists every item in the folder, so a file changed while that listing runs is included. The position stored is the time the recurrence started, not the newest file received, so such a file can be delivered again on the next recurrence, which resumes from that position. Nothing in the payload marks the handoff. The sync finishes in one recurrence with batching on or off.
Folder ID still applies. The trigger has no page-size or field-selection input.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Box.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off a downstream step reads body.data.newFiles.data and body.data.updatedFiles.data. With batching on those fields do not exist: each execution receives one { "changeType": "new" | "updated", "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns separate arrays for new and updated files with branch support. Fields shown are representative. The full response object includes additional properties.
Example returned data structure
{
"data": {
"newFiles": {
"data": [
{
"id": "1234567890",
"type": "file",
"name": "report.pdf",
"created_at": "2024-11-10T18:07:45Z",
"modified_at": "2024-11-10T18:07:45Z"
},
{
"id": "9876543210",
"type": "file",
"name": "invoice.xlsx",
"created_at": "2024-11-10T18:15:22Z",
"modified_at": "2024-11-10T18:15:22Z"
}
]
},
"updatedFiles": {
"data": [
{
"id": "5555555555",
"type": "file",
"name": "presentation.pptx",
"created_at": "2024-11-08T14:30:00Z",
"modified_at": "2024-11-10T18:20:10Z"
}
]
}
}
}
With batching on, each execution receives one record tagged with how it changed, or an array of such items when the batch size is greater than 1. The newFiles and updatedFiles objects are not part of this shape.
Batched Item
{
"changeType": "new",
"record": {
"id": "1234567890",
"type": "file",
"name": "report.pdf",
"created_at": "2024-11-10T18:07:45Z",
"modified_at": "2024-11-10T18:07:45Z"
}
}
Example Payload for New and Updated Files⤓
New File Comments
Retrieves existing and ongoing comments on a specified Box file. Load history once, check for changes on a schedule, or both. | key: newFileComments
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| File ID | The unique identifier of the file. | 987654321012 |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. | 2026-01-01 |
Checks for new comments on a specified file on a configured schedule.
This polling trigger monitors comments on a specific Box file at regular intervals and identifies comments that have been created since the last poll. The trigger automatically maintains state to track the last polling time and returns only newly created comments.
How It Works
The trigger operates as follows:
- Runs on the configured schedule (e.g., every 5 minutes)
- Fetches all comments for the specified file using the Box Comments API, paging through the results 1,000 at a time
- Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
- Compares comment creation timestamps against the last poll time
- Returns comments where
created_atis after the last poll time - Stores the time the recurrence started as the last poll time for the next recurrence
Initial Sync
The trigger has no input that narrows which changes are reported, so an initial sync ignores no input. It begins on the first recurrence when a Look-back Date (YYYY-MM-DD) is set, and delivers every comment created on or after that date exactly once. Left empty, there is no sync: the first recurrence stores its start time as the position and reports only comments added after it.
The window has no fixed upper bound: the trigger lists every comment on the file, so a comment added while that listing runs is included. The position stored is the time the recurrence started, not the newest comment received, so such a comment can be delivered again on the next recurrence, which resumes from that position. Nothing in the payload marks the handoff. The sync finishes in one recurrence with batching on or off.
File ID still applies. The trigger has no page-size or field-selection input.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Box.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off a downstream step reads body.data.newComments.data. With batching on that field does not exist: each execution receives one { "changeType": "new", "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns an array of newly created comments. Fields shown are representative. The full response object includes additional properties.
Example returned data structure
{
"data": {
"newComments": {
"data": [
{
"id": "1234567890",
"message": "Please review the updated section on page 3",
"created_at": "2024-11-10T18:07:45Z"
},
{
"id": "9876543210",
"message": "Approved for final release",
"created_at": "2024-11-10T18:15:22Z"
}
]
}
}
}
With batching on, each execution receives one record tagged with how it changed, or an array of such items when the batch size is greater than 1. The newComments object is not part of this shape.
Batched Item
{
"changeType": "new",
"record": {
"id": "1234567890",
"message": "Please review the updated section on page 3",
"created_at": "2024-11-10T18:07:45Z"
}
}
Example Payload for New File Comments⤓
New Folders
Retrieves existing and ongoing folders in a specified Box folder. Load history once, check for changes on a schedule, or both. | key: newFolder
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
| Look-back Date | The date the initial sync starts from, in YYYY-MM-DD format. Cannot be a future date. Leave empty to start from the first recurrence with no backfill. | 2026-01-01 |
Checks for new folders in a specified folder on a configured schedule.
This polling trigger monitors a Box folder at regular intervals and identifies subfolders that have been created since the last poll. The trigger automatically maintains state to track the last polling time and returns only newly created folders.
How It Works
The trigger operates as follows:
- Runs on the configured schedule (e.g., every 5 minutes)
- Fetches all items from the specified folder using the Box Folders API
- Filters results to include only folder entries (excluding files)
- Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
- Compares folder creation timestamps against the last poll time
- Returns folders where
created_atis after the last poll time - Maintains polling state automatically to track the last poll time
Each recurrence fetches every item in the specified folder, 1,000 per request, using Box's marker-based pagination.
Initial Sync
The trigger has no input that narrows which changes are reported, so an initial sync ignores no input. It begins on the first recurrence when a Look-back Date (YYYY-MM-DD) is set, and delivers every subfolder created on or after that date exactly once. Left empty, there is no sync: the first recurrence stores its start time as the position and reports only folders created after it.
The window has no fixed upper bound: the trigger lists every item in the folder, so a folder created while that listing runs is included. The position stored is the time the recurrence started, not the newest folder received, so such a folder can be delivered again on the next recurrence, which resumes from that position. Nothing in the payload marks the handoff. The sync finishes in one recurrence with batching on or off.
Folder ID still applies. The trigger has no page-size or field-selection input.
Batching
Batching is enabled per flow on this trigger: each changed record is dispatched as its own execution, or grouped by the configured batch size. Batch size and batch concurrency can both be overridden per instance. Raising concurrency increases the request volume sent to Box.
To turn it on, select the flow's trigger, open the Flow control tab, and switch on Enable Batching. Under Batch Size, keep Trigger default or choose Custom batch size. Batch Concurrency is optional; leave it blank for no batch-level limit.
With batching off a downstream step reads body.data.newFolders.data. With batching on that field does not exist: each execution receives one { "changeType": "new", "record": ... } item, or an array of them when the batch size is greater than 1. Any step reading the older shape must be updated before batching is enabled. Because batching is enabled per flow, that change is scoped to the flow rather than to the component or to other flows using the same trigger.
Returned Data
With batching off, the trigger returns an array of newly created folders. Fields shown are representative. The full response object includes additional properties.
Example returned data structure
{
"data": {
"newFolders": {
"data": [
{
"id": "1234567890",
"type": "folder",
"name": "Q1 Reports",
"created_at": "2024-11-10T18:07:45Z"
},
{
"id": "9876543210",
"type": "folder",
"name": "Client Documents",
"created_at": "2024-11-10T18:15:22Z"
}
]
}
}
}
With batching on, each execution receives one record tagged with how it changed, or an array of such items when the batch size is greater than 1. The newFolders object is not part of this shape.
Batched Item
{
"changeType": "new",
"record": {
"id": "1234567890",
"type": "folder",
"name": "Q1 Reports",
"created_at": "2024-11-10T18:07:45Z"
}
}
Example Payload for New Folders⤓
Data Sources
Select File or Folder
Select file or folder from Box account base path. | key: selectContent | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Content Type | The type of content to select (files, folders, or both). | file |
| Limit | The maximum number of items to return (1-1000). | 100 |
| Marker | The pagination marker returned by a previous request to retrieve the next page of results. | lslTXFcbLQKkb0vP9Kgh5hy0Y0OnC7Z9ZPHPwPmMnxSk3eiDRMkct7D8E |
| Offset | The position to start returning results from (zero-based index). | 0 |
Example Payload for Select File or Folder⤓
Select Webhook
Select webhook from Box account. | key: selectWebhook | type: picklist
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. |
Example Payload for Select Webhook⤓
Actions
Add Shared Link to File
Adds a shared link to a file. | key: addSharedLinkToFile
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Shared Link Password, Shared Link Permissions, and Shared Link Vanity Name. | |
| Connection | The Box connection to use. | |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| File ID | The unique identifier of the file. | 987654321012 |
| Shared Link Access | The level of access for the shared link. Values: open, company, collaborators. See Box Shared Links for details. | open |
Example Payload for Add Shared Link to File⤓
Add Shared Link to Folder
Adds a shared link to a folder. | key: addSharedLinkToFolder
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Shared Link Password, Shared Link Permissions Folder, and Shared Link Vanity Name. | |
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| Shared Link Access | The level of access for the shared link. Values: open, company, collaborators. See Box Shared Links for details. | open |
Example Payload for Add Shared Link to Folder⤓
Copy Object
Copy a Folder or File from one path to another. | key: copyObject
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| From Path | The full path to the source file or folder. Must include a leading forward slash (/). | /Marketing/Documents/OldReport.pdf |
| To Path | The full path to the destination location including the new filename. Must include a leading forward slash (/). | /Archive/2024/OldReport.pdf |
Example Payload for Copy Object⤓
Create Folder
Create a Folder at the specified path. | key: createFolder
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Create Folder⤓
Create Webhook
Create a webhook to send data from Box to an instance URL. | key: createWebhook
| Input | Notes | Example |
|---|---|---|
| Webhook URL | The URL where webhook events will be sent. Reference a flow's URL from the trigger payload. | https://hooks.example.com/box/abc123 |
| Connection | The Box connection to use. | |
| Primary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
| Secondary Signature Key | A signature key used to validate webhook requests. See Box Webhook Signatures for details. | example-primary-signature-key-0000 |
| Target ID | The unique identifier of the file or folder that will trigger the webhook. | 123456789012 |
| Target Type | The type of item that will trigger the webhook (file or folder). | file |
| Trigger Type | Select which event types will trigger this webhook. See Box Events for available options. |
Example Payload for Create Webhook⤓
Delete Instance Webhooks
Delete all Box webhooks that point to a flow in this instance. | key: deleteInstanceWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. |
Example Payload for Delete Instance Webhooks⤓
Delete Object
Delete a Folder or File at the specified path. | key: deleteObject
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Delete Object⤓
Delete Webhook
Delete a webhook by ID. | key: deleteWebhook
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Webhook ID | The unique identifier of the webhook. | 375893453 |
Example Payload for Delete Webhook⤓
Download File
Download the file at the specified path. | key: downloadFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Download File⤓
Find File for Shared Link
Returns the file represented by a shared link. | key: findFileForSharedLink
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Fields | A comma-separated list of attributes to include in the response. See Box File Fields for available options. | type,id,name,size,created_at |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| Shared Link Password | The password for the shared link, if one is set. |
Example Payload for Find File for Shared Link⤓
Find Folder for Shared Link
Returns the folder represented by a shared link. | key: findFolderForSharedLink
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Fields | A comma-separated list of attributes to include in the response. See Box File Fields for available options. | type,id,name,size,created_at |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| Shared Link Password | The password for the shared link, if one is set. |
Example Payload for Find Folder for Shared Link⤓
Get Current User
Get the information and metadata of the user that is currently logged in. | key: getCurrentUser
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. |
Example Payload for Get Current User⤓
Get File Download URL
Get a URL to download the file at the specified path. | key: getFileDownloadUrl
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Get File Download URL⤓
Get Path Details
Get detailed information about folders/files in the specified path. | key: pathDetails
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Get Path Details⤓
Get Shared Link for File
Gets the shared link for a file. | key: getSharedLinkForFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| File ID | The unique identifier of the file. | 987654321012 |
Example Payload for Get Shared Link for File⤓
Get Shared Link for Folder
Gets the shared link for a folder. | key: getSharedLinkForFolder
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
Example Payload for Get Shared Link for Folder⤓
List Folder
List Folder contents at the specified path. | key: listFolderWithPagination
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Fields/Metadata | Comma-separated attributes to include in the response. Supports metadata queries (e.g., metadata.enterprise_12345.contractTemplate). See Box File Fields for available options. | content_created_at,name,size,modified_at |
| Pagination | Marker, limit, and offset controls for paging through results. | |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for List Folder⤓
List Webhooks
List all webhooks configured in Box, including those for other integrations. | key: listWebhooks
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Fetch All | When true, automatically fetches all pages of results using pagination. | false |
| Pagination | Marker and limit controls for paging through results. | |
| Show Only Instance Webhooks | When true, returns only webhooks that point to this instance. | true |
Example Payload for List Webhooks⤓
Move Object
Move a Folder or File from one path to another. | key: moveObject
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| From Path | The full path to the source file or folder. Must include a leading forward slash (/). | /Marketing/Documents/OldReport.pdf |
| To Path | The full path to the destination location including the new filename. Must include a leading forward slash (/). | /Archive/2024/OldReport.pdf |
Example Payload for Move Object⤓
Raw Request
Send raw HTTP request to Box. | key: rawRequest
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Data | The HTTP body payload to send to the URL. | {"exampleKey": "Example Data"} |
| Debug Request | Enabling this flag will log out the current request. | false |
| File Data | File Data to be sent as a multipart form upload. | [{key: "example.txt", value: "My File Contents"}] |
| File Data File Names | File names to apply to the file data inputs. Keys must match the file data keys above. | |
| Form Data | The Form Data to be sent as a multipart form upload. | [{"key": "Example Key", "value": new Buffer("Hello World")}] |
| Header | A list of headers to send with the request. | User-Agent: curl/7.64.1 |
| Max Retry Count | The maximum number of retries to attempt. Specify 0 for no retries. | 0 |
| Method | The HTTP method to use. | |
| Query Parameter | A list of query parameters to send with the request. This is the portion at the end of the URL similar to ?key1=value1&key2=value2. | |
| Response Type | The type of data you expect in the response. You can request json, text, or binary data. | json |
| Retry On All Errors | If true, retries on all erroneous responses regardless of type. This is helpful when retrying after HTTP 429 or other 3xx or 4xx errors. Otherwise, only retries on HTTP 5xx and network errors. | false |
| Retry Delay (ms) | The delay in milliseconds between retries. This is used when 'Use Exponential Backoff' is disabled. | 0 |
| Timeout | The maximum time that a client will await a response to its request | 2000 |
| URL | Input the path only, such as | /2.0/folders |
| Use Exponential Backoff | Specifies whether to use a pre-defined exponential backoff strategy for retries. When enabled, 'Retry Delay (ms)' is ignored. | false |
Remove Shared Link from File
Removes a shared link from a file. | key: removeSharedLinkFromFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| File ID | The unique identifier of the file. | 987654321012 |
Example Payload for Remove Shared Link from File⤓
Remove Shared Link from Folder
Removes a shared link from a folder. | key: removeSharedLinkFromFolder
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
Example Payload for Remove Shared Link from Folder⤓
Update Shared Link on File
Updates a shared link on a file. | key: updateSharedLinkToFile
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Shared Link Password, Shared Link Permissions, and Shared Link Vanity Name. | |
| Connection | The Box connection to use. | |
| File ID | The unique identifier of the file. | 987654321012 |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| Shared Link Access | The level of access for the shared link. Values: open, company, collaborators. See Box Shared Links for details. | open |
Example Payload for Update Shared Link on File⤓
Update Shared Link on Folder
Updates a shared link on a folder. | key: updateSharedLinkOnFolder
| Input | Notes | Example |
|---|---|---|
| Additional Fields | Additional optional fields: includes Shared Link Password, Shared Link Permissions Folder, and Shared Link Vanity Name. | |
| Connection | The Box connection to use. | |
| Folder ID | The unique identifier of the folder. | 123456789012 |
| Shared Link | The URL of the shared link. | https://app.box.com/s/abcd1234efgh5678ijkl |
| Shared Link Access | The level of access for the shared link. Values: open, company, collaborators. See Box Shared Links for details. | open |
Example Payload for Update Shared Link on Folder⤓
Upload File
Upload a file to the specified path. | key: uploadFile
| Input | Notes | Example |
|---|---|---|
| Connection | The Box connection to use. | |
| File Contents | The file content to upload. Accepts text, binary data (images, PDFs), or output from a previous step. | My File Contents |
| Path | The full path to the file or folder. Must include a leading forward slash (/). | /Marketing/Documents/Q4_Report.pdf |
Example Payload for Upload File⤓
Changelog
2026-10-30
Fixed webhook, folder listing, and shared link errors, and tightened webhook signature validation:
- Fixed the List Webhooks action and the List Folder action with Fetch All disabled, which returned blank entries instead of the webhooks or folder items
- Fixed the Delete Instance Webhooks action, the Select Webhook data source, and List Webhooks with Show Only Instance Webhooks enabled, which failed whenever the Box account had a webhook
- Fixed the Create Webhook action, which failed when a webhook for the same target already existed instead of skipping creation
- Fixed the Managed Webhook trigger rejecting every signed delivery after its Primary Signature Key or Secondary Signature Key was changed without also changing the target or event types
- Fixed the Managed Webhook trigger failing on instance deletion, or on a redeploy that changed its target or event types, when its webhook had already been removed from Box
- Updated the Managed Webhook trigger to replace an existing webhook that delivers to the same flow when Box reports a conflict on deploy, and to fail with an error naming the conflict when the existing webhook delivers elsewhere
- Updated the Manual Webhook and Managed Webhook triggers to reject an unsigned delivery whenever a signature key is configured; before, a delivery without signature headers skipped validation
- Fixed the Get Shared Link for File and Get Shared Link for Folder actions, which failed with a type error when the item had no shared link; they now report that the file or folder has no shared link
- Updated the Find File for Shared Link and Find Folder for Shared Link actions to omit the password when Shared Link Password is empty, instead of sending the text "null"
- Added output schemas to the Delete Object, Delete Webhook, and Delete Instance Webhooks actions for improved field mapping during configuration
2026-10-13
Fixed errors in the polling triggers and path-based actions, and added batching and initial sync support:
- Fixed an error that caused the New and Updated Files and New Folders polling triggers, the Select File or Folder data source, and the List Folder action with Fetch All enabled to fail, along with every path-based action given any path other than the root folder: List Folder, Download File, Upload File, Create Folder, Get File Download URL, Delete Object, Get Path Details, Move Object, and Copy Object
- Fixed the New File Comments trigger, which failed whenever the file had comments, and updated it to check every page of the file's comments instead of only the first
- Added opt-in batching to the New and Updated Files, New Folders, and New File Comments triggers, dispatching each changed record individually or in configured batches; enabling it changes the shape a downstream step receives
- Added an optional Look-back Date input across all polling triggers for performing an initial sync of records. The initial sync backfills every record modified after the specified date, seeding each once; later recurrences are unaffected. Leave it empty to start from the first recurrence with no backfill
2026-09-14
Removed the List Folder (Deprecated) action that is no longer in use; use List Folder instead
2026-08-31
Improved Box trigger and webhook reliability and restructured action inputs:
-
Fixed the New and Updated Files and New Folders polling triggers so they no longer run the flow on every recurrence when nothing has changed
-
Fixed signature validation on the Managed Webhook trigger, which previously rejected every signed delivery for flows configured with signature keys
-
Fixed Delete Instance Webhooks so it deletes every matching webhook instead of stopping after the first page of results
-
Updated the Managed Webhook trigger to recreate its Box subscription when the selected trigger types change, and to carry its stored state forward so changing the target no longer leaves an orphaned webhook in Box
-
Added Primary Signature Key and Secondary Signature Key inputs to the Manual Webhook trigger, so a webhook created in the Box Developer Console can be verified without running the Create Webhook action
-
Updated the New File Comments trigger to return its results in the same location as the other polling triggers
Reconfiguration notice: New File Comments now returns its polled comments under
body.data.newCommentson the trigger results, matching the other polling triggers, instead ofdata.newComments. Check any step that references those results. -
Grouped the pagination inputs on the List Folder, List Folder (Deprecated), and List Webhooks actions into a Pagination structured object; Fetch All stays a top-level toggle
-
Grouped the optional shared link password, permissions, and vanity name inputs on the Add Shared Link to File, Update Shared Link on File, Add Shared Link to Folder, and Update Shared Link on Folder actions into Additional Fields
-
Added inline action calling support across all actions for improved example output during configuration
-
Added output schemas to 21 actions for improved field mapping during configuration
2026-08-03
Upgraded the Box SDK from box-node-sdk v3 to v10:
- Migrated client initialization and all file, folder, user, upload, download, and webhook operations to the new SDK
- Replaced webhook signature validation with a native, dependency-free implementation (HMAC-SHA256) that also rejects stale deliveries to guard against replay attacks
- Fixed the Update Shared Link on File action, which was calling an incorrect URL and failing
- Added example payloads for the shared link, delete, and webhook cleanup actions
2026-04-30
Updated spectral version
2026-03-31
Various modernizations and documentation updates
2025-01-23
Added new triggers for improved event monitoring:
- Managed Webhook automatically creates and manages webhook subscriptions when instances are deployed and removes them when deleted
- New or Updated Files polls for new or modified files in a specified folder on a schedule
- New Folders polls for newly created folders within a target folder on a schedule
- New File Comments polls for new comments on a specific file on a schedule
2025-11-19
Enhanced webhook triggers to support simulated test executions
2025-09-15
Upgraded to the latest Box SDK version with enhanced object operations and improved webhook functionality