Skip to main content
box icon

Box Connector

SourceAPI DocsAPI ChangelogConnector Changelog

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: apiKey

A 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​

Setup Steps​

To generate a developer token:

  1. Navigate to the Box Developer Console
  2. Select Create New App
  3. Choose Custom App and click Next
  4. Select User Authentication (OAuth 2.0) and click Next
  5. Enter an app name and click Create App
  6. In the app's Configuration tab, scroll to the Developer Token section
  7. Click Generate Developer Token
  8. 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
InputNotesExample
Developer Token

A short-lived developer token for testing purposes. Obtain from Box Developer Console.

ABCDEFGHIJKLMNOPQRSTUVWXYZ123456

OAuth 2.0​

key: oauth2

To 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​

  1. Navigate to the Box Developer Console
  2. Click Create New App
  3. Select Custom App and click Next
  4. Select User Authentication (OAuth 2.0) and click Next
  5. Enter an app name and click Create App
  6. 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
  7. 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:

  1. In the Box Admin Console, navigate to Apps → Custom Apps Manager
  2. Click Add App
  3. Enter the Client ID from the Box app's Configuration tab
  4. 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.

InputNotesExample
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

InputNotesExample
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)
CategoryEventDescription
FileFILE.UPLOADEDA file is uploaded to a folder
FILE.PREVIEWEDA file is previewed
FILE.DOWNLOADEDA file is downloaded
FILE.TRASHEDA file is moved to trash
FILE.DELETEDA file is permanently deleted
FILE.RESTOREDA file is restored from trash
FILE.COPIEDA file is copied to another location
FILE.MOVEDA file is moved to a different folder
FILE.LOCKEDA file is locked
FILE.UNLOCKEDA file is unlocked
FILE.RENAMEDA file is renamed
FolderFOLDER.CREATEDA new folder is created
FOLDER.DOWNLOADEDA folder is downloaded
FOLDER.RESTOREDA folder is restored from trash
FOLDER.DELETEDA folder is permanently deleted
FOLDER.COPIEDA folder is copied to another location
FOLDER.MOVEDA folder is moved to a different location
FOLDER.TRASHEDA folder is moved to trash
FOLDER.RENAMEDA folder is renamed
CommentCOMMENT.CREATEDA comment is created on a file
COMMENT.UPDATEDA comment is updated
COMMENT.DELETEDA comment is deleted
CollaborationCOLLABORATION.CREATEDA collaboration is created
COLLABORATION.ACCEPTEDA collaboration invitation is accepted
COLLABORATION.REJECTEDA collaboration invitation is rejected
COLLABORATION.REMOVEDA collaboration is removed
COLLABORATION.UPDATEDA collaboration is updated
Shared LinkSHARED_LINK.CREATEDA shared link is created
SHARED_LINK.UPDATEDA shared link is updated
SHARED_LINK.DELETEDA shared link is deleted
TaskTASK_ASSIGNMENT.CREATEDA task assignment is created
TASK_ASSIGNMENT.UPDATEDA task assignment is updated
MetadataMETADATA_INSTANCE.CREATEDMetadata is added to a file or folder
METADATA_INSTANCE.UPDATEDMetadata is updated on a file or folder
METADATA_INSTANCE.DELETEDMetadata is removed from a file or folder
Sign RequestSIGN_REQUEST.COMPLETEDA sign request is completed
SIGN_REQUEST.DECLINEDA sign request is declined
SIGN_REQUEST.EXPIREDA sign request expires
WebhookWEBHOOK.DELETEDA 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⤓
Loading…

Manual Webhook​

Receive and validate webhook requests from Box for manually configured webhook subscriptions. | key: webhook

InputNotesExample
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:

  1. The Primary Signature Key and Secondary Signature Key inputs configured directly on this trigger.
  2. 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-primary header. 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-secondary header. 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⤓
Loading…

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

InputNotesExample
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:

  1. Runs on the configured schedule (e.g., every 5 minutes)
  2. Fetches all files from the specified folder using the Box Folders API
  3. Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
  4. Compares file creation and modification timestamps against the last poll time
  5. Categorizes files as:
    • New Files: Files where created_at is after the last poll time
    • Updated Files: Files where modified_at is after the last poll time but are not classified as new
  6. 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⤓
Loading…

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

InputNotesExample
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:

  1. Runs on the configured schedule (e.g., every 5 minutes)
  2. Fetches all comments for the specified file using the Box Comments API, paging through the results 1,000 at a time
  3. Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
  4. Compares comment creation timestamps against the last poll time
  5. Returns comments where created_at is after the last poll time
  6. 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⤓
Loading…

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

