# Botpress

Botpress is an open-source platform for building, deploying, and managing chatbots.

- **Category:** ai chatbots
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 53
- **Triggers:** 0
- **Slug:** `BOTPRESS`
- **Version:** 20260309_00

## Tools

### Break Down Workspace Usage By Bot

**Slug:** `BOTPRESS_BREAK_DOWN_WORKSPACE_USAGE_BY_BOT`

Tool to break down workspace usage by bot. Use this to get detailed usage metrics for individual bots within a workspace, such as invocation calls, storage count, or AI spend.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to get usage data for. Must be a valid workspace identifier. |
| `type` | string ("invocation_timeout" | "invocation_calls" | "storage_count" | "bot_count" | "knowledgebase_vector_storage" | "workspace_ratelimit" | "table_row_count" | "workspace_member_count" | "integrations_owned_count" | "ai_spend" | "openai_spend" | "bing_search_spend" | "always_alive") | Yes | Usage type to break down by bot. Determines what metric to report for each bot. |
| `period` | string | No | Period to get usage data for. If not specified, returns current usage data. |
| `xMultipleIntegrations` | string | No | Set to 'true' to receive integration instances keyed by their alias instead of their id. This supports bots with multiple instances of the same integration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_CHARGE_WORKSPACE_UNPAID_INVOICES

**Slug:** `BOTPRESS_CHARGE_WORKSPACE_UNPAID_INVOICES`

Tool to charge unpaid invoices for a specific Botpress workspace. Use when you need to manually trigger payment for outstanding workspace invoices. Returns details of successfully charged invoices and any that failed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID for which to charge unpaid invoices. |
| `invoiceIds` | array | Yes | Array of invoice IDs to charge. Must contain at least one invoice ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check Handle Availability

**Slug:** `BOTPRESS_CHECK_HANDLE_AVAILABILITY`

Tool to check if a workspace handle is available in Botpress. Use when creating or renaming a workspace to verify the handle is not already taken. Returns availability status and suggestions for alternative handles if unavailable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `handle` | string | Yes | Workspace handle to check for availability. Must be 1-50 characters, lowercase alphanumeric with hyphens and underscores only (pattern: ^[a-z0-9-_]+$) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_CREATE_ADMIN_INTEGRATION

**Slug:** `BOTPRESS_CREATE_ADMIN_INTEGRATION`

Tool to create a new integration in a Botpress workspace via the Admin API. Use when you need to provision a new integration with configuration including name, version, code, actions, events, and channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dev` | boolean | No | Indicates if the integration is a development integration. Dev integrations run locally. |
| `url` | string | No | URL of the integration for development integrations. |
| `code` | string | No | JavaScript code of the integration containing the integration logic. |
| `icon` | string | No | Base64 encoded SVG of the integration icon. This icon is global to the integration; each version will be updated when this changes. |
| `name` | string | Yes | Name of the integration (max 200 characters). Typically in the format 'namespace/integration-name'. |
| `user` | object | No | User object configuration with creation settings and tags. |
| `title` | string | No | Title of the integration displayed in the UI (1-64 characters). |
| `events` | object | No | Event definitions with schema for custom integration events. |
| `layers` | array | No | List of layer names for the integration. |
| `public` | boolean | No | [DEPRECATED] Indicates whether the integration is public. Please use the 'visibility' parameter instead. |
| `readme` | string | No | Base64 encoded markdown of the integration readme. The readme is specific to each integration version. |
| `states` | object | No | State definitions with type and schema. |
| `actions` | object | No | Action definitions for the integration. Each action must have input and output schemas. |
| `secrets` | object | No | Secrets are integration-wide values available in the code via environment variables formatted with a SECRET_ prefix followed by your secret name. A secret name must respect SCREAMING_SNAKE casing. Values limited to 20000 characters. |
| `version` | string | Yes | Version of the integration (max 200 characters). Use semantic versioning format. |
| `channels` | object | No | Channel definitions with messages schema. |
| `entities` | object | No | Entity definitions with schema. |
| `attributes` | object | No | Optional attributes for the integration. Each value limited to 200 characters. |
| `identifier` | object | No | Global identifier configuration with extractScript and fallbackHandlerScript (max 2000 characters each). |
| `interfaces` | object | No | Interface definitions with id, actions, channels, entities, and events. |
| `visibility` | string ("public" | "private" | "unlisted") | No | Integration visibility options. |
| `description` | string | No | Description of the integration displayed in the UI (max 256 characters). |
| `configuration` | object | No | Default configuration definition of the integration with description, identifier, schema, and title properties. |
| `configurations` | object | No | Additional configuration definitions of the integration. |
| `x-workspace-id` | string | Yes | Workspace ID where the integration will be created. This is passed as a header. |
| `extraOperations` | object | No | **EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_CREATE_ADMIN_WORKSPACE

**Slug:** `BOTPRESS_CREATE_ADMIN_WORKSPACE`

Tool to create a new workspace in Botpress via the Admin API. Use when you need to provision a new workspace for organizing bots and managing team resources. The workspace will be created under the authenticated account's ownership.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the workspace to create. This will be the display name for the workspace. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_CREATE_BOT

**Slug:** `BOTPRESS_CREATE_BOT`

Tool to create a new bot in a Botpress workspace via the Admin API. Use when you need to provision a new bot with optional configuration including name, code, tags, events, states, and integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dev` | boolean | No | Indicates if this is a development bot. Set to true for local development bots. |
| `url` | string | No | URL for development bot webhooks. Only applicable when dev=true. |
| `code` | string | No | JavaScript code containing the bot's custom logic and behavior. |
| `name` | string | No | Name identifier for the bot. If not provided, the API will auto-generate a unique name. Must be unique within the workspace. |
| `tags` | object | No | Custom key-value metadata tags for the bot. Each value limited to 500 characters. |
| `user` | object | No | User tag definitions for metadata on user objects. |
| `events` | object | No | Event definitions with title, description, and schema for custom bot events. |
| `medias` | array | No | Array of media files. Each item must have 'url' and 'name' properties. |
| `states` | object | No | Conversation/user/bot/task state definitions with schema validation and expiry settings. |
| `actions` | object | No | Custom action definitions with input/output schemas for bot actions. |
| `message` | object | No | Message tag definitions for metadata on message objects. |
| `conversation` | object | No | Conversation tag definitions for metadata on conversation objects. |
| `configuration` | object | No | Bot configuration object with 'data' and 'schema' properties for validation rules. |
| `subscriptions` | object | No | Event subscription configuration. Set to null to subscribe to all events. |
| `recurringEvents` | object | No | Scheduled events configuration using cron expressions with type and payload. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_CREATE_CONVERSATION

