# Box

Your Toolhouse AI Worker can connect to Box using 286 specialized tools.

## Auth Connection

This service requires an auth connection to use its tools. You can set this up in your Toolhouse dashboard under [Auth Connections](https://toolhouse.app/auth-connections?authkit_slugs=box).

## Tools (286)

### `Box Add Allowed Collaboration Domain`

Integration name: **BOX\_ADD\_ALLOWED\_COLLABORATION\_DOMAIN**

Creates a new entry in the list of allowed domains for collaboration within your enterprise. This allows you to whitelist specific domains for external collaboration. Use `inbound` to allow users from the specified domain to collaborate on your enterprise's files and folders. Use `outbound` to allow your enterprise users to collaborate on content owned by the specified domain. Use `both` for bidirectional collaboration. Note: This action requires enterprise admin privileges and the `manage_enterprise_properties` scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter   | Type   | Required | Example | Description                                                                                                                                                                                                                                          |
| ----------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `domain`    | string |     ✅    | —       | The domain to add to the list of allowed collaboration domains (e.g., `example.com`). This domain will be whitelisted for collaboration with your enterprise based on the specified direction.                                                       |
| `direction` | string |     ✅    | —       | The direction in which collaborations are allowed. Use `inbound` to allow external users from this domain to collaborate on your content, `outbound` to allow your users to collaborate on their content, or `both` for bidirectional collaboration. |

***

### `Box Add Classification To File`

Integration name: **BOX\_ADD\_CLASSIFICATION\_TO\_FILE**

Adds a classification to a file by specifying the label of the classification to add. **Enterprise-only feature**: This action requires a Box enterprise account with classification templates configured. Users without an enterprise account will receive an error when attempting to use this feature. This API can also be called by including the enterprise ID in the URL explicitly, for example `/files/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                  |
| ------------------------------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file_id`                            | string |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`.                                                                                            |
| `Box__Security__Classification__Key` | string |     ✅    | —       | The name of the classification to apply to this file. This is a required field. To list the available classifications in an enterprise, use the classification API to retrieve the [classification template](e://get_metadata_templates_enterprise_securityClassification-6VMVochwUWo_schema) which lists all available classification keys. |

***

### `Box Add Classification To Folder`

Integration name: **BOX\_ADD\_CLASSIFICATION\_TO\_FOLDER**

Adds a classification to a folder by specifying the label of the classification to add. **Enterprise-only feature**: This action requires a Box enterprise account with classification templates configured. Users without an enterprise account will receive an error when attempting to use this feature. **Prerequisites**:

* A classification template must exist in the enterprise. Use `list_all_classifications` to retrieve available classification keys.
* If no classifications exist, an admin must first create the classification template using `add_initial_classifications`.

**Common errors**:

* 404: Classification template not found (no classifications exist in enterprise)
* 409: Classification already exists on this folder (use update action instead)
* 403: Insufficient permissions to add classifications

This API can also be called by including the enterprise ID in the URL explicitly, for example `/folders/:id//enterprise_12345/securityClassification-6VMVochwUWo`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                    |
| ------------------------------------ | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `folder_id`                          | string |     ✅    | —       | The unique identifier that represent a folder. The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folder/123` the `folder_id` is `123`. The root folder of a Box account is always represented by the ID `0`.             |
| `Box__Security__Classification__Key` | string |     ✅    | —       | The name of the classification to apply to this folder. This is a required field. To list the available classifications in an enterprise, use the classification API to retrieve the [classification template](e://get_metadata_templates_enterprise_securityClassification-6VMVochwUWo_schema) which lists all available classification keys. |

***

### `Box Add Initial Classifications`

Integration name: **BOX\_ADD\_INITIAL\_CLASSIFICATIONS**

Initializes the classification template for an enterprise with an initial set of classification options. IMPORTANT: This action requires admin permissions and should only be called once per enterprise when no classifications exist. If classifications already exist, use the `add_classification` action to add more options. Common classification examples: `Confidential`, `Internal`, `Public`, `Restricted`. Returns 400 if the classification template already exists. Returns 403 if the user lacks admin permissions.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example | Description                                                                                                                    |
| ------------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------ |
| `scope`                  | string  |     ✅    | —       | The scope for the classification template. Must be `enterprise`.                                                               |
| `fields`                 | array   |     ✅    | —       | The classification field definition. Must contain exactly one field of type `enum` that holds all valid classification values. |
| `hidden`                 | boolean |          | —       | Whether to hide the classification template from web and mobile interfaces.                                                    |
| `displayName`            | string  |     ✅    | —       | The display name. Must be `Classification`.                                                                                    |
| `templateKey`            | string  |     ✅    | —       | The template key. Must be `securityClassification-6VMVochwUWo`.                                                                |
| `copyInstanceOnItemCopy` | boolean |          | —       | Whether to copy classifications when a file or folder is copied.                                                               |

***

### `Box Add Or Update User Avatar`

Integration name: **BOX\_ADD\_OR\_UPDATE\_USER\_AVATAR**

Adds or updates a user avatar.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                |
| --------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `pic`     | object |     ✅    | —       | The avatar image file to upload. Requirements: file must be.jpg or.png format, maximum 1MB size, maximum 1024x1024 pixels. |
| `user_id` | string |     ✅    | —       | The ID of the user.                                                                                                        |

***

### `Box Add Shared Link To File`

Integration name: **BOX\_ADD\_SHARED\_LINK\_TO\_FILE**

Adds a shared link to a file.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                  | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fields`                                   | string  |          | —       | Explicitly request the `shared_link` fields to be returned for this item. Defaults to `shared_link` to return the shared link details in the response.                                                                                                                                                                                                                                                                                                                                                              |
| `file_id`                                  | string  |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`.                                                                                                                                                                                                                                                                   |
| `shared__link__access`                     | string  |          | —       | The level of access for the shared link. This can be restricted to anyone with the link (`open`), only people within the company (`company`) and only those who have been invited to the file (`collaborators`). If not set, this field defaults to the access level specified by the enterprise admin. To create a shared link with this default setting pass the `shared_link` object with no `access` field, for example `{ "shared_link": {} }`. The `company` access level is only available to paid accounts. |
| `shared__link__password`                   | string  |          | —       | The password required to access the shared link. Set the password to `null` to remove it. Passwords must now be at least eight characters long and include a number, upper case letter, or a non-numeric or non-alphabetic character. A password can only be set when `access` is set to `open`.                                                                                                                                                                                                                    |
| `shared__link__unshared__at`               | string  |          | —       | The timestamp at which this shared link will expire. This field can only be set by users with paid accounts. The value must be greater than the current date and time.                                                                                                                                                                                                                                                                                                                                              |
| `shared__link__vanity__name`               | string  |          | —       | Defines a custom vanity name to use in the shared link URL, for example `https://app.box.com/v/my-shared-link`. Custom URLs should not be used when sharing sensitive content as vanity URLs are a lot easier to guess than regular shared links.                                                                                                                                                                                                                                                                   |
| `shared__link__permissions__can__edit`     | boolean |          | —       | If the shared link allows for editing of files. This can only be set when `access` is set to `open` or `company`. This value can only be `true` is `can_download` is also `true`.                                                                                                                                                                                                                                                                                                                                   |
| `shared__link__permissions__can__preview`  | boolean |          | —       | If the shared link allows for previewing of files. This value is always `true`. For shared links on folders this also applies to any items in the folder.                                                                                                                                                                                                                                                                                                                                                           |
| `shared__link__permissions__can__download` | boolean |          | —       | If the shared link allows for downloading of files. This can only be set when `access` is set to `open` or `company`.                                                                                                                                                                                                                                                                                                                                                                                               |

***

### `Box Add Shared Link To Folder`

Integration name: **BOX\_ADD\_SHARED\_LINK\_TO\_FOLDER**

Adds a shared link to a folder, allowing it to be shared with others via a URL. This action creates or updates a shared link on a folder. The shared link can be configured with different access levels: - `open`: Anyone with the link can access - `company`: Only people within the company can access (paid accounts only) - `collaborators`: Only those invited to the folder can access To create a shared link with default enterprise settings, call with just folder\_id and fields=`shared_link`. To customize access, set shared\_link\_access parameter. Returns the folder object with the new shared\_link information including the URL.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                  | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| ------------------------------------------ | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fields`                                   | string  |          | —       | Comma-separated list of fields to return. To retrieve shared link details, use `shared_link`. Example values: `shared_link`, `shared_link,name,id`.                                                                                                                                                                                                                                                                                                                                                                   |
| `folder_id`                                | string  |     ✅    | —       | The unique identifier that represents a folder. The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folder/123` the `folder_id` is `123`. The root folder of a Box account is always represented by the ID `0`. Example: `12345678`.                                                                                                                                                              |
| `shared__link__access`                     | string  |          | —       | The level of access for the shared link. This can be restricted to anyone with the link (`open`), only people within the company (`company`) and only those who have been invited to the folder (`collaborators`). If not set, this field defaults to the access level specified by the enterprise admin. To create a shared link with this default setting pass the `shared_link` object with no `access` field, for example `{ "shared_link": {} }`. The `company` access level is only available to paid accounts. |
| `shared__link__password`                   | string  |          | —       | The password required to access the shared link. Set the password to `null` to remove it. Passwords must now be at least eight characters long and include a number, upper case letter, or a non-numeric or non-alphabetic character. A password can only be set when `access` is set to `open`.                                                                                                                                                                                                                      |
| `shared__link__unshared__at`               | string  |          | —       | The timestamp at which this shared link will expire. This field can only be set by users with paid accounts. The value must be greater than the current date and time.                                                                                                                                                                                                                                                                                                                                                |
| `shared__link__vanity__name`               | string  |          | —       | Defines a custom vanity name to use in the shared link URL, for example `https://app.box.com/v/my-shared-link`. Custom URLs should not be used when sharing sensitive content as vanity URLs are a lot easier to guess than regular shared links.                                                                                                                                                                                                                                                                     |
| `shared__link__permissions__can__edit`     | boolean |          | —       | This value can only be `false` for items with a `type` of `folder`.                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| `shared__link__permissions__can__preview`  | boolean |          | —       | If the shared link allows for previewing of files. This value is always `true`. For shared links on folders this also applies to any items in the folder.                                                                                                                                                                                                                                                                                                                                                             |
| `shared__link__permissions__can__download` | boolean |          | —       | If the shared link allows for downloading of files. This can only be set when `access` is set to `open` or `company`.                                                                                                                                                                                                                                                                                                                                                                                                 |

***

### `Box Add Shared Link To Web Link`

Integration name: **BOX\_ADD\_SHARED\_LINK\_TO\_WEB\_LINK**

Adds a shared link to a web link.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                                  | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| ------------------------------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fields`                                   | string  |          | —       | Comma-separated list of fields to include in the response. Set to `shared_link` to return shared link details. Defaults to `shared_link`.                                                                                                                                                                                                                                                                                                                                                                           |
| `web_link_id`                              | string  |     ✅    | —       | The unique identifier (ID) of the web link to add a shared link to.                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `shared__link__access`                     | string  |          | —       | The level of access for the shared link. This can be restricted to anyone with the link (`open`), only people within the company (`company`) and only those who have been invited to the file (`collaborators`). If not set, this field defaults to the access level specified by the enterprise admin. To create a shared link with this default setting pass the `shared_link` object with no `access` field, for example `{ "shared_link": {} }`. The `company` access level is only available to paid accounts. |
| `shared__link__password`                   | string  |          | —       | The password required to access the shared link. Set the password to `null` to remove it. Passwords must now be at least eight characters long and include a number, upper case letter, or a non-numeric or non-alphabetic character. A password can only be set when `access` is set to `open`.                                                                                                                                                                                                                    |
| `shared__link__unshared__at`               | string  |          | —       | The timestamp at which this shared link will expire. This field can only be set by users with paid accounts. The value must be greater than the current date and time.                                                                                                                                                                                                                                                                                                                                              |
| `shared__link__vanity__name`               | string  |          | —       | Defines a custom vanity name to use in the shared link URL, for example `https://app.box.com/v/my-shared-link`. Custom URLs should not be used when sharing sensitive content as vanity URLs are a lot easier to guess than regular shared links.                                                                                                                                                                                                                                                                   |
| `shared__link__permissions__can__edit`     | boolean |          | —       | This value can only be `true` is `type` is `file`.                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| `shared__link__permissions__can__preview`  | boolean |          | —       | If the shared link allows for previewing of files. This value is always `true`. For shared links on folders this also applies to any items in the folder.                                                                                                                                                                                                                                                                                                                                                           |
| `shared__link__permissions__can__download` | boolean |          | —       | If the shared link allows for downloading of files. This can only be set when `access` is set to `open` or `company`.                                                                                                                                                                                                                                                                                                                                                                                               |

***

### `Box Add User To Group`

Integration name: **BOX\_ADD\_USER\_TO\_GROUP**

Creates a group membership. Only users with admin-level permissions will be able to use this API.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                  | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| -------------------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `role`                     | string |          | —       | The role of the user in the group. Can be `admin` or `member`. Admins have elevated permissions to manage the group. Members have standard access. Defaults to `member` if not specified.                                                                                                                                                                                                                                                                                      |
| `fields`                   | array  |          | —       | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response. Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested.                                                           |
| `user__id`                 | string |     ✅    | —       | The unique identifier (ID) of the user to add to the group. This is a required field.                                                                                                                                                                                                                                                                                                                                                                                          |
| `group__id`                | string |     ✅    | —       | The unique identifier (ID) of the group to add the user to. This is a required field.                                                                                                                                                                                                                                                                                                                                                                                          |
| `configurable_permissions` | object |          | —       | Custom configuration for the permissions an admin of a group will receive. This option has no effect on members with a role of `member`. Setting these permissions overwrites the default access levels of an admin. Specifying a value of null for this object will disable all configurable permissions. Specifying permissions will set them accordingly, omitted permissions will be enabled by default. Example: `{'can_run_reports': true, 'can_instant_login': false}`. |

***

### `Box Append Metadata Taxonomy Level`

Integration name: **BOX\_APPEND\_METADATA\_TAXONOMY\_LEVEL**

Appends a new level to a metadata taxonomy structure. Use when adding hierarchical categories to organize metadata. If no levels exist, this creates the first level.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                         |
| -------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| `namespace`    | string |     ✅    | —       | The namespace of the metadata taxonomy. Use format `enterprise_{enterprise_id}` for enterprise taxonomies (e.g., `enterprise_123456`).              |
| `description`  | string |          | —       | The description of the taxonomy level. Provides additional context about this level (e.g., `French Republic`, `Second level taxonomy for testing`). |
| `displayName`  | string |     ✅    | —       | The display name of the taxonomy level to append. This is the label shown to users (e.g., `France`, `Level 2`).                                     |
| `taxonomy_key` | string |     ✅    | —       | The key of the metadata taxonomy to append the level to (e.g., `geography`, `product_catalog`).                                                     |

***

### `Box Apply Watermark To File`

Integration name: **BOX\_APPLY\_WATERMARK\_TO\_FILE**

Applies or update a watermark on a file.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example | Description                                                                                                                                                                                                                                       |
| -------------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `file_id`            | string |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`. |
| `watermark__imprint` | string |          | —       | The type of watermark to apply. Currently only supports `default`. This value is required by the Box API.                                                                                                                                         |

***

### `Box Apply Watermark To Folder`

Integration name: **BOX\_APPLY\_WATERMARK\_TO\_FOLDER**

Applies or update a watermark on a folder.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter            | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                        |
| -------------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `folder_id`          | string |     ✅    | —       | The unique identifier that represent a folder. The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folder/123` the `folder_id` is `123`. The root folder of a Box account is always represented by the ID `0`. |
| `watermark__imprint` | string |          | —       | The type of watermark to apply. Currently only supports `default` as the value.                                                                                                                                                                                                                                                    |

***

### `Box Ask Question`

Integration name: **BOX\_ASK\_QUESTION**

Ask questions about Box files using Box AI. Use this action to query one or more files with natural language questions. Box AI will analyze the file contents and provide an answer based on the information found in the files. Modes:

* `single_item_qa`: Ask about a single file (items array must have exactly 1 element)
* `multiple_item_qa`: Ask about multiple files (up to 25 files)

Limitations:

* Text documents: Up to 1MB per file, max 25 files
* Images: 1024x1024px resolution, max 5 images/pages
* Prompts: Max 10,000 characters

Requires `manage_ai` scope in the access token.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type    | Required | Example | Description                                                                                                                                                                          |
| ------------------- | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `mode`              | string  |     ✅    | —       | The query mode: `single_item_qa` for questions about one file (items array must have exactly 1 element), or `multiple_item_qa` for questions across multiple files (up to 25 files). |
| `items`             | array   |     ✅    | —       | List of files to query. For `single_item_qa` mode, provide exactly 1 item. For `multiple_item_qa` mode, provide 1-25 items. Each item needs `id` and `type` fields.                  |
| `prompt`            | string  |     ✅    | —       | The question to ask about the file(s). Maximum 10,000 characters.                                                                                                                    |
| `ai_agent`          | object  |          | —       | Schema for specifying a custom AI agent to handle the request.                                                                                                                       |
| `dialogue_history`  | array   |          | —       | Optional conversation history to provide context for follow-up questions.                                                                                                            |
| `include_citations` | boolean |          | —       | Set to true to include source citations in the response showing where the answer came from.                                                                                          |

***

### `Box Assign Legal Hold Policy`

Integration name: **BOX\_ASSIGN\_LEGAL\_HOLD\_POLICY**

Assign a legal hold policy to a file, file version, folder, or user. Legal hold policies preserve content for litigation or compliance purposes by preventing the deletion of specified items. When assigned to a folder, the hold applies recursively to all contents. When assigned to a user, the hold applies to all content owned by that user. Note: This feature requires Box Enterprise or higher with legal hold capabilities enabled. The authenticated user must have admin privileges with `manage_legal_holds` scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                       |
| ------------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `policy_id`        | string |     ✅    | —       | The unique identifier of the legal hold policy to assign. Obtain this ID from `create_legal_hold_policy` or `list_all_legal_hold_policies`.                                                                                                                                                       |
| `assign__to__id`   | string |     ✅    | —       | The unique identifier of the item to assign the legal hold policy to. Must correspond to the type specified in assign\_to\_type.                                                                                                                                                                  |
| `assign__to__type` | string |     ✅    | —       | The type of item to assign the policy to. Options: `file` (individual files), `file_version` (specific file versions), `folder` (applies recursively to all contents), `user` (all content owned by a user), `ownership` (ownership records), or `interactions` (user interactions with content). |

***

### `Box Assign Retention Policy`

Integration name: **BOX\_ASSIGN\_RETENTION\_POLICY**

Assigns a retention policy to an item in Box to enforce content retention. Use this action to apply a retention policy to:

* An entire enterprise (assign\_to\_type=`enterprise`, no ID needed)
* A specific folder (assign\_to\_type=`folder`, provide folder ID)
* Items matching metadata criteria (assign\_to\_type=`metadata_template`, provide template ID)

Prerequisites:

* Box Governance license is required
* Admin permissions with `manage_data_retention` and `enterprise_content` scopes
* A retention policy must exist (use create\_retention\_policy first)

Example usage for folder assignment:

* policy\_id: `"173463"` (from create\_retention\_policy or list\_retention\_policies)
* assign\_to\_type: `"folder"`
* assign\_to\_id: `"6564564"` (the folder ID)

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example | Description                                                                                                                                                                                                                                                  |
| ------------------ | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `policy_id`        | string |     ✅    | —       | The unique ID of the retention policy to assign (e.g., `173463`). Get this from list\_retention\_policies or create\_retention\_policy.                                                                                                                      |
| `filter_fields`    | array  |          | —       | Optional metadata filters when assign\_to\_type is `metadata_template`. Array of objects with `field` (metadata attribute key ID) and `value` (field value ID). Only enum and multiselect field types are supported. Currently limited to one filter object. |
| `assign__to__id`   | string |          | —       | The ID of the target item. Required for `folder` (folder ID like `6564564`) and `metadata_template` (template ID). Omit or set to null when assign\_to\_type is `enterprise`.                                                                                |
| `assign__to__type` | string |     ✅    | —       | The type of item to assign the policy to. Options: `enterprise` (applies to all enterprise content), `folder` (applies to specific folder by ID), `metadata_template` (applies based on metadata criteria).                                                  |
| `start_date_field` | string |          | —       | The date field that determines when retention begins. For `metadata_template` assignments, this can be a date field's metadata attribute key ID (e.g., `upload_date`). Only applicable when assign\_to\_type is `metadata_template`.                         |

***

### `Box Assign Storage Policy`

Integration name: **BOX\_ASSIGN\_STORAGE\_POLICY**

Creates a storage policy assignment for an enterprise or user. Storage policies control where data is stored geographically (data residency). This action requires Box Zones or similar enterprise feature to be enabled. Use `list_storage_policies` to get available policies before assignment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type   | Required | Example | Description                                                                                                                                                       |
| ----------------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `assigned__to__id`      | string |     ✅    | —       | The ID of the entity to assign the policy to. If assigned\_to\_type is `user`, provide a user ID. If `enterprise`, provide the enterprise ID.                     |
| `assigned__to__type`    | string |     ✅    | —       | The type of entity to assign the storage policy to. Use `user` to assign to a specific user, or `enterprise` to set the default policy for the entire enterprise. |
| `storage__policy__id`   | string |     ✅    | —       | The unique ID of the storage policy to assign. Get available policies using the `list_storage_policies` action.                                                   |
| `storage__policy__type` | string |          | —       | The type of policy to assign. Must be `storage_policy`. This field is fixed and agents typically don't need to specify it.                                        |

***

### `Box Assign Task`

Integration name: **BOX\_ASSIGN\_TASK**

Assigns a task to a user. A task can be assigned to more than one user by creating multiple assignments.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example | Description                                                                                                                |
| ------------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------- |
| `task__id`          | string |     ✅    | —       | The unique identifier of the task to assign. Required.                                                                     |
| `task__type`        | string |          | —       | The type of the item being assigned. Must be `task`.                                                                       |
| `assign__to__id`    | string |          | —       | The user ID of the person to assign the task to. Either this or `assign_to_login` must be provided, but not both.          |
| `assign__to__login` | string |          | —       | The email address (login) of the user to assign the task to. Either this or `assign_to_id` must be provided, but not both. |

***

### `Box Authorize User`

Integration name: **BOX\_AUTHORIZE\_USER**

Authorize a user by sending them through the [Box](https://box.com/) website and request their permission to act on their behalf. This is the first step when authenticating a user using OAuth 2.0. To request a user's authorization to use the Box APIs on their behalf you will need to send a user to the URL with this format.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter       | Type   | Required | Example | Description                                                                                                                                                                                                                                                              |
| --------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `scope`         | string |          | —       | A space-separated list of application scopes to request (e.g., `root_readwrite manage_users`). Defaults to all scopes configured for the application if not specified.                                                                                                   |
| `state`         | string |          | —       | A custom string of your choice. Box will pass the same string to the redirect URL when authentication is complete. This parameter can be used to identify a user on redirect, as well as protect against hijacked sessions and other exploits.                           |
| `client_id`     | string |     ✅    | —       | The Client ID of the application requesting to authenticate the user. Found in the Box developer console under your application's OAuth 2.0 Parameters section.                                                                                                          |
| `redirect_uri`  | string |          | —       | The HTTPS URI to which Box redirects the browser after the user grants or denies permission. Must match one of the redirect URIs configured in your Box application. Required if multiple redirect URIs are configured; otherwise a `redirect_uri_missing` error occurs. |
| `response_type` | string |     ✅    | —       | The type of response to receive. Must be `code` for the authorization code grant flow.                                                                                                                                                                                   |

***

### `Box Cancel Box Sign Request`

Integration name: **BOX\_CANCEL\_BOX\_SIGN\_REQUEST**

Cancels a pending Box Sign request that has not yet been fully signed or declined. After cancellation, any outstanding signers will no longer be able to sign the document. Only the user who created the request (the requester) is able to cancel it. Note: A request cannot be cancelled if it was already declined, fully signed, or if the document is still in the converting state. Returns the cancelled sign request object with updated status set to `cancelled`.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description                                                                                                                                                   |
| ----------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `sign_request_id` | string |     ✅    | —       | The unique identifier of the Box Sign request to cancel. This ID is returned when creating a sign request or can be retrieved from the list of sign requests. |

***

### `Box Commit Upload Session`

Integration name: **BOX\_COMMIT\_UPLOAD\_SESSION**

Commits an upload session and creates a file from the uploaded chunks. This is the final step in a chunked upload workflow:

1. Create an upload session using `create_upload_session`
2. Upload file parts using `upload_part_of_file`
3. Commit the session using this action to finalize the file

Requirements:

* All parts must be uploaded before committing
* The digest header must contain the SHA1 hash of the entire file (Base64 encoded)
* Parts array must include part\_id, offset, and size for each uploaded chunk

Note: The API may return 202 if processing is not complete. In this case, check the retry\_after field and retry after the specified number of seconds.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type   | Required | Example | Description                                                                                                                                                                                                                                     |
| ------------------- | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `parts`             | array  |     ✅    | —       | List of uploaded parts to commit. Each part must include: `part_id` (string), `offset` (integer byte position), `size` (integer bytes). Optionally includes `sha1` (string hash of the part). These values are returned by the upload part API. |
| `digest`            | string |     ✅    | —       | The Base64-encoded SHA1 hash of the entire file being uploaded. Format should be the raw Base64 string (e.g., `fpRyg5eVQletdZqEKaFlqwBXJzM=`). The `sha=` prefix will be added automatically.                                                   |
| `if_match`          | string |          | —       | Optional. The last known ETag value of the upload session. If provided, the request fails with 412 if the session has changed.                                                                                                                  |
| `attributes`        | object |          | —       | Optional file attributes to set on the uploaded file, such as `content_modified_at` (ISO 8601 timestamp). Example: `{'content_modified_at': '2024-01-15T12:00:00Z'}`.                                                                           |
| `if_none_match`     | string |          | —       | Optional. ETag value to check for changes. Request fails with 304 if item unchanged.                                                                                                                                                            |
| `upload_session_id` | string |     ✅    | —       | The ID of the upload session to commit. This is returned when creating an upload session.                                                                                                                                                       |

***

### `Box Copy File`

Integration name: **BOX\_COPY\_FILE**

Creates a copy of a file.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | string |          | —       | An optional new name for the copied file. There are some restrictions to the file name. Names containing non-printable ASCII characters, forward and backward slashes (`/`, `\`), and protected names like `.` and `..` are automatically sanitized by removing the non-allowed characters.                                                                                                                          |
| `fields`     | array  |          | —       | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response. Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested. |
| `file_id`    | string |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`.                                                                                                                                                                    |
| `version`    | string |          | —       | An optional ID of the specific file version to copy.                                                                                                                                                                                                                                                                                                                                                                 |
| `parent__id` | string |     ✅    | —       | The ID of folder to copy the file to. This parameter is required - the destination folder must be specified.                                                                                                                                                                                                                                                                                                         |

***

### `Box Copy File Request`

Integration name: **BOX\_COPY\_FILE\_REQUEST**

Copies an existing file request to a new folder. File requests allow external users to upload files to a specific folder without needing a Box account. This action creates a copy of an existing file request and associates it with a different destination folder. IMPORTANT LIMITATION: File request IDs cannot be discovered via API - they can only be obtained from the Box web application. To find a file\_request\_id:

1. Navigate to Box web UI (<https://app.box.com>)
2. Go to the folder containing the file request
3. Open the file request settings
4. Copy the ID from the URL (e.g., `https://*.app.box.com/filerequest/123` → ID is `"123"`)

Common use cases:

* Creating file request templates that can be copied to multiple project folders
* Automating file request creation for new cases/customers/projects
* Duplicating file requests with different settings (title, description, etc.)

When copying, you can optionally override settings from the source file request including title, description, status, and form requirements.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                 | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                 |
| ------------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `title`                   | string  |          | —       | The title to use for the copied file request. This is displayed to uploaders on the file request form. If not provided, the title from the source file request is used.                                                                                                                                                                                     |
| `folder`                  | object  |     ✅    | —       | The destination folder to associate with the copied file request. Must include the folder `id` field.                                                                                                                                                                                                                                                       |
| `status`                  | string  |          | —       | Status of the file request.                                                                                                                                                                                                                                                                                                                                 |
| `expires_at`              | string  |          | —       | The date after which the copied file request will no longer accept submissions (ISO 8601 format, e.g., `2030-12-31T23:59:59Z`). After this date, the status is automatically set to `inactive`. If not provided, no expiration is set.                                                                                                                      |
| `description`             | string  |          | —       | The description to use for the copied file request. This is displayed to uploaders on the file request form. If not provided, the description from the source file request is used.                                                                                                                                                                         |
| `file_request_id`         | string  |     ✅    | —       | The unique identifier of the file request to copy. IMPORTANT: File request IDs can ONLY be obtained from the Box web application URL - there is no API to list file requests. Visit a file request in the Box web UI (e.g., `https://*.app.box.com/filerequest/123`) and copy the ID from the URL. In this example, the file\_request\_id would be `'123'`. |
| `is_email_required`       | boolean |          | —       | Whether uploaders must provide their email address when submitting files to the copied file request. If not provided, the setting from the source file request is used.                                                                                                                                                                                     |
| `is_description_required` | boolean |          | —       | Whether uploaders must provide a description when submitting files to the copied file request. If not provided, the setting from the source file request is used.                                                                                                                                                                                           |

***

### `Box Copy Folder`

Integration name: **BOX\_COPY\_FOLDER**

Creates a copy of a folder within a destination folder. The original folder will not be changed.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
| ------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | string |          | —       | An optional new name for the copied folder. There are some restrictions to the file name. Names containing non-printable ASCII characters, forward and backward slashes (`/`, `\`), as well as names with trailing spaces are prohibited. Additionally, the names `.` and `..` are not allowed either.                                                                                                               |
| `fields`     | array  |          | —       | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response. Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested. |
| `folder_id`  | string |     ✅    | —       | The unique identifier of the folder to copy. The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folder/123` the `folder_id` is `123`. The root folder with the ID `0` can not be copied.                                                                                                        |
| `parent__id` | string |     ✅    | —       | The ID of the destination folder where the copy will be placed. Use `0` to copy to the root folder (All Files). This is a required field.                                                                                                                                                                                                                                                                            |

***

### `Box Create Ai Agent`

Integration name: **BOX\_CREATE\_AI\_AGENT**

Creates a custom AI agent in Box AI Studio. At least one capability required: ask (Q\&A), text\_gen (content generation), or extract (metadata extraction). Requirements: Box Enterprise Advanced account, Box AI Studio enabled, "Manage AI" scope in Developer Console. Access options: `enabled` (all users), `disabled` (none), `enabled_for_selected_users` (specified in allowed\_entities). Example: Set name + ask\_\_type=`ai_agent_ask` + ask\_\_access\_\_state=`enabled` + ask\_\_description to create Q\&A agent.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                         | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                           |
| --------------------------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                            | string |     ✅    | —       | The display name of the AI Agent visible to users in the Box interface.                                                                                                                                                                                                                                                                                                               |
| `type`                            | string |          | —       | The type of agent. Must be `ai_agent`.                                                                                                                                                                                                                                                                                                                                                |
| `ask__type`                       | string |          | —       | Type identifier for ask capability. Must be `ai_agent_ask` when enabling this capability.                                                                                                                                                                                                                                                                                             |
| `access_state`                    | string |          | —       | Access control for the agent. Options: `enabled` (all enterprise users), `disabled` (no access), `enabled_for_selected_users` (only specified users/groups in allowed\_entities).                                                                                                                                                                                                     |
| `extract__type`                   | string |          | —       | Type identifier for extract capability. Must be `ai_agent_extract` when enabling this capability.                                                                                                                                                                                                                                                                                     |
| `icon_reference`                  | string |          | —       | Avatar icon URL for the agent. Format: `https://cdn01.boxcdn.net/app-assets/aistudio/avatars/<file_name>`. Available icons: `logo_boxAi`, `logo_stamp`, `logo_legal`, `logo_finance`, `logo_config`, `logo_handshake`, `logo_analytics`, `logo_classification` (both `.png` and `.svg` supported). Example: `https://cdn01.boxcdn.net/app-assets/aistudio/avatars/logo_analytics.svg` |
| `text__gen__type`                 | string |          | —       | Type identifier for text generation capability. Must be `ai_agent_text_gen` when enabling this capability.                                                                                                                                                                                                                                                                            |
| `allowed_entities`                | array  |          | —       | Users/groups with access when access\_state=`enabled_for_selected_users`. Format: \`\[{'type': 'user'                                                                                                                                                                                                                                                                                 |
| `ask__description`                | string |          | —       | User-facing description of what questions this agent can answer.                                                                                                                                                                                                                                                                                                                      |
| `ask__access__state`              | string |          | —       | Enable state for ask capability. Options: `enabled`, `disabled`.                                                                                                                                                                                                                                                                                                                      |
| `extract__description`            | string |          | —       | User-facing description of what metadata/data this agent can extract from documents.                                                                                                                                                                                                                                                                                                  |
| `extract__access__state`          | string |          | —       | Enable state for extract capability. Options: `enabled`, `disabled`.                                                                                                                                                                                                                                                                                                                  |
| `text__gen__description`          | string |          | —       | User-facing description of what content this agent can generate.                                                                                                                                                                                                                                                                                                                      |
| `text__gen__access__state`        | string |          | —       | Enable state for text generation capability. Options: `enabled`, `disabled`.                                                                                                                                                                                                                                                                                                          |
| `ask__custom__instructions`       | string |          | —       | System prompt/instructions defining agent behavior, tone, and constraints for answering questions.                                                                                                                                                                                                                                                                                    |
| `ask__suggested__questions`       | array  |          | —       | Up to 4 suggested questions shown to users. Example: `['What is in this file?', 'Summarize the key points']`                                                                                                                                                                                                                                                                          |
| `extract__custom__instructions`   | string |          | —       | System prompt/instructions defining extraction rules, field mappings, and output formatting.                                                                                                                                                                                                                                                                                          |
| `text__gen__custom__instructions` | string |          | —       | System prompt/instructions defining writing style, format, and content generation guidelines.                                                                                                                                                                                                                                                                                         |
| `text__gen__suggested__questions` | array  |          | —       | Up to 4 suggested prompts shown to users. Example: `['Write a summary', 'Create a report']`                                                                                                                                                                                                                                                                                           |

***

### `Box Create Box Sign Request`

Integration name: **BOX\_CREATE\_BOX\_SIGN\_REQUEST**

Creates a Box Sign request to send documents for electronic signing. Prepares documents and sends signature requests to signers via email. Signers do not need Box accounts. Supports up to 10 files, 35 signers, sequential signing order, templates, and custom redirect URLs. Requires Box Sign feature enabled and sign\_requests.readwrite scope.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                        | Type    | Required | Example | Description                                                                                                                                               |
| -------------------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                           | string  |          | —       | Name of the signature request. Used for identification purposes.                                                                                          |
| `signers`                        | array   |     ✅    | —       | List of signers for the signature request. At least one signer required, maximum 35 signers.                                                              |
| `days_valid`                     | integer |          | —       | Number of days (0-730) until the signature request automatically expires. No expiration if not set.                                                       |
| `external_id`                    | string  |          | —       | External reference ID for tracking the signature request in your system.                                                                                  |
| `template_id`                    | string  |          | —       | ID of a Box Sign template to use. When provided, template settings are applied to the request.                                                            |
| `prefill_tags`                   | array   |          | —       | List of tags to pre-populate in the document before sending to signers.                                                                                   |
| `redirect_url`                   | string  |          | —       | Global URL to redirect all signers to after successfully signing.                                                                                         |
| `source_files`                   | array   |     ✅    | —       | List of files to be signed. At least one file required, maximum 10 files. All file types are converted to PDF.                                            |
| `email_message`                  | string  |          | —       | Custom message in the signature request email. Supports limited HTML tags: `a`, `abbr`, `b`, `blockquote`, `code`, `em`, `i`, `ul`, `li`, `ol`, `strong`. |
| `email_subject`                  | string  |          | —       | Custom subject line for the signature request email sent to signers.                                                                                      |
| `parent_folder`                  | object  |          | —       | Destination folder for signed documents. Cannot be the root folder (id=`0`).                                                                              |
| `signature_color`                | string  |          | —       | Color to use for the signature                                                                                                                            |
| `external_system_name`           | string  |          | —       | Name of the external system for the signing log reference.                                                                                                |
| `are_reminders_enabled`          | boolean |          | —       | Whether to send automatic reminders on days 3, 8, 13, and 18 to outstanding signers.                                                                      |
| `declined_redirect_url`          | string  |          | —       | Global URL to redirect signers to if they decline to sign.                                                                                                |
| `are_text_signatures_enabled`    | boolean |          | —       | Whether signers can use typed text as their signature (default: true).                                                                                    |
| `is_document_preparation_needed` | boolean |          | —       | If true, returns a prepare\_url for completing document preparation in the Box UI before sending.                                                         |

***

### `Box Create Box Skill Cards On File`

Integration name: **BOX\_CREATE\_BOX\_SKILL\_CARDS\_ON\_FILE**

Applies one or more Box Skills metadata cards to a file. NOTE: This action creates NEW Box Skill cards on a file. If Box Skill cards already exist on the file, this action will fail with a 409 Conflict error. In that case:

* Use `remove_box_skill_cards_from_file` to delete existing cards first, then create new ones, OR
* Use `update_all_box_skill_cards_on_file` to overwrite all existing cards

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| --------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cards`   | array  |     ✅    | —       | A list of Box Skill cards to apply to this file. Each card must include: `type` (always `skill_card`), `skill_card_type` (one of: `keyword`, `transcript`, `timeline`, `status`), `skill` (object with `type`: `service` and `id`), `invocation` (object with `type`: `skill_invocation` and `id`), and `skill_card_title` (object with `code` and `message`). Additional fields depend on card type. keyword cards need `entries` array with `text` fields; transcript cards need `entries` with `text` and `appears` (array of start/end timestamps) plus optional `duration`; timeline cards need `entries` with `text`, `appears`, and optional `image_url` plus `duration`; status cards need `status` object with `code` and `message`. |
| `file_id` | string |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`. Note: This file must NOT have existing Box Skill cards metadata, otherwise a 409 Conflict error will occur.                                                                                                                                                                                                                                                                                                                                                                                 |

***

### `Box Create Collab Exemption`

Integration name: **BOX\_CREATE\_COLLAB\_EXEMPTION**

Exempts a specific user from the enterprise's collaboration domain restrictions. This allows the specified user to collaborate with external parties from any domain, bypassing the enterprise's allowed collaboration domain list. PREREQUISITES:

* The enterprise MUST have at least one allowed collaboration domain configured. Use `Add domain to list of allowed collaboration domains` first if needed.
* The user must not already have an exemption (returns 409 Conflict if exists).
* Requires enterprise admin privileges with `manage_users` scope.

COMMON ERRORS:

* 409 Conflict: User already exempt OR no whitelisted domains exist for enterprise.
* 403 Forbidden: Insufficient permissions to manage user exemptions.
* 404 Not Found: The specified user ID does not exist.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter  | Type   | Required | Example | Description                                                                                                                                                                                                                              |
| ---------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `user__id` | string |     ✅    | —       | The unique identifier (ID) of the Box user to exempt from collaboration domain restrictions. This allows the specified user to collaborate with external parties regardless of the enterprise's allowed domain list. Example: `23522323` |

***

### `Box Create Collaboration`

Integration name: **BOX\_CREATE\_COLLABORATION**

Adds a collaboration for a single user or a single group to a file or folder. Collaborations can be created using email address, user IDs, or a group IDs. If a collaboration is being created with a group, access to this endpoint is dependent on the group's ability to be invited. If collaboration is in `pending` status, the following fields are redacted:

* `login` and `name` are hidden if a collaboration was created using `user_id`
* `name` is hidden if a collaboration was created using `login`

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter               | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| ----------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `role`                  | string  |     ✅    | —       | The level of access granted. Valid values are: `editor` (full read/write access), `viewer` (read-only access), `previewer` (preview-only), `uploader` (upload-only), `previewer uploader` (preview and upload), `viewer uploader` (view and upload), or `co-owner` (full access including sharing).                                                                                                                                                                                                                                                                         |
| `fields`                | array   |          | —       | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response. Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested.                                                                                                                                                        |
| `notify`                | boolean |          | —       | Determines if users should receive email notification for the action performed.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| `item__id`              | string  |          | —       | The unique ID of the file or folder to grant access to. Required for creating a new collaboration. You can find this ID in the Box web interface URL or from other API responses.                                                                                                                                                                                                                                                                                                                                                                                           |
| `expires_at`            | string  |          | —       | Set the expiration date for the collaboration. At this date, the collaboration will be automatically removed from the item. This feature will only work if the **Automatically remove invited collaborators: Allow folder owners to extend the expiry date** setting has been enabled in the **Enterprise Settings** of the **Admin Console**. When the setting is not enabled, collaborations can not have an expiry date and a value for this field will be result in an error.                                                                                           |
| `item__type`            | string  |          | —       | The type of the item that this collaboration will be granted access to. Must be either `file` or `folder`. Required for creating a new collaboration.                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `can_view_path`         | boolean |          | —       | Determines if the invited users can see the entire parent path to the associated folder. The user will not gain privileges in any parent folder and therefore can not see content the user is not collaborated on. Be aware that this meaningfully increases the time required to load the invitee"s **All Files** page. We recommend you limit the number of collaborations with `can_view_path` enabled to 1,000 per user. Only owner or co-owners can invite collaborators with a `can_view_path` of `true`. `can_view_path` can only be used for folder collaborations. |
| `is_access_only`        | boolean |          | —       | If set to `true`, collaborators have access to shared items, but such items won't be visible in the All Files list. Additionally, collaborators won't see the the path to the root folder for the shared item.                                                                                                                                                                                                                                                                                                                                                              |
| `accessible__by__id`    | string  |          | —       | The Box user ID or group ID to invite. Either this field or `accessible_by_login` must be provided (not both). Use this when you know the exact Box user/group ID.                                                                                                                                                                                                                                                                                                                                                                                                          |
| `accessible__by__type`  | string  |          | —       | The type of collaborator to invite. Must be either `user` or `group`. Required. Use `user` when inviting an individual (by email or user ID), or `group` when sharing with a Box group.                                                                                                                                                                                                                                                                                                                                                                                     |
| `accessible__by__login` | string  |          | —       | The email address of the user to invite as a collaborator. Either this field or `accessible_by_id` must be provided (not both). Use this for user invitations when you have the email address but not the Box user ID. Not applicable for groups.                                                                                                                                                                                                                                                                                                                           |

***

### `Box Create Comment`

Integration name: **BOX\_CREATE\_COMMENT**

Adds a comment by the user to a specific file, or as a reply to an other comment.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter        | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                          |
| ---------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `fields`         | array  |          | —       | A comma-separated list of attributes to include in the response. This can be used to request fields that are not normally returned in a standard response. Be aware that specifying this parameter will have the effect that none of the standard fields are returned in the response unless explicitly specified, instead only fields for the mini representation are returned, additional to the fields requested. |
| `message`        | string |          | —       | The text of the comment. Required unless `tagged_message` is provided. To mention a user, use `tagged_message` instead.                                                                                                                                                                                                                                                                                              |
| `item__id`       | string |     ✅    | —       | The ID of the item to attach the comment to. This can be a file ID or a comment ID (when replying to a comment).                                                                                                                                                                                                                                                                                                     |
| `item__type`     | string |     ✅    | —       | The type of item this comment will be placed on. Use `file` to comment on a file, or `comment` to reply to an existing comment.                                                                                                                                                                                                                                                                                      |
| `tagged_message` | string |          | —       | The text of the comment with user mentions. Use the format `@[user_id:name]` to mention a user, which sends them an email notification. The `user_id` is the target user's ID, and `name` is a display phrase that links to the user's profile in Box UI. Either `message` or `tagged_message` must be provided, but not both.                                                                                       |

***

### `Box Create Email Alias`

Integration name: **BOX\_CREATE\_EMAIL\_ALIAS**

Adds a new email alias to a user account. The email domain must be registered to your enterprise. Returns the newly created email alias object with id, type, email, and is\_confirmed fields.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter | Type   | Required | Example | Description                                                                                                                                                                                                                                                                      |
| --------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `email`   | string |     ✅    | —       | The email address to add to the account as an alias. Note: The domain of the email alias must be registered to your enterprise. See the domain verification guide (<https://support.box.com/hc/en-us/articles/4408619650579-Domain-Verification>) for steps to add a new domain. |
| `user_id` | string |     ✅    | —       | The ID of the user.                                                                                                                                                                                                                                                              |

***

### `Box Create Folder`

Integration name: **BOX\_CREATE\_FOLDER**

Creates a new empty folder within the specified parent folder.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter    | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                               |
| ------------ | ------ | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`       | string |     ✅    | —       | The name for the new folder. There are some restrictions to the file name. Names containing non-printable ASCII characters, forward and backward slashes (`/`, `\`), as well as names with trailing spaces are prohibited. Additionally, the names `.` and `..` are not allowed either.                                                                                                   |
| `fields`     | string |          | —       | A comma-separated list of attributes to include in the response (e.g., `id,name,created_at`). When specified, only the requested fields plus mini representation fields are returned. Common fields: id, type, name, description, size, created\_at, modified\_at, path\_collection, created\_by, modified\_by, owned\_by, shared\_link, parent, item\_status, tags, has\_collaborations. |
| `parent__id` | string |          | —       | The ID of the parent folder where the new folder will be created. Use `0` for the root folder (All Files). Example: `123456789`.                                                                                                                                                                                                                                                          |
| `sync_state` | string |          | —       | Specifies whether a folder should be synced to a user's device or not. This is used by Box Sync (discontinued) and is not used by Box Drive.                                                                                                                                                                                                                                              |

***

### `Box Create Folder Lock`

Integration name: **BOX\_CREATE\_FOLDER\_LOCK**

Creates a folder lock on a folder, preventing it from being moved and/or deleted. You must be authenticated as the owner or co-owner of the folder to use this endpoint.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                    | Type    | Required | Example | Description                                                                |
| ---------------------------- | ------- | :------: | ------- | -------------------------------------------------------------------------- |
| `folder__id`                 | string  |          | —       | The ID of the folder.                                                      |
| `folder__type`               | string  |          | —       | The content type the lock is being applied to. Only `folder` is supported. |
| `locked__operations__move`   | boolean |          | —       | Whether moving the folder should be locked.                                |
| `locked__operations__delete` | boolean |          | —       | Whether deleting the folder should be locked.                              |

***

### `Box Create Group`

Integration name: **BOX\_CREATE\_GROUP**

Creates a new group of users in an enterprise. Only users with admin permissions can create new groups.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                  | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                            |
| -------------------------- | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                     | string |     ✅    | —       | The name of the new group to be created. This name must be unique within the enterprise.                                                                                                                                                                                                                                                                                                                                               |
| `fields`                   | array  |          | —       | A list of additional attributes to include in the response. Provide as a list of strings, e.g. `['description', 'provenance', 'invitability_level']`. Available fields: `id`, `name`, `description`, `provenance`, `external_sync_identifier`, `invitability_level`, `member_viewability_level`, `created_at`, `modified_at`, `permissions`. If specified, only the mini representation fields plus the requested fields are returned. |
| `provenance`               | string |          | —       | Keeps track of which external source this group is coming, for example `Active Directory`, or `Okta`. Setting this will also prevent Box admins from editing the group name and its members directly via the Box web application. This is desirable for one-way syncing of groups.                                                                                                                                                     |
| `description`              | string |          | —       | A human readable description of the group.                                                                                                                                                                                                                                                                                                                                                                                             |
| `invitability_level`       | string |          | —       | Specifies who can invite the group to collaborate on folders. When set to `admins_only` the enterprise admin, co-admins, and the group's admin can invite the group. When set to `admins_and_members` all the admins listed above and group members can invite the group. When set to `all_managed_users` all managed users in the enterprise can invite the group.                                                                    |
| `external_sync_identifier` | string |          | —       | An arbitrary identifier that can be used by external group sync tools to link this Box Group to an external group. Example values of this field could be an **Active Directory Object ID** or a **Google Group ID**. We recommend you use of this field in order to avoid issues when group names are updated in either Box or external systems.                                                                                       |
| `member_viewability_level` | string |          | —       | Specifies who can see the members of the group. `admins_only` - the enterprise admin, co-admins, group"s group admin `admins_and_members` - all admins and group members `all_managed_users` - all managed users in the enterprise                                                                                                                                                                                                     |

***

### `Box Create Legal Hold Policy`

Integration name: **BOX\_CREATE\_LEGAL\_HOLD\_POLICY**

Create a new legal hold policy in Box. Legal hold policies are used to prevent permanent deletion of content during ongoing litigation. Once created, the policy can be assigned to specific users, folders, or files. IMPORTANT: Either `is_ongoing` must be set to true, OR both `filter_started_at` and `filter_ended_at` must be provided. The policy name must be unique within the enterprise. Requires Box Governance add-on (Enterprise plan with legal hold feature enabled).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter           | Type    | Required | Example | Description                                                                                                                                                                                                                                                                                                                 |
| ------------------- | ------- | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `is_ongoing`        | boolean |          | —       | Whether new assignments under this policy should continue applying to files even after initialization. If true, the policy will apply to any new file versions uploaded by assigned users even after the initial assignment. Required if no filter dates are set. Must be false if filter dates are provided.               |
| `description`       | string  |          | —       | A description for the policy. Max 500 characters.                                                                                                                                                                                                                                                                           |
| `policy_name`       | string  |     ✅    | —       | The name of the policy. Must be unique within the enterprise. Max 254 characters.                                                                                                                                                                                                                                           |
| `filter_ended_at`   | string  |          | —       | The filter end date in ISO 8601 format (e.g., `2024-12-31T23:59:59-08:00`). When applied using custodian legal hold assignments, it will only apply to file versions created or uploaded inside the date range. Folder and file assignment types will ignore the date filter. Required if `is_ongoing` is set to `false`.   |
| `filter_started_at` | string  |          | —       | The filter start date in ISO 8601 format (e.g., `2024-01-01T00:00:00-08:00`). When applied using custodian legal hold assignments, it will only apply to file versions created or uploaded inside the date range. Folder and file assignment types will ignore the date filter. Required if `is_ongoing` is set to `false`. |

***

### `Box Create Metadata Cascade Policy`

Integration name: **BOX\_CREATE\_METADATA\_CASCADE\_POLICY**

Creates a new metadata cascade policy that automatically applies a metadata template to all files and subfolders within a specified folder. Prerequisites:

* A metadata instance must already be applied to the target folder before creating the cascade policy.
* The target folder cannot be the root folder (ID `0`).
* Enterprise admin must have enabled `Cascading Folder Level Metadata` in Admin Console > Enterprise Settings > Content & Sharing.

Common use case: After applying metadata to a folder, create a cascade policy to ensure all new items added to that folder automatically inherit the metadata.

Returns: A MetadataCascadePolicy object with id, type, owner\_enterprise, parent, scope, and templateKey fields.

Error codes:

* 400: Invalid format for scope, templateKey, or folder\_id
* 403: Policy cannot apply to restricted folders (e.g., root folder)
* 404: Folder or template not found/inaccessible
* 409: Duplicate policy already exists for this folder/template combination

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                       |
| ------------- | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope`       | string |     ✅    | —       | The scope of the metadata template. Use `global` for Box's built-in templates (e.g., `global.properties`), or `enterprise` for custom enterprise templates. The metadata instance with this scope must already exist on the target folder.                                                                                                                                        |
| `folder_id`   | string |     ✅    | —       | The unique identifier of the folder to apply the cascade policy to. IMPORTANT: This folder must already have a metadata instance of the targeted template applied to it before creating the cascade policy. The folder ID can be found in Box URLs (e.g., `https://app.box.com/folder/123` has folder\_id `123`). Note: Cannot be applied to the root folder (ID `0`).            |
| `templateKey` | string |     ✅    | —       | The key identifying the metadata template. Common examples include `properties` for the global.properties template. For enterprise templates, the key is often derived from the template's display name (e.g., `Contract Template` becomes `contractTemplate`). You can find template keys by listing templates for an enterprise or getting metadata instances on a file/folder. |

***

### `Box Create Metadata Instance On File`

Integration name: **BOX\_CREATE\_METADATA\_INSTANCE\_ON\_FILE**

Applies an instance of a metadata template to a file. The metadata\_fields parameter contains key-value pairs that match the fields defined in the template. In most cases only field keys present in the metadata template will be accepted, except for the `global.properties` template which accepts any key-value pair. Common error codes:

* 409 (`tuple_already_exists`): A metadata instance of this template already exists on the file.
* 404 (`not_found`): The file was not found or the user does not have access.
* 404 (`instance_tuple_not_found`): The metadata template was not found.
* 400 (`schema_validation_failed`): Invalid field key or value type for the template.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter         | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ----------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope`           | string |     ✅    | —       | The scope of the metadata template. Use `global` for global templates (like `properties`) or `enterprise` for enterprise templates. For enterprise templates, the scope will be automatically converted to the enterprise ID format (e.g., `enterprise_12345`).                                                                                                                                                                          |
| `file_id`         | string |     ✅    | —       | The unique identifier that represents a file. The ID for any file can be determined by visiting a file in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/files/123` the `file_id` is `123`.                                                                                                                                                                                        |
| `template_key`    | string |     ✅    | —       | The name of the metadata template (templateKey). For example: `properties` for the global.properties template, or a custom template key like `testTemplate`. Use BOX\_LIST\_ALL\_METADATA\_TEMPLATES\_FOR\_ENTERPRISE or BOX\_LIST\_ALL\_GLOBAL\_METADATA\_TEMPLATES to find available template keys.                                                                                                                                    |
| `metadata_fields` | object |          | —       | A dictionary of metadata field key-value pairs to set on the file. The keys must match the field keys defined in the metadata template. For the `global.properties` template, any key-value pairs can be used. Example: `{'author': 'John', 'status': 'draft'}`. For enum fields, provide the option key string. For multiSelect fields, provide a list of strings. For date fields, use ISO 8601 format (e.g., `2024-01-15T00:00:00Z`). |

***

### `Box Create Metadata Instance On Folder`

Integration name: **BOX\_CREATE\_METADATA\_INSTANCE\_ON\_FOLDER**

Applies an instance of a metadata template to a folder. In most cases only values that are present in the metadata template will be accepted, except for the `global.properties` template which accepts any key-value pair. To display the metadata template in the Box web app the enterprise needs to be configured to enable **Cascading Folder Level Metadata** for the user in the admin console.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example | Description                                                                                                                                                                                                                                                                                                                        |
| -------------- | ------ | :------: | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope`        | string |     ✅    | —       | The scope of the metadata template. Use `global` for global templates or `enterprise` for enterprise templates (will use the enterprise ID like `enterprise_12345`).                                                                                                                                                               |
| `metadata`     | object |          | —       | A dictionary of key-value pairs representing the metadata fields to apply. For the `global.properties` template, any key-value pairs are accepted. For enterprise templates, keys must match the template's field names. Example: `{'field1': 'value1', 'field2': 'value2'}`                                                       |
| `folder_id`    | string |     ✅    | —       | The unique identifier that represent a folder. The ID for any folder can be determined by visiting this folder in the web application and copying the ID from the URL. For example, for the URL `https://*.app.box.com/folder/123` the `folder_id` is `123`. The root folder of a Box account is always represented by the ID `0`. |
| `template_key` | string |     ✅    | —       | The name of the metadata template                                                                                                                                                                                                                                                                                                  |

***

### `Box Create Metadata Taxonomy`

Integration name: **BOX\_CREATE\_METADATA\_TAXONOMY**

Tool to create a new metadata taxonomy in Box. Use when you need to set up a hierarchical classification system for organizing and categorizing metadata templates.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter     | Type   | Required | Example | Description                                                                                                                                                                                                                                                                    |
| ------------- | ------ | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `key`         | string |          | —       | The taxonomy key. If not provided, it will be automatically generated from the displayName by converting to lowercase and replacing spaces and non-alphanumeric characters with underscores. Maximum length is 256 characters. Must match pattern `^[a-zA-Z_][-a-zA-Z0-9_]*$`. |
| `namespace`   | string |     ✅    | —       | The namespace of the metadata taxonomy to create. Must be in the format `enterprise_{enterprise_id}` where enterprise\_id is your Box enterprise ID. You can retrieve your enterprise ID from the /users/me endpoint with fields=enterprise.                                   |
| `displayName` | string |     ✅    | —       | The display name of the taxonomy. This name will be visible in the Box web app and can be used to identify the taxonomy. Maximum length is 4096 characters.                                                                                                                    |

***

### `Box Create Metadata Taxonomy Levels`

Integration name: **BOX\_CREATE\_METADATA\_TAXONOMY\_LEVELS**

Creates new hierarchical levels for a metadata taxonomy in Box. Use this to define the structure of your taxonomy by specifying levels like Continent -> Country -> City. Each level must have a unique level number starting from 1, with higher numbers representing deeper levels in the hierarchy.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type   | Required | Example               | Description                                                                                                                                                                                 |
| -------------- | ------ | -------- | --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `levels`       | array  | ✅        | —                     | An array of taxonomy levels to create. Each level must have a unique level number (starting from 1), a display name, and optionally a description. Levels should be ordered hierarchically. |
| `namespace`    | string | ✅        | `"enterprise_123456"` | The namespace of the metadata taxonomy. For enterprise taxonomies, this is typically in the format `enterprise_<enterprise_id>` (e.g., `enterprise_123456`).                                |
| `taxonomy_key` | string | ✅        | `"geography"`         | The unique key identifier of the metadata taxonomy to which the levels will be added. This key was assigned when the taxonomy was created.                                                  |

***

### `Box Create Metadata Taxonomy Node`

Integration name: **BOX\_CREATE\_METADATA\_TAXONOMY\_NODE**

Tool to create a new metadata taxonomy node within a specified taxonomy. Use when you need to add a new classification or category to an existing metadata taxonomy hierarchy.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter      | Type    | Required | Example                                  | Description                                                                                                                                                             |
| -------------- | ------- | :------: | ---------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `level`        | integer |     ✅    | `1`                                      | The level of the taxonomy node in the hierarchy. Root-level nodes have level 1, their children have level 2, and so on. Must be a positive integer.                     |
| `parentId`     | string  |          | `"99df4513-7102-4896-8228-94635ee9d330"` | The identifier of the parent taxonomy node. Omit this field when creating root-level nodes (level 1). For child nodes, provide the UUID of the parent node.             |
| `namespace`    | string  |     ✅    | `"enterprise_123456"`                    | The namespace of the metadata taxonomy. Typically follows the format `enterprise_{enterprise_id}` for enterprise taxonomies. For example: `enterprise_1351007304`.      |
| `displayName`  | string  |     ✅    | `"France"`                               | The display name of the taxonomy node. This is the human-readable name that will be shown in the Box UI. For example: `France`, `California`, `Engineering Department`. |
| `taxonomy_key` | string  |     ✅    | `"geography"`                            | The key of the metadata taxonomy under which to create the node. This identifies the specific taxonomy within the namespace. For example: `geography` or `department`.  |

***

### `Box Create Metadata Template`

Integration name: **BOX\_CREATE\_METADATA\_TEMPLATE**

Creates a new metadata template that can be applied to files and folders.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                | Type    | Required | Example | Description                                                                                                                                                                                                                                             |
| ------------------------ | ------- | :------: | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `scope`                  | string  |          | —       | The scope of the metadata template to create. Must be set to `enterprise` as applications cannot create global templates. Defaults to `enterprise`.                                                                                                     |
| `fields`                 | array   |          | —       | An ordered list of template fields which are part of the template. Each field can be a regular text field, date field, number field, as well as a single or multi-select list.                                                                          |
| `hidden`                 | boolean |          | —       | Defines if this template is visible in the Box web app UI, or if it is purely intended for usage through the API.                                                                                                                                       |
| `displayName`            | string  |     ✅    | —       | The display name of the template.                                                                                                                                                                                                                       |
| `templateKey`            | string  |          | —       | A unique identifier for the template. This identifier needs to be unique across the enterprise for which the metadata template is being created. When not provided, the API will create a unique `templateKey` based on the value of the `displayName`. |
| `copyInstanceOnItemCopy` | boolean |          | —       | Whether or not to copy any metadata attached to a file or folder when it is copied. By default, metadata is not copied along with a file or folder when it is copied.                                                                                   |

***

### `Box Create Retention Policy`

Integration name: **BOX\_CREATE\_RETENTION\_POLICY**

Creates a retention policy for managing content lifecycle in Box. Retention policies prevent permanent deletion of content for a specified duration. Once created, policies can be assigned to folders or the entire enterprise. Note: This endpoint requires the Box Governance add-on feature and the `manage retention policies` scope enabled in your application.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                        | Type    | Required | Example | Description                                                                                                                                                                                                                   |
| -------------------------------- | ------- | :------: | ------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `description`                    | string  |          | —       | The additional text description of the retention policy (max 500 characters).                                                                                                                                                 |
| `policy_name`                    | string  |     ✅    | —       | The name for the retention policy. Must be unique within the enterprise.                                                                                                                                                      |
| `policy_type`                    | string  |     ✅    | —       | The type of the retention policy. Use `finite` when the retention duration is known upfront, or `indefinite` when the retention duration is unknown. For finite policies, retention\_length must be specified.                |
| `retention_type`                 | string  |          | —       | Retention type enum: controls if policy can be modified after creation.                                                                                                                                                       |
| `retention_length`               | integer |          | —       | The number of days to retain content under this policy. Required when policy\_type is `finite`. Minimum value is 1 day. For `indefinite` policies, this field should not be set. Specify as an integer (e.g., 30, 365, 2555). |
| `disposition_action`             | string  |     ✅    | —       | The action to take when the retention policy expires. `permanently_delete` will permanently delete the retained content. `remove_retention` lifts the retention policy, allowing users to delete the content manually.        |
| `are_owners_notified`            | boolean |          | —       | Whether owners and co-owners of files are notified when the retention policy nears expiration.                                                                                                                                |
| `can_owner_extend_retention`     | boolean |          | —       | Whether file owners are allowed to extend the retention period before it expires.                                                                                                                                             |
| `custom_notification_recipients` | array   |          | —       | A list of users to notify when the retention policy duration is about to end. Each user should be specified with at least their `id` field. Example: `[{'type': 'user', 'id': '12345678'}]`                                   |

***

### `Box Create Shield Information Barrier`

Integration name: **BOX\_CREATE\_SHIELD\_INFORMATION\_BARRIER**

Creates a shield information barrier to establish an "ethical wall" that separates individuals/groups within an enterprise and prevents confidential information sharing. Prerequisites: Box Shield add-on must be licensed and enabled. Admin-level permissions required. Only one barrier allowed per enterprise. NOT available in Shield trials. Workflow:

1. Get enterprise ID from /users/me
2. Create barrier (starts in `draft`)
3. Create segments and add users
4. Define segment restrictions
5. Enable barrier

Common errors: 400 (missing enterprise), 404 (Shield not enabled/invalid ID), 409 (barrier already exists).

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter          | Type   | Required | Example | Description                                                                                                                                                                                        |
| ------------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `enterprise__id`   | string |     ✅    | —       | The unique identifier of the enterprise where the shield information barrier will be created. This ID can be obtained from the GET /users/me endpoint (enterprise.id field). Example: `1351007304` |
| `enterprise__type` | string |          | —       | The type of the enterprise object. Must be `enterprise`. This field has a sensible default and typically doesn't need to be changed.                                                               |

***

### `Box Create Shield Information Barrier Report`

Integration name: **BOX\_CREATE\_SHIELD\_INFORMATION\_BARRIER\_REPORT**

Creates a shield information barrier report for a given barrier. Shield information barrier reports track the configuration status of information barriers in Box Shield. When created, reports start with status `pending` and transition to `done`, `error`, or `cancelled`. Note: Requires Box Shield enterprise add-on license. Returns 404 if Shield is not enabled for the enterprise. Returns 409 if a report is already being created.

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type   | Required | Example | Description                                                                                                                                                           |
| ------------------------------------ | ------ | :------: | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `shield__information__barrier__id`   | string |     ✅    | —       | The ID of the shield information barrier to create a report for. Get this from BOX\_LIST\_SHIELD\_INFORMATION\_BARRIERS or BOX\_CREATE\_SHIELD\_INFORMATION\_BARRIER. |
| `shield__information__barrier__type` | string |          | —       | The type of the shield information barrier resource. Must be `shield_information_barrier`.                                                                            |

***

### `Box Create Shield Information Barrier Segment`

Integration name: **BOX\_CREATE\_SHIELD\_INFORMATION\_BARRIER\_SEGMENT**

Creates a new shield information barrier segment for compliance and information isolation. Segments represent organizational divisions (e.g., Investment Banking, Research, Trading) that need to be isolated from each other for regulatory compliance. Each segment can have users assigned to it, and restrictions can be created to prevent collaboration between specific segments. Prerequisites: Box Shield license, existing barrier (`create_shield_information_barrier`), barrier in `draft`/`pending` status. Returns 404 if Shield not enabled or barrier doesn't exist. Returns 409 if segment name already exists. Related: `create_shield_information_barrier_segment_member`, `create_shield_information_barrier_segment_restriction`, `list_shield_information_barrier_segments`

#### Parameters

Your Toolhouse AI worker will automatically pass these parameters as input when the tool is called.

| Parameter                            | Type   | Required | Example | Description                                                                                                                                                                                                                                                          |
| ------------------------------------ | ------ | :------: | ------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `name`                               | string |     ✅    | —       | **Required**. The name of the segment to create (e.g., `Investment Banking`, `Research Division`, `Trading Desk`). This name must be unique within the barrier and identifies the group of users for compliance isolation.                                           |
| `description`                        | string |          | —       | Optional description explaining the segment's purpose and scope (e.g., `Corporate division handling M&A advisory services and IPO underwriting`). Helps administrators understand the segment's business context.                                                    |
| `shield__information__barrier__id`   | string |     ✅    | —       | **Required**. The unique ID of the shield information barrier to create the segment under. Obtain this from list\_shield\_information\_barriers or create\_shield\_information\_barrier actions. The barrier must be in `draft` or `pending` status to add segments. |
| `shield__information__barrier__type` | string |          | —       | The type of the shield information barrier object. Must be `shield_information_barrier`. This field has a sensible default and typically doesn't need to be explicitly provided.                                                                                     |

***

*The remaining tool reference entries follow the same cleaned markdown structure.*


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toolhouse.ai/toolhouse/integrations/box.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