InputNotesExample
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:

  1. Runs on the configured schedule (e.g., every 5 minutes)
  2. Fetches all items from the specified folder using the Box Folders API
  3. Filters results to include only folder entries (excluding files)
  4. Normalizes timestamps to UTC for accurate comparison (Box stores dates with timezone offsets)
  5. Compares folder creation timestamps against the last poll time
  6. Returns folders where created_at is after the last poll time
  7. 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⤓
Loading…

Data Sources​

Select File or Folder​

Select file or folder from Box account base path. | key: selectContent | type: picklist

InputNotesExample
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⤓
Loading…

Select Webhook​

Select webhook from Box account. | key: selectWebhook | type: picklist

InputNotesExample
Connection

The Box connection to use.

Example Payload for Select Webhook⤓
Loading…

Actions​

Add Shared Link to File​

Adds a shared link to a file. | key: addSharedLinkToFile

InputNotesExample
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⤓
Loading…

Add Shared Link to Folder​

Adds a shared link to a folder. | key: addSharedLinkToFolder

InputNotesExample
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⤓
Loading…

Copy Object​

Copy a Folder or File from one path to another. | key: copyObject

InputNotesExample
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⤓
Loading…

Create Folder​

Create a Folder at the specified path. | key: createFolder

InputNotesExample
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⤓
Loading…

Create Webhook​

Create a webhook to send data from Box to an instance URL. | key: createWebhook

InputNotesExample
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⤓
Loading…

Delete Instance Webhooks​

Delete all Box webhooks that point to a flow in this instance. | key: deleteInstanceWebhooks

InputNotesExample
Connection

The Box connection to use.

Example Payload for Delete Instance Webhooks⤓
Loading…

Delete Object​

Delete a Folder or File at the specified path. | key: deleteObject

InputNotesExample
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⤓
Loading…

Delete Webhook​

Delete a webhook by ID. | key: deleteWebhook

InputNotesExample
Connection

The Box connection to use.

Webhook ID

The unique identifier of the webhook.

375893453
Example Payload for Delete Webhook⤓
Loading…

Download File​

Download the file at the specified path. | key: downloadFile

InputNotesExample
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⤓
Loading…

Returns the file represented by a shared link. | key: findFileForSharedLink

InputNotesExample
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⤓
Loading…

Returns the folder represented by a shared link. | key: findFolderForSharedLink

InputNotesExample
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⤓
Loading…

Get Current User​

Get the information and metadata of the user that is currently logged in. | key: getCurrentUser

InputNotesExample
Connection

The Box connection to use.

Example Payload for Get Current User⤓
Loading…

Get File Download URL​

Get a URL to download the file at the specified path. | key: getFileDownloadUrl

InputNotesExample
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⤓
Loading…

Get Path Details​

Get detailed information about folders/files in the specified path. | key: pathDetails

InputNotesExample
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⤓
Loading…

Get Shared Link for File​

Gets the shared link for a file. | key: getSharedLinkForFile

InputNotesExample
Connection

The Box connection to use.

File ID

The unique identifier of the file.

987654321012
Example Payload for Get Shared Link for File⤓
Loading…

Get Shared Link for Folder​

Gets the shared link for a folder. | key: getSharedLinkForFolder

InputNotesExample
Connection

The Box connection to use.

Folder ID

The unique identifier of the folder.

123456789012
Example Payload for Get Shared Link for Folder⤓
Loading…

List Folder​

List Folder contents at the specified path. | key: listFolderWithPagination

InputNotesExample
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⤓
Loading…

List Webhooks​

List all webhooks configured in Box, including those for other integrations. | key: listWebhooks

InputNotesExample
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⤓
Loading…

Move Object​

Move a Folder or File from one path to another. | key: moveObject

InputNotesExample
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⤓
Loading…

Raw Request​

Send raw HTTP request to Box. | key: rawRequest

InputNotesExample
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. The base URL https://api.box.com is already included. For example, to call https://api.box.com/2.0/folders, enter /2.0/folders in this field.

/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

InputNotesExample
Connection

The Box connection to use.

File ID

The unique identifier of the file.

987654321012
Example Payload for Remove Shared Link from File⤓
Loading…

Remove Shared Link from Folder​

Removes a shared link from a folder. | key: removeSharedLinkFromFolder

InputNotesExample
Connection

The Box connection to use.

Folder ID

The unique identifier of the folder.

123456789012
Example Payload for Remove Shared Link from Folder⤓
Loading…

Update Shared Link on File​

Updates a shared link on a file. | key: updateSharedLinkToFile

InputNotesExample
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⤓
Loading…

Update Shared Link on Folder​

Updates a shared link on a folder. | key: updateSharedLinkOnFolder

InputNotesExample
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⤓
Loading…

Upload File​

Upload a file to the specified path. | key: uploadFile

InputNotesExample
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⤓
Loading…

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.newComments on the trigger results, matching the other polling triggers, instead of data.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