**Slug:** `BOTPRESS_CREATE_CONVERSATION`

Tool to create a new conversation in Botpress via the Runtime API. Use when you need to initiate a new conversation thread. The required tags must be provided according to the specific integration being used.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | No | Optional custom identifier for the conversation. If not provided, one will be auto-generated. |
| `tags` | object | Yes | Tags for the conversation. Required tags depend on the specific integration. Provide as a dictionary of key-value pairs. |
| `botId` | string | Yes | UUID of the bot to create the conversation for. This is passed as the x-bot-id header. |
| `channel` | string | Yes | Channel name as defined in the integration. For chat integration, use 'channel'. This must match a channel defined in the specific integration being used. |
| `integrationId` | string | No | Integration identifier (UUID). Either integration_id or integration_alias must be provided. This is passed as the x-integration-id header. |
| `integrationAlias` | string | No | Integration alias. Either integration_id or integration_alias must be provided. This is passed as the x-integration-alias header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Admin Workspace

**Slug:** `BOTPRESS_DELETE_ADMIN_WORKSPACE`

Tool to permanently delete a workspace from Botpress admin. Use this to remove workspaces that are no longer needed. The deletion is irreversible and removes all associated bots and data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the workspace to be deleted. Workspace IDs start with 'wkspace_' prefix (e.g., 'wkspace_01KH9PBRKXEGBACYGWP7BBETR4'). Can be obtained from list workspaces API. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete File

**Slug:** `BOTPRESS_DELETE_FILE`

Permanently deletes a file from a Botpress bot's storage by its file ID. Use this tool to remove files that are no longer needed. The deletion is irreversible. Requires a valid file ID and the bot ID that owns the file.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the file to be deleted. File IDs start with 'file_' prefix (e.g., 'file_01K0B5160BQXX0XB66EFQJZ7YD'). Can be obtained from list files API or file creation response. |
| `botId` | string | Yes | The UUID of the bot that owns the file. Required for authentication. Can be obtained from the list bots or workspace APIs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Integration Shareable ID

**Slug:** `BOTPRESS_DELETE_INTEGRATION_SHAREABLE_ID`

Tool to delete a shareable ID for an integration installed in a Botpress bot. Use when you need to remove the human-readable identifier for a specific bot-integration crossover. This is an experimental feature used for the integrations channel sandbox.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `botId` | string | Yes | UUID of the bot that has the integration installed. Can be obtained from list bots or workspace APIs. |
| `integrationId` | string | Yes | Integration Version ID identifying the installed integration. Starts with 'intver_' prefix (e.g., 'intver_01KBFTKJ7841MVQTYFRT623SP5'). |
| `x-workspace-id` | string | Yes | Workspace ID where the bot is located. Required for authentication. Can be obtained from list workspaces API. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future. |
| `integrationInstanceAlias` | string | No | Integration instance alias. If provided, integrationId is ignored and the operation targets the integration instance with this alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Knowledge Base

**Slug:** `BOTPRESS_DELETE_KNOWLEDGE_BASE`

Permanently deletes a knowledge base from Botpress by its knowledge base ID. Use this tool to remove knowledge bases that are no longer needed. The deletion is irreversible. Requires a valid knowledge base ID and the bot ID that owns the knowledge base.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | The unique identifier of the knowledge base to be deleted. Knowledge base IDs start with 'kb_' prefix (e.g., 'kb_01KH9PMBVK4YQHFT394BD4DG8X'). Can be obtained from list knowledge bases API or knowledge base creation response. |
| `botId` | string | Yes | The UUID of the bot that owns the knowledge base. Required for authentication. Can be obtained from the list bots or workspace APIs. |
| `userId` | string | No | User Id. Optional header parameter for user-scoped operations. |
| `userRole` | string | No | User Role. Optional header parameter for role-based access control. |
| `integrationId` | string | No | Integration id. Optional header parameter for integration-scoped operations. |
| `integrationName` | string | No | Integration name. Optional header parameter for identifying the integration. |
| `integrationAlias` | string | No | Integration alias. Optional header parameter as an alternative to integration_id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account

