Botpress is an open-source platform for building, deploying, and managing chatbots.
Botpress is an open-source platform for building, deploying, and managing chatbots. On Nagent, Botpress is exposed as a fully-configurable ai chatbots integration that any agent can call — 53 actions, and API key authentication. No code is required to wire Botpress into your workflow — connect it once via the External Integrations panel and reuse it across every agent you build.
Agent builders use Botpress to automate the kinds of tasks ai chatbots teams previously handled manually. Concrete examples — each one is a single agent step in Nagent — include:
Every action and trigger is paired with a structured input/output schema (visible in the sections below), so when you wire Botpress into Helix — our agentic agent builder — the editor knows exactly what each step expects and produces. Configure once, deploy anywhere across your Nagent agents.
Every operation an agent can call against Botpress, with input parameters and output schema. Drop these into any step of an agent built in Helix.
BOTPRESS_BREAK_DOWN_WORKSPACE_USAGE_BY_BOTTool 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
Workspace ID to get usage data for. Must be a valid workspace identifier.
Usage type to break down by bot. Determines what metric to report for each bot.
Period to get usage data for. If not specified, returns current usage data.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CHARGE_WORKSPACE_UNPAID_INVOICESTool 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
Workspace ID for which to charge unpaid invoices.
Array of invoice IDs to charge. Must contain at least one invoice ID.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CHECK_HANDLE_AVAILABILITYTool 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
Workspace handle to check for availability. Must be 1-50 characters, lowercase alphanumeric with hyphens and underscores only (pattern: ^\[a-z0-9-_\]+$)
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CREATE_ADMIN_INTEGRATIONTool 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
Indicates if the integration is a development integration. Dev integrations run locally.
URL of the integration for development integrations.
JavaScript code of the integration containing the integration logic.
Base64 encoded SVG of the integration icon. This icon is global to the integration; each version will be updated when this changes.
Name of the integration (max 200 characters). Typically in the format 'namespace/integration-name'.
User object configuration with creation settings and tags.
Title of the integration displayed in the UI (1-64 characters).
Event definitions with schema for custom integration events.
List of layer names for the integration.
\[DEPRECATED\] Indicates whether the integration is public. Please use the 'visibility' parameter instead.
Base64 encoded markdown of the integration readme. The readme is specific to each integration version.
State definitions with type and schema.
Action definitions for the integration. Each action must have input and output schemas.
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 of the integration (max 200 characters). Use semantic versioning format.
Channel definitions with messages schema.
Entity definitions with schema.
Optional attributes for the integration. Each value limited to 200 characters.
Global identifier configuration with extractScript and fallbackHandlerScript (max 2000 characters each).
Interface definitions with id, actions, channels, entities, and events.
Integration visibility options.
Description of the integration displayed in the UI (max 256 characters).
Default configuration definition of the integration with description, identifier, schema, and title properties.
Additional configuration definitions of the integration.
Workspace ID where the integration will be created. This is passed as a header.
**EXPERIMENTAL** Extra integration operations that should be sent or not to the integration instances. The key is the operation name.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CREATE_ADMIN_WORKSPACETool 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
Name of the workspace to create. This will be the display name for the workspace.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CREATE_BOTTool 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
Indicates if this is a development bot. Set to true for local development bots.
URL for development bot webhooks. Only applicable when dev=true.
JavaScript code containing the bot's custom logic and behavior.
Name identifier for the bot. If not provided, the API will auto-generate a unique name. Must be unique within the workspace.
Custom key-value metadata tags for the bot. Each value limited to 500 characters.
User tag definitions for metadata on user objects.
Event definitions with title, description, and schema for custom bot events.
Array of media files. Each item must have 'url' and 'name' properties.
Conversation/user/bot/task state definitions with schema validation and expiry settings.
Custom action definitions with input/output schemas for bot actions.
Message tag definitions for metadata on message objects.
Conversation tag definitions for metadata on conversation objects.
Bot configuration object with 'data' and 'schema' properties for validation rules.
Event subscription configuration. Set to null to subscribe to all events.
Scheduled events configuration using cron expressions with type and payload.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_CREATE_CONVERSATIONTool 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
Optional custom identifier for the conversation. If not provided, one will be auto-generated.
Tags for the conversation. Required tags depend on the specific integration. Provide as a dictionary of key-value pairs.
UUID of the bot to create the conversation for. This is passed as the x-bot-id header.
Channel name as defined in the integration. For chat integration, use 'channel'. This must match a channel defined in the specific integration being used.
Integration identifier (UUID). Either integration_id or integration_alias must be provided. This is passed as the x-integration-id header.
Integration alias. Either integration_id or integration_alias must be provided. This is passed as the x-integration-alias header.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_DELETE_ADMIN_WORKSPACETool 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
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_DELETE_FILEPermanently 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
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.
The UUID of the bot that owns the file. Required for authentication. Can be obtained from the list bots or workspace APIs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_DELETE_INTEGRATION_SHAREABLE_IDTool 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
UUID of the bot that has the integration installed. Can be obtained from list bots or workspace APIs.
Integration Version ID identifying the installed integration. Starts with 'intver_' prefix (e.g., 'intver_01KBFTKJ7841MVQTYFRT623SP5'). Required unless integrationInstanceAlias is provided.
Workspace ID where the bot is located. Required for authentication. Can be obtained from list workspaces API.
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.
Integration instance alias. If provided, integrationId is ignored and the operation targets the integration instance with this alias.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_DELETE_KNOWLEDGE_BASEPermanently 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
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.
The UUID of the bot that owns the knowledge base. Required for authentication. Can be obtained from the list bots or workspace APIs.
User Id. Optional header parameter for user-scoped operations.
User Role. Optional header parameter for role-based access control.
Integration id. Optional header parameter for integration-scoped operations.
Integration name. Optional header parameter for identifying the integration.
Integration alias. Optional header parameter as an alternative to integration_id.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_ACCOUNTTool to get details of the authenticated account. Use after confirming valid credentials.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_ACCOUNT_PREFERENCETool to get a preference of the account. Use when you need to retrieve a specific account preference value by its key.
Input parameters
Preference key to retrieve. Must be a valid preference key that exists in the account.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_ALL_WORKSPACE_QUOTA_COMPLETIONTool 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
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_DEREFERENCED_PUBLIC_PLUGIN_BY_IDTool 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
Plugin ID. Plugin IDs start with 'plugver_' prefix (e.g., 'plugver_01KC4E6R93D99R34HBP2BADG5Z').
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'}
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_INTEGRATIONTool 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
Integration name. Format: 'namespace/integration-name' (e.g., 'composio-test/my-integration'). The namespace is typically the workspace or user handle.
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.
Workspace ID to use for the request. Required for authentication. Format: 'wkspace_' followed by alphanumeric characters.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_INTEGRATIONTool 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
Integration name. This is the unique identifier for the integration in the Botpress hub.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_INTEGRATION_BY_IDTool 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
Integration Version ID to retrieve. Must be between 28-36 characters.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_INTERFACETool 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
Interface name to retrieve
Interface version. Either a semver version, semver version range, or the constant string 'latest'
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_INTERFACE_BY_IDTool 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
Interface ID to retrieve
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_PLUGINTool 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
Plugin Name to retrieve from Botpress Hub.
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.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_PLUGIN_BY_IDTool 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
Plugin ID. Plugin IDs start with 'plugver_' prefix (e.g., 'plugver_01KCA036HEMXKNMPKZZ6H9HVN9'). Can be obtained from the list public plugins API.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_PUBLIC_PLUGIN_CODETool 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
Plugin id. This is the unique identifier for the plugin version.
Platform for which to retrieve the plugin code. Must be either 'node' or 'browser'.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_TABLE_ROWTool 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
Identifier of the row within the table.
Bot id. This is passed as the x-bot-id header.
The table's name or unique identifier for targeting specific table operations.
User Id. This is passed as the x-user-id header.
User Role. This is passed as the x-user-role header.
Integration id. This is passed as the x-integration-id header.
Integration name. This is passed as the x-integration-name header.
Integration alias. This is passed as the x-integration-alias header.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_UPCOMING_INVOICETool to get the upcoming invoice for a workspace. Use this to preview upcoming charges before they are billed.
Input parameters
Workspace ID to retrieve the upcoming invoice for. Use ListWorkspaces to find available workspace IDs.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_WORKSPACETool 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
Workspace ID to retrieve. This is the unique identifier for the workspace.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_GET_WORKSPACE_QUOTATool 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
Workspace ID to get quota information for
Usage type to get quota for
Period to get quota for (e.g., 'monthly', 'daily'). If not provided, returns the default period.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_ACTION_RUNSTool 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
Unique identifier (UUID) of the bot to list action runs for. Obtain this from a list bots operation.
Pagination token from previous response. Provide the meta.nextToken value from the last API response to retrieve the next page of results.
Start timestamp (inclusive) to filter action runs. Format: ISO 8601 timestamp.
End timestamp (inclusive) to filter action runs. Format: ISO 8601 timestamp.
Workspace ID header. Required for authentication and authorization.
Name of the integration to filter action runs by. Required parameter.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_BOT_ISSUESTool 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
Unique identifier (UUID) of the bot to list issues for. Obtain this from a list bots operation.
Pagination token from previous response to retrieve the next page of results
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_CONVERSATIONSTool to list all Conversations. Use when you need to retrieve and page through chat threads.
Input parameters
Filter conversations by tags. Provide a dictionary of tag key-value pairs where both keys and values are strings.
UUID of the bot to list conversations for. This is passed as the x-bot-id header.
Filter by channel name.
Pagination token from previous response to retrieve the next page of results.
Field to sort conversations by.
Sort order direction: asc or desc.
Filter conversations by participant IDs. Returns conversations that include these participants.
Filter by integration name.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_FILE_TAGSTool 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
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.
Pagination token from a previous response's meta.nextToken field to retrieve the next page of tags. Leave empty for the first request.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_FILE_TAG_VALUESTool to list all values for a given file tag across all files. Use after determining the tag name; supports pagination via nextToken.
Input parameters
The tag name to retrieve values for. Use LIST_FILE_TAGS to discover available tags first.
UUID of the bot whose file tag values should be listed. This is passed as the x-bot-id header.
Pagination token from a previous response's meta.nextToken to retrieve the next page of values.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_HUB_INTEGRATIONSTool 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
Filter by integration name (exact match).
Maximum number of results to return per page.
Search integrations by name, description, actions, and interfaces. Responses include a matchedOn field indicating which fields matched the search.
Sort field options for integrations.
Integration version. Either a semver version (e.g., "1.0.0") or the tag "latest".
Sort direction options.
Provide the meta.nextToken value from the last API response to retrieve the next page of results.
Filter integrations by implemented interface ID.
Filter integrations by implemented interface name (strict match).
Bot ID. Required when filtering for installed integrations.
Verification status values for integrations.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_INTEGRATION_API_KEYSTool 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
ID of the integration to list API keys for. Must be a valid integration version identifier (e.g., 'intver_01KH9P8S2B4FWPB9TWA50YJ95M').
Workspace ID to operate within. This is sent as the x-workspace-id header.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_INTEGRATIONSTool 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
If true, only dev integrations are returned. Otherwise, only production integrations are returned.
Filter by integration name (exact match).
Maximum number of results to return per page.
Search integrations by name, description, actions, and interfaces. Responses include a matchedOn field indicating which fields matched the search.
Sort field options for integrations.
Integration version. Either a semver version (e.g., "1.0.0") or the tag "latest".
Sort direction options.
Provide the meta.nextToken value from the last API response to retrieve the next page of results.
Visibility options for integrations.
Filter integrations by implemented interface ID.
Filter integrations by implemented interface name (strict match).
Workspace ID. Required for authentication. Format: 'wkspace_' followed by alphanumeric characters.
Bot ID. Required when filtering for installed integrations.
Verification status values for integrations.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_KNOWLEDGE_BASESTool 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
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.
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.
User Id. Sent as x-user-id header.
User Role. Sent as x-user-role header.
Provide the meta.nextToken value provided in the last API response to retrieve the next page of results. Leave empty for the first request.
Integration id. Sent as x-integration-id header.
Integration name. Sent as x-integration-name header.
Integration alias. Sent as x-integration-alias header.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_PLUGINSTool to list Botpress plugins. Use to discover available plugins, filter by name or version, or page through all plugins in a workspace.
Input parameters
Filter all versions of a plugin by name.
Filter a plugin by name and version. Must be used together with the name parameter.
Provide the meta.nextToken value provided in the last API response to retrieve the next page of results.
Workspace ID. This is passed as the x-workspace-id header.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_PUBLIC_INTERFACESTool to retrieve a list of public interfaces available in the Botpress Hub. Use when browsing available interfaces to integrate with bots.
Input parameters
Filter all versions of an interface by name.
Filter an interface by name and version.
Provide the `meta.nextToken` value provided in the last API response to retrieve the next page of results.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_PUBLIC_PLUGINSTool 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
Filter all versions of a plugin by name.
Filter a plugin by name and version. Requires the name parameter to be set as well.
Provide the meta.nextToken value from the last API response to retrieve the next page of results.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_PUBLIC_WORKSPACESTool to retrieve a list of public workspaces. Use when browsing publicly available workspaces before selection.
Input parameters
Filter workspaces by search string.
Pagination token from previous response meta.nextToken.
Filter by list of workspace IDs.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_USAGE_HISTORYTool 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
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 of usage metric to retrieve history for. Determines what kind of usage data is returned.
Workspace ID for authentication and authorization context. Required for all admin API calls.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_WORKSPACE_INVOICESTool 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
Workspace ID to list invoices for. This is a unique identifier for the workspace.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_LIST_WORKSPACESList 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
Filter workspaces by exact handle. If not provided, returns all workspaces for the authenticated user. Must not be empty if provided.
Token for pagination. Use the value from meta.nextToken in a previous response to retrieve the next page of results.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_REQUEST_INTEGRATION_VERIFICATIONTool 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
Unique identifier of the integration to request verification for. Must be a valid integration ID.
Workspace ID where the integration belongs. This is passed as a header.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_RUN_VRLTool 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
Input data object to be processed by the VRL script. This data is accessible within the script as '.' (dot notation).
VRL (Vector Remap Language) script to execute. The script processes the input data and transforms it according to VRL syntax.
Workspace ID. Required for VRL script execution.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_SEND_MESSAGETool 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
Key-value pairs for message categorization. Keys are limited to 500 characters.
Message resource type (max 200 characters). Typically 'text' for text messages.
UUID of the bot to send the message for. This is passed as the x-bot-id header.
Message origin. Only 'synthetic' is supported as a value.
Unique identifier of the user sending or receiving the message (28-36 characters). Must be obtained from getOrCreateUser endpoint.
Message content object. For text messages, use {'text': 'your message'}. Supports Text, Image, Choice, Dropdown, Card, Carousel, File, Audio, Video, Location.
Configuration for scheduling message delivery.
Unique identifier of the conversation (28-36 characters). Must be obtained from getOrCreateConversation or list conversations endpoints.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_SET_ACCOUNT_PREFERENCETool to set a preference for the account. Use when you need to create or update a specific account preference by its key.
Input parameters
Preference key to set. The key identifies the preference to create or update in the account.
The value to set for the preference. Can be a string, number, boolean, null, object with string/number/boolean values, or array of primitives.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_SET_WORKSPACE_PREFERENCETool 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
Preference key to set. This identifies the preference to be stored in the workspace.
The value to set for the preference. Can be of any type (string, number, boolean, object, array, or null).
The workspace ID for which to set the preference. Can be obtained by calling GET /v1/admin/workspaces endpoint.
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_UPDATE_ACCOUNTTool to update details of the authenticated account. Use when you need to change the display name, profile picture, or refresh account data.
Input parameters
Whether to refresh the account data
Display name of the account (max 100 characters)
URL to the profile picture
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_UPDATE_ADMIN_BOTSTool 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
Unique identifier of the bot to update. Must be a valid bot ID from your workspace.
Update whether this is a development bot. Development bots run locally and can install dev integrations.
Updated URL for development bot webhooks. Only applicable when dev=true.
Updated JavaScript code containing the bot's custom logic and behavior.
Updated name for the bot. Must be at least 1 character if provided.
Updated custom key-value metadata tags for the bot. Each value limited to 500 characters. Replaces existing tags.
Updated user tag definitions for metadata on user objects.
Updated event definitions with title, description, and schema for custom bot events.
Updated list of layer identifiers for the bot.
Updated array of media files. Each item must have 'url' and 'name' properties.
Updated conversation/user/bot/task state definitions with schema validation and expiry settings.
Updated custom action definitions with input/output schemas for bot actions.
Update whether the bot is blocked from operating.
Updated message tag definitions for metadata on message objects.
Updated plugin configurations. A mapping of plugin aliases to their configuration.
Update whether the bot should be in always alive mode (stays active continuously).
Updated conversation tag definitions for metadata on conversation objects.
Updated integration configurations keyed by integration ID or alias.
Updated bot configuration object with 'data' and 'schema' properties for validation rules.
Updated event subscription configuration. Set to null to subscribe to all events.
Type of bot authentication. Currently only 'iam' is supported.
Workspace ID where the bot belongs. If not provided, the first accessible workspace will be used automatically.
Updated scheduled events configuration using cron expressions with type and payload.
Updated maximum execution time in seconds for bot operations.
UNUSED field - will be removed in future. Please ignore.
Set to 'true' to receive integration instances keyed by alias instead of ID. This header will be removed in the future.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_UPDATE_ADMIN_WORKSPACETool 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
Workspace ID to update. Must be a valid workspace identifier accessible to the authenticated user.
Workspace name. Must be between 1 and 64 characters.
Description of the workspace. Provides context about the workspace's purpose or team.
Workspace handle (URL-friendly identifier). Must be 1-64 characters, start and end with alphanumeric, contain only lowercase letters, numbers, hyphens, and underscores.
Website URL associated with the workspace.
Whether the workspace should be publicly visible. Set to true to make it discoverable.
Contact email address for the workspace.
Monthly spending limit in dollars. Must be between 5 and 1000.
URL to the workspace's profile picture or logo.
List of social media account URLs (maximum 5 items).
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
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_UPDATE_WORKFLOWTool 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
Unique identifier of the workflow to update (28-36 characters).
Key-value pairs for workflow categorization. Individual keys can be unset by providing empty values. Each value is limited to 500 characters.
UUID of the bot that owns the workflow. This is passed as the x-bot-id header.
Data returned by the workflow output. Can contain arbitrary JSON structure.
Valid workflow status values.
Specific user ID related to this workflow (28-36 characters).
Event ID must be specified if the workflow is updated with status 'in_progress'.
The timeout date when the workflow should fail, in ISO 8601 format.
Reason why the workflow failed. Use when status is set to 'failed'.
Optional integration ID. This is passed as the x-integration-id header.
Optional integration alias. This is passed as the x-integration-alias header.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
BOTPRESS_VALIDATE_INTEGRATION_UPDATETool 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
Integration Version ID to validate update for (e.g., intver_01KH9P8S2B4FWPB9TWA50YJ95M)
URL of the integration
JavaScript code of the integration
Base64 encoded SVG of the integration icon. This icon is global to the integration and will update all versions.
User configuration for an integration.
Title of the integration displayed in the UI (max 64 characters, min 1 character)
Event definitions with schemas. Set to null to remove specific events.
Array of layer IDs for the integration
\[DEPRECATED\] Use visibility parameter instead. Indicates whether the integration is public.
Base64 encoded markdown of the integration readme. The readme is specific to this integration version.
State definitions with type and schema. Set to null to remove specific states.
Action definitions with input/output schemas. Set to null to remove specific actions.
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.
Channel definitions with message schemas. Set to null to remove specific channels.
Entity definitions with schemas. Set to null to remove specific entities.
Optional attributes with max 200 characters per value. Set to null to remove specific attributes.
Identifier configuration for an integration.
Interface definitions with ID and optional actions/channels/entities/events. Set to null to remove specific interfaces.
Enum for integration visibility options.
Description of the integration displayed in the UI (max 256 characters)
Configuration definition for an integration.
Additional configuration definitions of the integration. Set to null to remove specific configurations.
Workspace ID where the integration is located (e.g., wkspace_01K0B50V5WQHDN1J3YBJJF5TZ8)
\[EXPERIMENTAL\] Extra integration operations configuration. The key is the operation name.
Maximum execution time of the integration in seconds
Whether the client supports multiple instances of the same integration. Set to "true" to receive integration instances keyed by alias instead of id.
Output
Data from the action execution
Error if any occurred during the execution of the action
Whether or not the action execution was successful or not
No publicly available marketplace agent is found using this tool yet. There are 90 agents privately built on Nagent that already use Botpress.
Build on Nagent
Connect Botpress to any Nagent agent in minutes — no API key management, no boilerplate. Just configure and deploy.
The five questions agent builders ask before adopting a new integration.
Open the External Integrations panel inside Nagent (app.nagent.ai/externalIntegration), find Botpress, and click "Connect Now." You'll authenticate with an API key — Nagent handles credential storage and refresh automatically. Once connected, Botpress is available to any agent in your workspace.
No. Nagent provides no-code integration for every tool. Once Botpress is connected, you configure its 53 actions directly in the agent builder UI — no API calls, no boilerplate, no schema management.
Helix — Nagent's agentic agent builder — lets you drop Botpress steps into any workflow visually. Pick an action (e.g., one of those listed above), fill in the inputs (Helix knows the required vs. optional schema for each parameter), and connect it to upstream/downstream steps. Triggers run as the entry point of an agent, so when a Botpress event fires, the agent kicks off automatically.
Every Botpress action and trigger ships with a fully-typed schema — input parameters with name, type, required flag, and description, plus the output payload shape. The schemas are documented in the sections above. Helix uses these schemas to validate your configuration at build time and to type-check the data flowing between steps.
Yes. While Botpress ships with 53 pre-built ai chatbots actions, you can layer custom logic around them inside Helix — pre/post-processing steps, conditional branches, retries, or stitching Botpress together with other connected tools. For deeper customization, talk to our team about Nagent's Agentic AI Lab — forward-deployed engineers who build Botpress-based workflows tailored to your business.