**Slug:** `BOTPRESS_GET_ACCOUNT`

Tool to get details of the authenticated account. Use after confirming valid credentials.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Account Preference

**Slug:** `BOTPRESS_GET_ACCOUNT_PREFERENCE`

Tool to get a preference of the account. Use when you need to retrieve a specific account preference value by its key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Preference key to retrieve. Must be a valid preference key that exists in the account. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Workspace Quota Completion

**Slug:** `BOTPRESS_GET_ALL_WORKSPACE_QUOTA_COMPLETION`

Tool to get a map of workspace IDs to their highest quota completion rate. Use when monitoring workspace usage or checking quota limits across multiple workspaces.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Dereferenced Public Plugin By ID

**Slug:** `BOTPRESS_GET_DEREFERENCED_PUBLIC_PLUGIN_BY_ID`

Tool to get a public plugin by ID with all interface entity references resolved to the corresponding entities as extended by the backing integrations. Use when you need to retrieve a plugin with its interfaces fully dereferenced using specific backing integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Plugin ID. Plugin IDs start with 'plugver_' prefix (e.g., 'plugver_01KC4E6R93D99R34HBP2BADG5Z'). |
| `interfaces` | object | Yes | Interfaces and their backing integrations. A JSON object mapping interface aliases to integration IDs. The plugin will be returned with all entity references resolved to the corresponding entities as extended by the backing integrations. Example: {'hitl': 'intver_01KGJFKEQH2GVMK6XHJ9194J75'} |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Integration

**Slug:** `BOTPRESS_GET_INTEGRATION`

Tool to get a specific Botpress integration by name and version. Use this to retrieve detailed information about an integration including its configuration, actions, events, channels, and metadata. Supports retrieving specific versions or the latest version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Integration name. Format: 'namespace/integration-name' (e.g., 'composio-test/my-integration'). The namespace is typically the workspace or user handle. |
| `version` | string | Yes | Integration version. Can be a semver version (e.g., '1.0.0'), a semver version range (e.g., '^1.0.0'), or the string 'latest' to get the most recent version. |
| `x-workspace-id` | string | Yes | Workspace ID to use for the request. Required for authentication. Format: 'wkspace_' followed by alphanumeric characters. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Integration

**Slug:** `BOTPRESS_GET_PUBLIC_INTEGRATION`

Tool to retrieve a public integration by name and version from the Botpress hub. Use when you need to get integration details, check available actions/events/channels, or verify integration configuration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Integration name. This is the unique identifier for the integration in the Botpress hub. |
| `version` | string | Yes | Integration version. Can be a specific semver version (e.g., "1.2.3"), a semver version range (e.g., "^1.0.0"), or the constant string "latest" to get the most recent version. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Integration By ID

**Slug:** `BOTPRESS_GET_PUBLIC_INTEGRATION_BY_ID`

Tool to retrieve detailed information about a public Botpress integration by its ID. Use when you need to fetch integration details including configuration, channels, actions, events, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Integration Version ID to retrieve. Must be between 28-36 characters. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Interface

**Slug:** `BOTPRESS_GET_PUBLIC_INTERFACE`

Tool to get a public interface by name and version from the Botpress Hub. Use when you need to retrieve interface specifications, schemas, or metadata for integrations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Interface name to retrieve |
| `version` | string | Yes | Interface version. Either a semver version, semver version range, or the constant string 'latest' |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Interface by ID

**Slug:** `BOTPRESS_GET_PUBLIC_INTERFACE_BY_ID`

Tool to retrieve a public interface by its ID from the Botpress Hub. Use when you need to get detailed information about a specific interface including its actions, events, channels, and entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Interface ID to retrieve |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Plugin

**Slug:** `BOTPRESS_GET_PUBLIC_PLUGIN`

Tool to retrieve detailed information about a public plugin from Botpress Hub by name and version. Use when you need to inspect plugin configuration, dependencies, actions, events, or metadata before installation.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Plugin Name to retrieve from Botpress Hub. |
| `version` | string | Yes | Plugin version. Either a semver version (e.g., "1.3.0"), semver version range (e.g., "^1.0.0"), or the constant string "latest" to get the most recent version. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Plugin By ID

**Slug:** `BOTPRESS_GET_PUBLIC_PLUGIN_BY_ID`

Tool to retrieve details of a public plugin by its unique ID. Use this to get full plugin information including configuration, actions, events, and metadata.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Plugin ID. Plugin IDs start with 'plugver_' prefix (e.g., 'plugver_01KCA036HEMXKNMPKZZ6H9HVN9'). Can be obtained from the list public plugins API. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Public Plugin Code

**Slug:** `BOTPRESS_GET_PUBLIC_PLUGIN_CODE`

Tool to retrieve public plugin code from Botpress Hub. Use when you need to access the source code for a specific plugin version on a particular platform (node or browser).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Plugin id. This is the unique identifier for the plugin version. |
| `platform` | string ("node" | "browser") | Yes | Platform for which to retrieve the plugin code. Must be either 'node' or 'browser'. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Table Row

**Slug:** `BOTPRESS_GET_TABLE_ROW`

Tool to fetch a specific row from a table using the row's unique identifier. Use when you need to retrieve detailed data for a specific table row.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | integer | Yes | Identifier of the row within the table. |
| `botId` | string | Yes | Bot id. This is passed as the x-bot-id header. |
| `table` | string | Yes | The table's name or unique identifier for targeting specific table operations. |
| `userId` | string | No | User Id. This is passed as the x-user-id header. |
| `userRole` | string | No | User Role. This is passed as the x-user-role header. |
| `integrationId` | string | No | Integration id. This is passed as the x-integration-id header. |
| `integrationName` | string | No | Integration name. This is passed as the x-integration-name header. |
| `integrationAlias` | string | No | Integration alias. This is passed as the x-integration-alias header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Upcoming Invoice

**Slug:** `BOTPRESS_GET_UPCOMING_INVOICE`

Tool to get the upcoming invoice for a workspace. Use this to preview upcoming charges before they are billed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to retrieve the upcoming invoice for. Use ListWorkspaces to find available workspace IDs. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workspace

**Slug:** `BOTPRESS_GET_WORKSPACE`

Tool to get detailed information about a specific Botpress workspace by ID. Use this when you need to retrieve workspace details such as plan, bot count, owner, billing info, or settings for a known workspace ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to retrieve. This is the unique identifier for the workspace. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Workspace Quota

**Slug:** `BOTPRESS_GET_WORKSPACE_QUOTA`

Tool to get workspace quota information for a specific usage type. Use when you need to check resource limits or usage for a workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to get quota information for |
| `type` | string ("invocation_timeout" | "invocation_calls" | "storage_count" | "bot_count" | "knowledgebase_vector_storage" | "workspace_ratelimit" | "table_row_count" | "workspace_member_count" | "integrations_owned_count" | "ai_spend" | "openai_spend" | "bing_search_spend" | "always_alive") | Yes | Usage type to get quota for |
| `period` | string | No | Period to get quota for (e.g., 'monthly', 'daily'). If not provided, returns the default period. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_ACTION_RUNS

**Slug:** `BOTPRESS_LIST_ACTION_RUNS`

Tool to list action runs for a specific integration of a bot. Use when you need to retrieve execution history of actions for a bot's integration, optionally filtering by timestamp range and paginating through results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier (UUID) of the bot to list action runs for. Obtain this from a list bots operation. |
| `nextToken` | string | No | Pagination token from previous response. Provide the meta.nextToken value from the last API response to retrieve the next page of results. |
| `timestampFrom` | string | No | Start timestamp (inclusive) to filter action runs. Format: ISO 8601 timestamp. |
| `timestampUntil` | string | No | End timestamp (inclusive) to filter action runs. Format: ISO 8601 timestamp. |
| `x-workspace-id` | string | Yes | Workspace ID header. Required for authentication and authorization. |
| `integrationName` | string | Yes | Name of the integration to filter action runs by. Required parameter. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_BOT_ISSUES

**Slug:** `BOTPRESS_LIST_BOT_ISSUES`

Tool to list issues associated with a specific bot. Use when you need to discover errors or configuration problems tied to a bot, optionally paginating through results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier (UUID) of the bot to list issues for. Obtain this from a list bots operation. |
| `nextToken` | string | No | Pagination token from previous response to retrieve the next page of results |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_CONVERSATIONS

**Slug:** `BOTPRESS_LIST_CONVERSATIONS`

Tool to list all Conversations. Use when you need to retrieve and page through chat threads.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Filter conversations by tags. Provide a dictionary of tag key-value pairs where both keys and values are strings. |
| `botId` | string | Yes | UUID of the bot to list conversations for. This is passed as the x-bot-id header. |
| `channel` | string | No | Filter by channel name. |
| `nextToken` | string | No | Pagination token from previous response to retrieve the next page of results. |
| `sortField` | string ("createdAt" | "updatedAt") | No | Field to sort conversations by. |
| `sortDirection` | string ("asc" | "desc") | No | Sort order direction: asc or desc. |
| `participantIds` | array | No | Filter conversations by participant IDs. Returns conversations that include these participants. |
| `integrationName` | string | No | Filter by integration name. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_FILE_TAGS

**Slug:** `BOTPRESS_LIST_FILE_TAGS`

Tool to list all tags used across all bot files. Use when you need to retrieve or display file tag metadata; supports pagination via nextToken.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `botId` | string | Yes | The unique UUID identifier of the bot whose file tags should be listed. Must be a valid UUID format (e.g., '6caea721-d6e9-42f8-b764-f7d36c76c69e'). Sent as x-bot-id header. |
| `nextToken` | string | No | Pagination token from a previous response's meta.nextToken field to retrieve the next page of tags. Leave empty for the first request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_FILE_TAG_VALUES

**Slug:** `BOTPRESS_LIST_FILE_TAG_VALUES`

Tool to list all values for a given file tag across all files. Use after determining the tag name; supports pagination via nextToken.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tag` | string | Yes | The tag name to retrieve values for. Use LIST_FILE_TAGS to discover available tags first. |
| `botId` | string | Yes | UUID of the bot whose file tag values should be listed. This is passed as the x-bot-id header. |
| `nextToken` | string | No | Pagination token from a previous response's meta.nextToken to retrieve the next page of values. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_HUB_INTEGRATIONS

**Slug:** `BOTPRESS_LIST_HUB_INTEGRATIONS`

Tool to list public integrations from the Botpress hub. Use when you need to browse available integrations, search for specific integration types, or filter integrations by various criteria such as verification status, interface, or installation status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter by integration name (exact match). |
| `limit` | integer | No | Maximum number of results to return per page. |
| `search` | string | No | Search integrations by name, description, actions, and interfaces. Responses include a matchedOn field indicating which fields matched the search. |
| `sortBy` | string ("popularity" | "name" | "createdAt" | "updatedAt" | "installCount") | No | Sort field options for integrations. |
| `version` | string | No | Integration version. Either a semver version (e.g., "1.0.0") or the tag "latest". |
| `direction` | string ("asc" | "desc") | No | Sort direction options. |
| `nextToken` | string | No | Provide the meta.nextToken value from the last API response to retrieve the next page of results. |
| `interfaceId` | string | No | Filter integrations by implemented interface ID. |
| `interfaceName` | string | No | Filter integrations by implemented interface name (strict match). |
| `installedByBotId` | string | No | Bot ID. Required when filtering for installed integrations. |
| `verificationStatus` | string ("unapproved" | "pending" | "approved" | "rejected") | No | Verification status values for integrations. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_INTEGRATION_API_KEYS

**Slug:** `BOTPRESS_LIST_INTEGRATION_API_KEYS`

Tool to list Integration API Keys (IAKs) for a specific integration. Use when you need to retrieve all API keys associated with an integration within a workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `integrationId` | string | Yes | ID of the integration to list API keys for. Must be a valid integration version identifier (e.g., 'intver_01KH9P8S2B4FWPB9TWA50YJ95M'). |
| `x-workspace-id` | string | Yes | Workspace ID to operate within. This is sent as the x-workspace-id header. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Integrations

**Slug:** `BOTPRESS_LIST_INTEGRATIONS`

Tool to list integrations with filtering and sorting capabilities. Use when you need to browse available integrations, search for specific integration types, or filter integrations by various criteria such as verification status, interface, visibility, or installation status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `dev` | boolean | No | If true, only dev integrations are returned. Otherwise, only production integrations are returned. |
| `name` | string | No | Filter by integration name (exact match). |
| `limit` | integer | No | Maximum number of results to return per page. |
| `search` | string | No | Search integrations by name, description, actions, and interfaces. Responses include a matchedOn field indicating which fields matched the search. |
| `sortBy` | string ("popularity" | "name" | "createdAt" | "updatedAt" | "installCount") | No | Sort field options for integrations. |
| `version` | string | No | Integration version. Either a semver version (e.g., "1.0.0") or the tag "latest". |
| `direction` | string ("asc" | "desc") | No | Sort direction options. |
| `nextToken` | string | No | Provide the meta.nextToken value from the last API response to retrieve the next page of results. |
| `visibility` | string ("public" | "private") | No | Visibility options for integrations. |
| `interfaceId` | string | No | Filter integrations by implemented interface ID. |
| `interfaceName` | string | No | Filter integrations by implemented interface name (strict match). |
| `x-workspace-id` | string | Yes | Workspace ID. Required for authentication. Format: 'wkspace_' followed by alphanumeric characters. |
| `installedByBotId` | string | No | Bot ID. Required when filtering for installed integrations. |
| `verificationStatus` | string ("unapproved" | "pending" | "approved" | "rejected") | No | Verification status values for integrations. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_KNOWLEDGE_BASES

**Slug:** `BOTPRESS_LIST_KNOWLEDGE_BASES`

Tool to list knowledge bases for a bot. Use when you need to retrieve or display knowledge bases with optional tag filtering; supports pagination via nextToken.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | string | No | Filter knowledge bases by tags. Tags should be passed as a URL-encoded JSON object of key-value pairs that must be present in the tags of a knowledge base. An array of multiple string values for the same key are treated as an OR condition. To exclude a value, express it as an object with a nested 'not' key with the string or string-array value(s) to exclude. |
| `botId` | string | Yes | The unique UUID identifier of the bot whose knowledge bases should be listed. Must be a valid UUID format. Sent as x-bot-id header. |
| `userId` | string | No | User Id. Sent as x-user-id header. |
| `userRole` | string | No | User Role. Sent as x-user-role header. |
| `nextToken` | string | No | Provide the meta.nextToken value provided in the last API response to retrieve the next page of results. Leave empty for the first request. |
| `integrationId` | string | No | Integration id. Sent as x-integration-id header. |
| `integrationName` | string | No | Integration name. Sent as x-integration-name header. |
| `integrationAlias` | string | No | Integration alias. Sent as x-integration-alias header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Plugins

**Slug:** `BOTPRESS_LIST_PLUGINS`

Tool to list Botpress plugins. Use to discover available plugins, filter by name or version, or page through all plugins in a workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter all versions of a plugin by name. |
| `version` | string | No | Filter a plugin by name and version. Must be used together with the name parameter. |
| `nextToken` | string | No | Provide the meta.nextToken value provided in the last API response to retrieve the next page of results. |
| `xWorkspaceId` | string | Yes | Workspace ID. This is passed as the x-workspace-id header. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Public Interfaces

**Slug:** `BOTPRESS_LIST_PUBLIC_INTERFACES`

Tool to retrieve a list of public interfaces available in the Botpress Hub. Use when browsing available interfaces to integrate with bots.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter all versions of an interface by name. |
| `version` | string | No | Filter an interface by name and version. |
| `nextToken` | string | No | Provide the `meta.nextToken` value provided in the last API response to retrieve the next page of results. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_PUBLIC_PLUGINS

**Slug:** `BOTPRESS_LIST_PUBLIC_PLUGINS`

Tool to retrieve a list of public plugins available in the Botpress hub. Use when browsing available plugins or searching for specific plugins by name and version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter all versions of a plugin by name. |
| `version` | string | No | Filter a plugin by name and version. Requires the name parameter to be set as well. |
| `nextToken` | string | No | Provide the meta.nextToken value from the last API response to retrieve the next page of results. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_PUBLIC_WORKSPACES

**Slug:** `BOTPRESS_LIST_PUBLIC_WORKSPACES`

Tool to retrieve a list of public workspaces. Use when browsing publicly available workspaces before selection.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `search` | string | No | Filter workspaces by search string. |
| `nextToken` | string | No | Pagination token from previous response meta.nextToken. |
| `workspaceIds` | array | No | Filter by list of workspace IDs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_USAGE_HISTORY

**Slug:** `BOTPRESS_LIST_USAGE_HISTORY`

Tool to retrieve usage history for a bot or workspace. Use to track resource consumption, monitor quota usage, or analyze historical trends for metrics like AI spend, member count, or invocation calls.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | ID of a bot or a workspace, depending on the 'type' parameter. Use workspace ID for workspace-level metrics or bot ID for bot-specific metrics. |
| `type` | string ("invocation_timeout" | "invocation_calls" | "storage_count" | "bot_count" | "knowledgebase_vector_storage" | "workspace_ratelimit" | "table_row_count" | "workspace_member_count" | "integrations_owned_count" | "ai_spend" | "openai_spend" | "bing_search_spend" | "always_alive") | Yes | Type of usage metric to retrieve history for. Determines what kind of usage data is returned. |
| `x-workspace-id` | string | Yes | Workspace ID for authentication and authorization context. Required for all admin API calls. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Workspace Invoices

**Slug:** `BOTPRESS_LIST_WORKSPACE_INVOICES`

Tool to list all invoices billed to a workspace. Use when you need to retrieve billing history and invoice details for a specific workspace.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to list invoices for. This is a unique identifier for the workspace. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### LIST_WORKSPACES

**Slug:** `BOTPRESS_LIST_WORKSPACES`

List all Botpress workspaces accessible to the authenticated user. Use this to enumerate workspaces, check workspace details like bot count and plan type, or find a specific workspace by handle. Supports pagination for accounts with many workspaces.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `handle` | string | No | Filter workspaces by exact handle. If not provided, returns all workspaces for the authenticated user. Must not be empty if provided. |
| `nextToken` | string | No | Token for pagination. Use the value from meta.nextToken in a previous response to retrieve the next page of results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Request Integration Verification

**Slug:** `BOTPRESS_REQUEST_INTEGRATION_VERIFICATION`

Tool to request verification for a Botpress integration via the Admin API. Use when you need to submit an integration for verification to make it available for public use.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `integrationId` | string | Yes | Unique identifier of the integration to request verification for. Must be a valid integration ID. |
| `x-workspace-id` | string | Yes | Workspace ID where the integration belongs. This is passed as a header. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_RUN_VRL

**Slug:** `BOTPRESS_RUN_VRL`

Tool to execute a VRL (Vector Remap Language) script against input data using the Botpress Admin API. Use when you need to transform or process data using VRL syntax. The script receives the input data and can perform transformations, validations, or data manipulations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | Yes | Input data object to be processed by the VRL script. This data is accessible within the script as '.' (dot notation). |
| `script` | string | Yes | VRL (Vector Remap Language) script to execute. The script processes the input data and transforms it according to VRL syntax. |
| `xWorkspaceId` | string | Yes | Workspace ID. Required for VRL script execution. |
| `xMultipleIntegrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to "true" to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_SEND_MESSAGE

**Slug:** `BOTPRESS_SEND_MESSAGE`

Tool to send a message to an existing Botpress conversation via the Runtime API. Use when you need to create and deliver a message to a user.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tags` | object | No | Key-value pairs for message categorization. Keys are limited to 500 characters. |
| `type` | string | Yes | Message resource type (max 200 characters). Typically 'text' for text messages. |
| `botId` | string | Yes | UUID of the bot to send the message for. This is passed as the x-bot-id header. |
| `origin` | string | No | Message origin. Only 'synthetic' is supported as a value. |
| `userId` | string | Yes | Unique identifier of the user sending or receiving the message (28-36 characters). Must be obtained from getOrCreateUser endpoint. |
| `payload` | object | Yes | Message content object. For text messages, use {'text': 'your message'}. Supports Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location. |
| `schedule` | object | No | Configuration for scheduling message delivery. |
| `conversationId` | string | Yes | Unique identifier of the conversation (28-36 characters). Must be obtained from getOrCreateConversation or list conversations endpoints. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Account Preference

**Slug:** `BOTPRESS_SET_ACCOUNT_PREFERENCE`

Tool to set a preference for the account. Use when you need to create or update a specific account preference by its key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Preference key to set. The key identifies the preference to create or update in the account. |
| `value` | string | Yes | The value to set for the preference. Can be a string, number, boolean, null, object with string/number/boolean values, or array of primitives. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Workspace Preference

**Slug:** `BOTPRESS_SET_WORKSPACE_PREFERENCE`

Tool to set a preference for a Botpress workspace. Use when you need to store or update a workspace-specific preference value by its key.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Preference key to set. This identifies the preference to be stored in the workspace. |
| `value` | string | Yes | The value to set for the preference. Can be of any type (string, number, boolean, object, array, or null). |
| `workspaceId` | string | Yes | The workspace ID for which to set the preference. Can be obtained by calling GET /v1/admin/workspaces endpoint. |
| `x-multiple-integrations` | string | No | Whether the client supports bots with multiple instances of the same integration. Set to 'true' to receive integration instances keyed by their alias instead of their id. This header will be removed in the future, and the API will always return multiple instances keyed by alias. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Account

**Slug:** `BOTPRESS_UPDATE_ACCOUNT`

Tool to update details of the authenticated account. Use when you need to change the display name, profile picture, or refresh account data.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `refresh` | boolean | No | Whether to refresh the account data |
| `displayName` | string | No | Display name of the account (max 100 characters) |
| `profilePicture` | string | No | URL to the profile picture |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_UPDATE_ADMIN_BOTS

**Slug:** `BOTPRESS_UPDATE_ADMIN_BOTS`

Tool to update an existing bot in a Botpress workspace via the Admin API. Use when you need to modify bot configuration, update tags, change code, or adjust any other bot properties. Only the fields you provide will be updated.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the bot to update. Must be a valid bot ID from your workspace. |
| `dev` | boolean | No | Update whether this is a development bot. Development bots run locally and can install dev integrations. |
| `url` | string | No | Updated URL for development bot webhooks. Only applicable when dev=true. |
| `code` | string | No | Updated JavaScript code containing the bot's custom logic and behavior. |
| `name` | string | No | Updated name for the bot. Must be at least 1 character if provided. |
| `tags` | object | No | Updated custom key-value metadata tags for the bot. Each value limited to 500 characters. Replaces existing tags. |
| `user` | object | No | Updated user tag definitions for metadata on user objects. |
| `events` | object | No | Updated event definitions with title, description, and schema for custom bot events. |
| `layers` | array | No | Updated list of layer identifiers for the bot. |
| `medias` | array | No | Updated array of media files. Each item must have 'url' and 'name' properties. |
| `states` | object | No | Updated conversation/user/bot/task state definitions with schema validation and expiry settings. |
| `actions` | object | No | Updated custom action definitions with input/output schemas for bot actions. |
| `blocked` | boolean | No | Update whether the bot is blocked from operating. |
| `message` | object | No | Updated message tag definitions for metadata on message objects. |
| `plugins` | object | No | Updated plugin configurations. A mapping of plugin aliases to their configuration. |
| `alwaysAlive` | boolean | No | Update whether the bot should be in always alive mode (stays active continuously). |
| `conversation` | object | No | Updated conversation tag definitions for metadata on conversation objects. |
| `integrations` | object | No | Updated integration configurations keyed by integration ID or alias. |
| `configuration` | object | No | Updated bot configuration object with 'data' and 'schema' properties for validation rules. |
| `subscriptions` | object | No | Updated event subscription configuration. Set to null to subscribe to all events. |
| `authentication` | string | No | Type of bot authentication. Currently only 'iam' is supported. |
| `x-workspace-id` | string | No | Workspace ID where the bot belongs. If not provided, the first accessible workspace will be used automatically. |
| `recurringEvents` | object | No | Updated scheduled events configuration using cron expressions with type and payload. |
| `maxExecutionTime` | integer | No | Updated maximum execution time in seconds for bot operations. |
| `shouldMergePlugins` | boolean | No | UNUSED field - will be removed in future. Please ignore. |
| `x-multiple-integrations` | string | No | Set to 'true' to receive integration instances keyed by alias instead of ID. This header will be removed in the future. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### UPDATE_ADMIN_WORKSPACE

**Slug:** `BOTPRESS_UPDATE_ADMIN_WORKSPACE`

Tool to update a Botpress workspace via the Admin API. Use this to modify workspace properties including name, description, contact information, public visibility, handle, profile picture, social accounts, and spending limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Workspace ID to update. Must be a valid workspace identifier accessible to the authenticated user. |
| `name` | string | No | Workspace name. Must be between 1 and 64 characters. |
| `about` | string | No | Description of the workspace. Provides context about the workspace's purpose or team. |
| `handle` | string | No | Workspace handle (URL-friendly identifier). Must be 1-64 characters, start and end with alphanumeric, contain only lowercase letters, numbers, hyphens, and underscores. |
| `website` | string | No | Website URL associated with the workspace. |
| `isPublic` | boolean | No | Whether the workspace should be publicly visible. Set to true to make it discoverable. |
| `contactEmail` | string | No | Contact email address for the workspace. |
| `spendingLimit` | number | No | Monthly spending limit in dollars. Must be between 5 and 1000. |
| `profilePicture` | string | No | URL to the workspace's profile picture or logo. |
| `socialAccounts` | array | No | List of social media account URLs (maximum 5 items). |
| `xMultipleIntegrations` | string | No | Set to 'true' to receive integration instances keyed by alias instead of ID. This header supports bots with multiple instances of the same integration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_UPDATE_WORKFLOW

**Slug:** `BOTPRESS_UPDATE_WORKFLOW`

Tool to update a workflow object in Botpress by setting parameter values. Use when you need to change workflow status, add output data, update tags, or set failure reasons. Any parameters not provided will remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Unique identifier of the workflow to update (28-36 characters). |
| `tags` | object | No | Key-value pairs for workflow categorization. Individual keys can be unset by providing empty values. Each value is limited to 500 characters. |
| `botId` | string | Yes | UUID of the bot that owns the workflow. This is passed as the x-bot-id header. |
| `output` | object | No | Data returned by the workflow output. Can contain arbitrary JSON structure. |
| `status` | string ("completed" | "cancelled" | "listening" | "paused" | "failed" | "in_progress") | No | Valid workflow status values. |
| `userId` | string | No | Specific user ID related to this workflow (28-36 characters). |
| `eventId` | string | No | Event ID must be specified if the workflow is updated with status 'in_progress'. |
| `timeoutAt` | string | No | The timeout date when the workflow should fail, in ISO 8601 format. |
| `failureReason` | string | No | Reason why the workflow failed. Use when status is set to 'failed'. |
| `integrationId` | string | No | Optional integration ID. This is passed as the x-integration-id header. |
| `integrationAlias` | string | No | Optional integration alias. This is passed as the x-integration-alias header. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### BOTPRESS_VALIDATE_INTEGRATION_UPDATE

**Slug:** `BOTPRESS_VALIDATE_INTEGRATION_UPDATE`

Tool to validate an integration update request in Botpress Admin API. Use when you need to verify that integration update parameters are valid before performing the actual update. Returns success if the integration can be updated with the provided parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `id` | string | Yes | Integration Version ID to validate update for (e.g., intver_01KH9P8S2B4FWPB9TWA50YJ95M) |
| `url` | string | No | URL of the integration |
| `code` | string | No | JavaScript code of the integration |
| `icon` | string | No | Base64 encoded SVG of the integration icon. This icon is global to the integration and will update all versions. |
| `user` | object | No | User configuration for an integration. |
| `title` | string | No | Title of the integration displayed in the UI (max 64 characters, min 1 character) |
| `events` | object | No | Event definitions with schemas. Set to null to remove specific events. |
| `layers` | array | No | Array of layer IDs for the integration |
| `public` | boolean | No | [DEPRECATED] Use visibility parameter instead. Indicates whether the integration is public. |
| `readme` | string | No | Base64 encoded markdown of the integration readme. The readme is specific to this integration version. |
| `states` | object | No | State definitions with type and schema. Set to null to remove specific states. |
| `actions` | object | No | Action definitions with input/output schemas. Set to null to remove specific actions. |
| `secrets` | object | No | Integration-wide secrets available as environment variables with SECRET_ prefix. Secret names must use SCREAMING_SNAKE casing (max 20000 characters per secret). Set to null to remove specific secrets. |
| `channels` | object | No | Channel definitions with message schemas. Set to null to remove specific channels. |
| `entities` | object | No | Entity definitions with schemas. Set to null to remove specific entities. |
| `attributes` | object | No | Optional attributes with max 200 characters per value. Set to null to remove specific attributes. |
| `identifier` | object | No | Identifier configuration for an integration. |
| `interfaces` | object | No | Interface definitions with ID and optional actions/channels/entities/events. Set to null to remove specific interfaces. |
| `visibility` | string ("public" | "private" | "unlisted") | No | Enum for integration visibility options. |
| `description` | string | No | Description of the integration displayed in the UI (max 256 characters) |
| `configuration` | object | No | Configuration definition for an integration. |
| `configurations` | object | No | Additional configuration definitions of the integration. Set to null to remove specific configurations. |
| `x-workspace-id` | string | Yes | Workspace ID where the integration is located (e.g., wkspace_01K0B50V5WQHDN1J3YBJJF5TZ8) |
| `extraOperations` | object | No | [EXPERIMENTAL] Extra integration operations configuration. The key is the operation name. |
| `maxExecutionTime` | integer | No | Maximum execution time of the integration in seconds |
| `x-multiple-integrations` | string | No | Whether the client supports multiple instances of the same integration. Set to "true" to receive integration instances keyed by alias instead of id. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
