---
title: Botpress API Integration on Truto
slug: botpress
category: Artificial Intelligence
canonical: "https://truto.one/integrations/detail/botpress/"
---

# Botpress API Integration on Truto



**Category:** Artificial Intelligence  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 198 tools for Botpress that AI agents can call directly.

- **create_a_botpress_helper_vrl** — Run a VRL (Vector Remap Language) script in Botpress. Returns the result of the script execution.
- **delete_a_botpress_admin_account_by_id** — Delete the Botpress account associated with the authenticated user. Returns: id, name, createdAt, updatedAt.
- **list_all_botpress_admin_accounts** — Retrieve the current authenticated account's profile, including email, display name, email verification status, and profile picture.
- **botpress_admin_accounts_bulk_update** — Update details of the Botpress account associated with the authenticated user. Returns: id, name, createdAt, updatedAt.
- **list_all_botpress_account_pats** — List Personal Access Tokens (PATs) for the authenticated Botpress account. Returns: id, createdAt, updatedAt.
- **create_a_botpress_account_pat** — Create a new Personal Access Token (PAT) in Botpress. Returns: id, createdAt, updatedAt.
- **delete_a_botpress_account_pat_by_id** — Delete a Personal Access Token (PAT) by id. Required: id. Returns an empty 204 response on success.
- **get_single_botpress_account_preference_by_id** — Get a Botpress account preference by its preference key. Returns the preference object including its key and value. Required: id.
- **create_a_botpress_account_preference** — Set a preference for a Botpress account by preference key. Returns the updated preference object including its key and value. Required: preference_id, value.
- **list_all_botpress_hub_integrations** — List public Botpress hub integrations with filtering, search, and sorting capabilities. Returns each integration with id, name, version, description, createdAt, updatedAt, installCount, verificationStatus, actions, and interfaces. When the search parameter is used, responses also include a matchedOn field indicating which fields matched.
- **get_single_botpress_hub_integration_by_id** — Get a single public Botpress hub integration by its integration version ID. Returns: id, name, version, description, createdAt, updatedAt, installCount, verificationStatus, matchedOn, actions, interfaces. Required: id.
- **botpress_hub_integrations_get_by_name** — Get a public Botpress hub integration by name and version. Returns: id, name, version, description, createdAt, updatedAt, installCount, verificationStatus, matchedOn, actions, interfaces. Required: name, version. The version accepts a semver version, semver range, or the constant string "latest".
- **list_all_botpress_hub_plugins** — List public plugins from the Botpress Hub, optionally filtered by name and/or version. Returns: id, name, version, createdAt, updatedAt.
- **get_single_botpress_hub_plugin_by_id** — Get a single public plugin from the Botpress Hub by id. Returns: id, name, version, createdAt, updatedAt. Required: id.
- **botpress_hub_plugins_get_by_name** — Get a public Botpress hub plugin by name and version. Returns: id, name, version, createdAt, updatedAt. Required: name, version. The version parameter accepts a semver version, a semver version range, or the constant string "latest".
- **list_all_botpress_plugin_dereferenceds** — Get a public Botpress Hub plugin by ID with all interface entity references resolved to the corresponding entities as extended by the backing integrations. Returns: id, name, version, createdAt, updatedAt. Required: plugin_id, interfaces.
- **botpress_plugin_dereferenceds_get_admin_plugin_dereferenced** — Get a private Botpress plugin by ID with all interface entity references resolved to the corresponding entities as extended by the backing integrations. Returns: id, name, version, createdAt, updatedAt. Required: plugin_id.
- **list_all_botpress_plugin_codes** — Get the public plugin code from the Botpress Hub for a specific platform (node or browser). Returns the plugin's bundled code for the requested platform. Required: plugin_id, platform.
- **botpress_plugin_codes_get_admin_plugin_code** — Get the compiled code for a Botpress workspace plugin for a specific platform (node or browser). Returns the plugin's bundled code for the requested platform. Required: plugin_id, platform.
- **list_all_botpress_hub_interfaces** — List public interfaces in Botpress. Returns: id, name, version, createdAt, updatedAt. Results can be filtered by interface name and version.
- **get_single_botpress_hub_interface_by_id** — Get a single public interface in Botpress by id. Returns: id, name, version, createdAt, updatedAt. Required: id.
- **botpress_hub_interfaces_get_by_name** — Get a public interface in Botpress by name and version. Returns: id, name, version, createdAt, updatedAt. Required: name, version. Version accepts a semver version, semver range, or 'latest'.
- **list_all_botpress_admin_bots** — List Botpress bots with optional filtering by environment and tags. Returns: id, name, createdAt, updatedAt, deployedAt. Results can be sorted by createdAt or updatedAt in ascending or descending order.
- **create_a_botpress_admin_bot** — Create a new bot in Botpress. Returns the created bot object including id, name, createdAt, updatedAt, and deployedAt. Required: name.
- **get_single_botpress_admin_bot_by_id** — Get a single Botpress bot by id. Returns the bot object including id, name, createdAt, updatedAt, and deployedAt. Required: id.
- **update_a_botpress_admin_bot_by_id** — Update a Botpress bot by id. Returns the updated bot object including id, name, createdAt, updatedAt, and deployedAt. Required: id.
- **delete_a_botpress_admin_bot_by_id** — Delete a Botpress bot by id. Returns an empty 204 response on success. Required: id.
- **botpress_admin_bots_get_logs** — Retrieve Botpress bot logs within a specified time range, with optional filters for level, user, workflow, conversation, and message content. Returns: level, message, timestamp, userId, workflowId, conversationId. Required: bot_id, timeStart.
- **create_a_botpress_bot_transfer** — Transfer a Botpress bot to another workspace. Returns the transferred bot object including id, name, createdAt, updatedAt, and deployedAt. Required: bot_id. Caller must be a Manager member of the bot's current workspace with bot-creation rights in the target workspace.
- **list_all_botpress_bot_webchats** — Get the webchat embed code or shareable URL for a Botpress bot. Returns: code, url. Required: bot_id, type. The type parameter selects the output format: preconfigured, configurable, and fullscreen return embed code; sharableUrl returns a URL.
- **list_all_botpress_bot_analytics** — Get bot analytics from Botpress for a specified date range. Returns the bot's analytics object containing performance metrics for the requested period. Required: bot_id, startDate, endDate.
- **list_all_botpress_bot_action_runs** — List action runs for a specific integration of a bot in Botpress. Returns: id, createdAt, status. Required: bot_id, integrationName.
- **list_all_botpress_bot_issues** — List bot issues for a specific Botpress bot. Returns issue records including id, createdAt, and updatedAt. Required: bot_id.
- **delete_a_botpress_bot_issue_by_id** — Delete a Botpress bot issue by id. Returns an empty 204 response on success. Required: bot_id, id.
- **botpress_bot_issues_events** — List events for a specific Botpress bot issue. Returns: id, createdAt. Required: bot_id, issue_id.
- **get_single_botpress_bot_issue_by_id** — Get a single Botpress bot issue by id. Returns: id, createdAt, updatedAt. Required: bot_id, id.
- **list_all_botpress_bot_versions** — List all saved versions for a specific Botpress bot. Returns: id. Required: bot_id.
- **create_a_botpress_bot_version** — Create a new saved version for a specific Botpress bot. Returns: id. Required: bot_id.
- **get_single_botpress_bot_version_by_id** — Get a specific bot version by id in Botpress. Returns: id, createdAt, updatedAt. Required: bot_id, id.
- **list_all_botpress_bot_bot_jsons** — Download the raw bot JSON for a Botpress bot, optionally for a specific version. Returns the raw bot JSON object with bot-specific configuration fields. Required: bot_id.
- **create_a_botpress_bot_publish_from_bot_json** — Deploy a bot in Botpress using a provided raw bot JSON payload. Returns the deployed bot object including id, name, createdAt, updatedAt, and deployedAt. Required: bot_id. The Admin API has a maximum payload size of 50 MB.
- **create_a_botpress_versions_deploy** — Deploy a version for a Botpress bot. Returns the deployed version object including id, createdAt, and updatedAt. Required: bot_id.
- **list_all_botpress_integration_shareable_ids** — List existing shareable IDs for an integration installed in a Botpress bot. The shareable ID is a human-readable identifier for the crossover of a bot and an integration version, used for the integrations channel sandbox feature. Returns: id, createdAt, updatedAt. Required: bot_id, integration_id.
- **create_a_botpress_integration_shareable_id** — Generate a shareable ID for an integration installed in a Botpress bot. The shareable ID is a human-readable identifier for the crossover of a bot and an integration version, used for the integrations channel sandbox feature. Returns: id. Required: bot_id, integration_id.
- **botpress_integration_shareable_ids_bulk_delete** — Delete a shareable ID for an integration installed in a Botpress bot. The shareable ID is a human-readable identifier for the crossover of a bot and an integration version, used for the integrations channel sandbox feature. Returns an empty 204 response on success. Required: bot_id, integration_id.
- **botpress_integration_sandboxed_conversations_bulk_delete** — Unlink all sandboxed conversations for an integration installed in a Botpress bot (EXPERIMENTAL). Returns an empty 204 response on success. Required: bot_id, integration_id. Optionally pass integration_instance_alias to target a specific integration instance by alias, in which case integration_id is ignored.
- **list_all_botpress_bots_baks** — List Bot Access Keys (BAKs) for a specific bot in Botpress. Returns: id, createdAt, updatedAt. Required: botId.
- **create_a_botpress_bots_bak** — Create a new Bot Access Key (BAK) in Botpress. Returns: id, createdAt, updatedAt.
- **delete_a_botpress_bots_bak_by_id** — Delete a Botpress Bot Api Key (BAK) by id. Returns: id. Required: id.
- **list_all_botpress_bot_allowlists** — Get the allowlist for a specific Botpress bot. Returns the bot's allowlist configuration. Required: bot_id.
- **botpress_bot_allowlists_bulk_update** — Update the bot allowlist for a specific Botpress bot, controlling which domains are permitted to embed the bot. Returns the updated allowlist as an array of allowed domain strings. Required: bot_id.
- **create_a_botpress_workspace_migrate_to_v_4** — Migrate a Botpress workspace from v3 to v4 billing. This is an internal admin endpoint not meant for public use; its request body and response shape are not publicly documented. Required: workspace_id.
- **list_all_botpress_billing_invoices** — List invoices billed to a Botpress workspace. Returns: id, createdAt, updatedAt. Required: workspace_id.
- **list_all_botpress_billing_upcoming_invoices** — Get the upcoming billing invoice for a Botpress workspace. Returns the upcoming invoice object with billing-specific fields defined upstream. Required: workspace_id.
- **create_a_botpress_invoices_charge_unpaid** — Charge unpaid invoices of a Botpress workspace. Required: workspace_id.
- **list_all_botpress_admin_workspaces** — List Botpress workspaces the user has access to, optionally filtered by handle. Returns: id, name, handle, createdAt, updatedAt.
- **create_a_botpress_admin_workspace** — Create a new Botpress workspace. Returns the created workspace object including id, name, createdAt, and updatedAt. Required: name.
- **get_single_botpress_admin_workspace_by_id** — Get a single Botpress workspace by id. Returns: id, name, handle, createdAt, updatedAt. Required: id.
- **update_a_botpress_admin_workspace_by_id** — Update a Botpress workspace by id. Returns the updated workspace object including id, name, createdAt, and updatedAt. Required: id.
- **delete_a_botpress_admin_workspace_by_id** — Delete a Botpress workspace by id. Returns an empty 204 response on success. Required: id.
- **list_all_botpress_workspace_publics** — Get public details of a Botpress workspace by workspace_id. Returns: id, name, handle, integrations, createdAt. Required: workspace_id.
- **list_all_botpress_workspace_usages** — List workspace usages in Botpress for a given usage type (e.g., invocation_calls, ai_spend, bot_count). Returns: id, type. Required: workspace_id, type.
- **list_all_botpress_usages_by_bots** — Break down Botpress workspace usage by bot for a given usage type and optional period. Returns: botId. Required: workspace_id, type.
- **list_all_botpress_usages_quota_completions** — List workspace quota completion rates for a user in Botpress. Returns a map of workspace IDs to their highest quota completion rate, where each key is a workspace ID string and each value is the completion rate number.
- **list_all_botpress_workspace_quotas** — Get a specific Botpress workspace quota by usage type. Returns: type, period. Required: workspace_id, type.
- **botpress_workspace_quotas_get_quotas** — List all Botpress workspace quotas for a specified workspace. Returns: type. Required: workspace_id.
- **botpress_workspaces_handle_availabilities_bulk_update** — Check whether a workspace handle is available in Botpress. Returns a boolean indicating whether the handle is available for use. Required: handle.
- **list_all_botpress_workspaces_publics** — List public workspaces in Botpress, optionally filtered by workspace IDs or a search query. Returns: id, handle, createdAt, updatedAt.
- **list_all_botpress_workspace_audit_records** — List audit records for a Botpress workspace, sorted from most recent to oldest. Returns: id, createdAt. Required: workspace_id.
- **get_single_botpress_workspaces_preference_by_id** — Get a workspace preference by id in Botpress. Returns: key, value. Required: id.
- **create_a_botpress_workspaces_preference** — Set a workspace preference in Botpress. Returns: key, value. Required: preference_id, value.
- **list_all_botpress_admin_workspace_members** — List all members in a Botpress workspace. Returns: id, createdAt, updatedAt.
- **create_a_botpress_admin_workspace_member** — Add a member to a Botpress workspace. Returns the created workspace member including id, createdAt, and updatedAt.
- **get_single_botpress_admin_workspace_member_by_id** — Get details of the currently authenticated Botpress workspace member. Returns: id, createdAt, updatedAt.
- **update_a_botpress_admin_workspace_member_by_id** — Update a Botpress workspace member by id. Returns the updated workspace member object including id, role, createdAt, and updatedAt. Required: id.
- **delete_a_botpress_admin_workspace_member_by_id** — Remove a Botpress workspace member by id. Returns the deleted workspace member object including id, role, createdAt, and updatedAt. Required: id.
- **list_all_botpress_integrations_iaks** — List Integration Api Keys (IAKs) for a specific Botpress integration. Returns: id, integrationId, createdAt, updatedAt. Required: integrationId.
- **create_a_botpress_integrations_iak** — Create a new Integration Api Key (IAK) in Botpress. Returns the created IAK object including its id, createdAt, and updatedAt.
- **delete_a_botpress_integrations_iak_by_id** — Delete an Integration Api Key (IAK) in Botpress by id. Returns the deleted IAK object including its id, createdAt, and updatedAt. Required: id.
- **list_all_botpress_admin_integrations** — List Botpress integrations with filtering and sorting. Returns: id, name, version, description, createdAt, updatedAt, installCount, verificationStatus, visibility, matchedOn, actions, interfaces. Supports search and filtering by interface, bot, and dev status.
- **create_a_botpress_admin_integration** — Create a new integration in Botpress. Returns the created integration with id, name, version, createdAt, updatedAt, and verificationStatus. Required: name, version.
- **get_single_botpress_admin_integration_by_id** — Get a single Botpress integration by id. Returns: id, name, version, description, createdAt, updatedAt, installCount, verificationStatus, visibility, matchedOn, actions, interfaces. Required: id.
- **update_a_botpress_admin_integration_by_id** — Update a Botpress integration by id. Returns the updated integration with id, name, version, createdAt, updatedAt, and verificationStatus. Required: id.
- **delete_a_botpress_admin_integration_by_id** — Delete a Botpress integration by id. Returns an empty 204 response on success. Required: id.
- **botpress_admin_integrations_get_by_name** — Get a Botpress integration by its name and version. Returns the integration object including id, name, version, description, createdAt, updatedAt, verificationStatus, visibility, installCount, interfaces, and actions. Required: name, version. Version accepts a semver version, a semver version range, or the constant string "latest".
- **botpress_admin_integrations_get_logs** — Get logs for a Botpress integration within a time range. Returns log entries with id, message, level, createdAt, userId, and conversationId. Required: integration_id, timeStart.
- **create_a_botpress_integrations_validate** — Validate an integration creation request in Botpress. Returns the validation result for the proposed integration creation payload. No caller-supplied query or path parameters required.
- **botpress_integration_validates_bulk_update** — Validate an integration update request in Botpress by submitting the proposed changes for validation without applying them. Returns the validation result for the proposed integration update. Required: id.
- **create_a_botpress_integrations_request_verification** — Request integration verification for a Botpress integration, submitting it for the Botpress review process via the Admin API. Returns a verification request response. No caller-supplied query or path parameters are required; authentication headers are handled automatically.
- **list_all_botpress_admin_interfaces** — List Botpress interfaces, optionally filtered by name and version. Returns: id, name, version, createdAt, updatedAt.
- **create_a_botpress_admin_interface** — Create a new Botpress interface. Returns: id, name, version, createdAt, updatedAt. Required: name, version.
- **get_single_botpress_admin_interface_by_id** — Get a single Botpress interface by id. Returns: id, name, version, createdAt, updatedAt. Required: id.
- **update_a_botpress_admin_interface_by_id** — Update a Botpress interface by id. Returns: id, name, version, createdAt, updatedAt. Required: id.
- **delete_a_botpress_admin_interface_by_id** — Delete a Botpress interface by id. Returns: id, name, version, createdAt, updatedAt. Required: id.
- **botpress_admin_interfaces_get_by_name** — Get a Botpress interface by its name and version. Returns: id, name, version, createdAt, updatedAt. Required: name, version. The version parameter accepts a semver version, a semver version range, or the constant string "latest".
- **list_all_botpress_admin_plugins** — List Botpress plugins in a workspace, optionally filtering by name and version. Returns: id, name, version, createdAt, updatedAt.
- **create_a_botpress_admin_plugin** — Create a new Botpress plugin in a workspace. Returns: id, name, createdAt, updatedAt. Required: name, version.
- **get_single_botpress_admin_plugin_by_id** — Get a single Botpress plugin by id. Returns the plugin object including its id, name, version, createdAt, and updatedAt. Required: id.
- **update_a_botpress_admin_plugin_by_id** — Update a Botpress plugin by id. Returns the updated plugin object including its id, name, createdAt, and updatedAt. Required: id.
- **delete_a_botpress_admin_plugin_by_id** — Delete a Botpress plugin by id. Returns an empty 204 response on success. Required: id.
- **botpress_admin_plugins_get_by_name** — Get a single Botpress plugin by name and version. Returns: id, name, version, createdAt, updatedAt. Required: name, version. The version accepts a semver version, a semver range, or "latest".
- **get_single_botpress_admin_usage_by_id** — Get a single Botpress usage record by id (bot or workspace ID, depending on type) for a specified usage type and optional period. Returns: type, id, period, createdAt, updatedAt. Required: id, type.
- **list_all_botpress_admin_usages** — List Botpress usage history for a resource (bot or workspace) by resource_id and usage type. Returns: type, id, period, createdAt, updatedAt. Required: resource_id, type.
- **botpress_admin_usages_activity** — List Botpress usage activity for a resource (bot or workspace) by resource_id and usage type, with the most recent activity listed first. Returns: type, id, timestamp, createdAt, updatedAt. Required: resource_id, type.
- **list_all_botpress_usages_multiples** — List multiple Botpress usages across several workspace or bot IDs in a single request. Returns: id, type, period. Required: types, ids. All requested types must belong to the same entity kind (workspace or bot).
- **list_all_botpress_usage_daily_activities** — List aggregate daily usage activity in Botpress for a given usage type and resource ID, with the most recent activity listed first. Returns daily activity records containing the date and aggregated usage count for the specified type. Required: resource_id, type.
- **botpress_quotas_ai_spends_bulk_update** — Update the AI Spend quota for a Botpress workspace. Returns the updated AI spend quota object reflecting the new configuration. The request body fields are defined in the upstream OpenAPI component `changeAISpendQuotaBody`.
- **list_all_botpress_admin_activities** — List activities of a Botpress task. Returns: id, createdAt, updatedAt. Required: bot_id, task_id.
- **create_a_botpress_admin_introspect** — Introspect the Botpress Admin API to retrieve its specification. Returns the introspected API specification with dynamic, schema-specific fields. No required parameters.
- **get_single_botpress_conversation_by_id** — Get a single Botpress conversation by id. Returns: id, createdAt, updatedAt. Required: id.
- **delete_a_botpress_conversation_by_id** — Permanently delete a Botpress conversation by id. Also immediately deletes corresponding messages; this cannot be undone. Returns: id, createdAt, updatedAt. Required: id.
- **list_all_botpress_conversations** — List Botpress conversations. Returns: id, createdAt, updatedAt.
- **create_a_botpress_conversation** — Create a new Botpress conversation. Returns: id, createdAt, updatedAt.
- **botpress_conversations_list_messages** — List messages in a Botpress conversation. Returns: id, createdAt. Required: conversation_id.
- **get_single_botpress_conversations_get_or_create_by_id** — Get or create a Botpress conversation by id. If a conversation with the given id already exists it is returned; otherwise a new one is created. Returns: id, createdAt, updatedAt. Required: id.
- **list_all_botpress_conversation_listens** — Open an SSE stream to receive real-time messages and events from a Botpress conversation. The response is a Server-Sent Events stream rather than a JSON body with enumerable fields. Required: conversation_id.
- **list_all_botpress_conversation_participants** — List participants in a Botpress conversation. Returns: id, name, pictureUrl, profile, createdAt, updatedAt. Required: conversation_id.
- **create_a_botpress_conversation_participant** — Add a participant to a Botpress conversation by user id. Returns: id, name, pictureUrl, profile, createdAt, updatedAt. Required: conversation_id, userId.
- **delete_a_botpress_conversation_participant_by_id** — Remove a participant from a Botpress conversation by id. Returns an empty 200 response with no data on success. Required: conversation_id, id.
- **get_single_botpress_conversation_participant_by_id** — Get a specific participant from a Botpress conversation by id. Returns: id, name, pictureUrl, profile, createdAt, updatedAt. Required: conversation_id, id.
- **get_single_botpress_message_by_id** — Get a single Botpress message by id. Returns: id, createdAt, payload, userId, conversationId. The payload field is a content-type-specific object whose shape is determined by a `type` discriminator (audio, card, carousel, choice, dropdown, file, image, location, markdown, text, video). Required: id.
- **delete_a_botpress_message_by_id** — Permanently delete a Botpress message by id; this action cannot be undone. Returns the deleted Message object including its id, createdAt, payload, userId, and conversationId. Required: id.
- **create_a_botpress_message** — Create a new message in Botpress by sending a typed payload to a conversation webhook. Supports payload types: text, markdown, image, audio, video, file, card, carousel, choice, dropdown, and location, each with type-specific required fields. Returns: id, createdAt. Required: webhook_url, payload.
- **get_single_botpress_users_get_or_create_by_id** — Get or create a Botpress chat user, returning the existing user if a match is found or creating a new one otherwise. Returns: id, name, pictureUrl, profile, createdAt, updatedAt. The profile field is limited to 1000 characters.
- **get_single_botpress_event_by_id** — Get a Botpress custom event by id. Returns: id, createdAt, payload, conversationId, userId. Required: id.
- **create_a_botpress_event** — Create a custom Botpress event. Returns: id, createdAt, payload, conversationId, userId. Required: payload, conversationId.
- **list_all_botpress_files** — List files uploaded to a Botpress bot with optional filtering and sorting. Returns: id, key, size, status, createdAt, updatedAt, tags, indexed. Supports sorting by key, size, createdAt, updatedAt, or status, and filtering by tags, IDs, and indexing state.
- **botpress_files_bulk_update** — Create or update a Botpress file using key as the unique identifier; updating erases existing content. Upload file content separately via a PUT request to the uploadUrl returned in the response. Returns: id, createdAt, updatedAt. Required: key.
- **get_single_botpress_file_by_id** — Get a Botpress file by its file ID or key. Returns the file object including id, key, size, status, createdAt, updatedAt, uploadUrl, and tags. Required: id.
- **update_a_botpress_file_by_id** — Update metadata for a Botpress file by id (File ID or Key) without modifying the file content. Returns the updated file object including id, key, size, status, createdAt, updatedAt, tags, and accessPolicies. Required: id.
- **delete_a_botpress_file_by_id** — Delete a file in Botpress by its file ID or key. Returns an empty response on success. Required: id.
- **create_a_botpress_file** — Copy a Botpress file to a new destination key, optionally to a different bot. Returns the copied file object including id, key, size, status, and createdAt. Required: id_or_key, destination_key. The destination_key must not already be in use in the destination bot.
- **botpress_files_search** — Search indexed Botpress files using natural language semantic search to retrieve matching text passages. Returns: content, score, context. Required: query. Maximum 50 results; query limited to 1 KB.
- **list_all_botpress_file_passages** — List indexed text passages for a Botpress file by file ID or key. Returns each passage with its content, context, breadcrumb, title, and subtitle. Required: file_id.
- **botpress_file_passages_bulk_update** — Set the indexed file passages for a Botpress file by id, replacing all existing passages asynchronously. Returns the passages array. Required: id. The endpoint returns immediately with the file status set to indexing_pending; indexing completes asynchronously, transitioning to indexing_completed or indexing_failed.
- **list_all_botpress_files_tags** — List available file tags in Botpress. Returns: name.
- **list_all_botpress_tag_values** — List all distinct values assigned to a specific file tag in Botpress. Returns a paginated collection of tag value strings. Required: tag.
- **list_all_botpress_files_knowledge_bases** — List knowledge bases for a bot in Botpress. Returns: id, name, tags, createdAt, updatedAt. Supports filtering by tags passed as a URL-encoded JSON object of key-value pairs.
- **create_a_botpress_files_knowledge_base** — Create a new knowledge base for grouping files in Botpress. Returns: id, name, tags, createdAt, updatedAt. Required: name.
- **update_a_botpress_files_knowledge_base_by_id** — Update an existing knowledge base in Botpress. Returns: id, name, tags, createdAt, updatedAt. Required: id.
- **delete_a_botpress_files_knowledge_base_by_id** — Delete a knowledge base in Botpress by id. Returns an empty 204 response on success. Required: id.
- **list_all_botpress_chat_conversations** — List Botpress conversations sorted by recency, with the most recent appearing first. Returns: id, createdAt, updatedAt. Filterable by tags, participant ids, integration name, channel, and creation date range; sortable by createdAt or updatedAt.
- **create_a_botpress_chat_conversation** — Create a new Botpress conversation. Returns: id, createdAt, updatedAt. Required: tags. The required tags depend on the specific integration; see the integration's documentation for details.
- **get_single_botpress_chat_conversation_by_id** — Get a single Botpress chat conversation by id. Returns: id, createdAt, updatedAt. Required: id.
- **update_a_botpress_chat_conversation_by_id** — Update a Botpress conversation by id, setting the values of the parameters passed; any parameters not provided are left unchanged. Returns: id, createdAt, updatedAt. Required: id.
- **delete_a_botpress_chat_conversation_by_id** — Permanently delete a Botpress chat conversation by id; this also immediately deletes all corresponding messages and cannot be undone. Returns: id, createdAt, updatedAt. Required: id.
- **list_all_botpress_chat_events** — List Botpress chat events sorted by most recent first. Returns: id, createdAt, payload, conversationId, userId. Filter by type, conversationId, userId, messageId, workflowId, or status.
- **create_a_botpress_chat_event** — Create a new Botpress chat event. Returns the created event including id, createdAt, payload, conversationId, and userId. Required: payload, conversationId.
- **get_single_botpress_chat_event_by_id** — Get a single Botpress chat event by id. Returns: id, createdAt, payload, conversationId, userId. Required: id.
- **delete_a_botpress_events_scheduled_by_id** — Cancel a scheduled Event in Botpress. The event must be in a `scheduled` state. Returns the cancelled event object including its id, createdAt, payload, conversationId, and userId. Required: id.
- **list_all_botpress_chat_messages** — List messages for a bot. Supports filtering by conversation, date range, and tags with cursor-based pagination.
- **create_a_botpress_chat_message** — Create a new message in a conversation. Supports all Botpress payload types (text, image, card, choice, etc.) and optional scheduled delivery.
- **get_single_botpress_chat_message_by_id** — Retrieve a single message by its ID, including payload, tags, direction, and metadata.
- **update_a_botpress_chat_message_by_id** — Update the tags or payload of an existing message. The message type field is immutable and cannot be changed.
- **delete_a_botpress_chat_message_by_id** — Permanently delete a message by its ID. This action is irreversible.
- **get_single_botpress_messages_get_or_create_by_id** — Retrieve an existing message matching the given discriminating tags, or create it if not found. If found, updates its tags and payload with the provided values.
- **create_a_botpress_chat_initialize_incoming_message** — Initialize an incoming message by atomically get-or-creating the user, conversation, and message in a single call. Used by integrations to register inbound messages from external channels before processing them through the bot.
- **create_a_botpress_messages_import_message** — Bulk import up to 100 messages into Botpress conversations in a single call. Each message uses discriminateByTags for idempotent deduplication, making it safe to re-run imports. Used to migrate or replay historical messages from an external channel.
- **list_all_botpress_chat_users** — List Botpress chat users sorted by most recent first. Returns: id, name, pictureUrl, profile, tags, attributes, createdAt, updatedAt. Filterable by conversation id, tags, and date range.
- **create_a_botpress_chat_user** — Create a new Botpress chat user. Returns: id, name, pictureUrl, profile, createdAt, updatedAt. Required tags vary by integration; see the specific integration for details.
- **get_single_botpress_chat_user_by_id** — Get a single Botpress chat user by id. Returns: id, name, pictureUrl, profile, tags, attributes, createdAt, updatedAt. Required: id.
- **update_a_botpress_chat_user_by_id** — Update a Botpress chat user by id. Any parameters not provided will be left unchanged. Returns: id, name, createdAt, updatedAt. Required: id.
- **delete_a_botpress_chat_user_by_id** — Permanently delete a Botpress chat user by id. This action cannot be undone. Returns: id, name, createdAt, updatedAt. Required: id.
- **create_a_botpress_expiry** — Update the expiry for a Botpress chat state. Returns the updated State object including type, id, name, expiresAt, createdAt, and updatedAt. Required: type, state_id, name.
- **list_all_botpress_chat_states** — Get a Botpress chat state by resource type, state_id, and name. Returns the State object including type, id, name, values, expiresAt, createdAt, and updatedAt. Required: type, state_id, name.
- **create_a_botpress_chat_state** — Override a Botpress chat state by setting new state values for a given resource type, state_id, and name. Returns the State object including type, id, name, createdAt, and updatedAt. Required: type, state_id, name.
- **botpress_chat_states_bulk_update** — Update a Botpress chat state by setting new state values for a given resource type, id, and name. Returns the State object including type, id, name, createdAt, and updatedAt. Required: type, id, name.
- **get_single_botpress_get_or_set_by_id** — Get or create a Botpress chat State by resource type, id, and name — returns the existing State, or creates a new one if it does not exist. Returns: type, id, name, value, expiresAt, createdAt, updatedAt. Required: type, name, id.
- **create_a_botpress_chat_action** — Call an action on a Botpress bot via the Chat API. Returns the action result with action-specific fields depending on which action was invoked.
- **create_a_botpress_integrations_configure** — Configure a Botpress integration by having it call this endpoint to configure itself. Returns the configuration object with integration-specific fields.
- **list_all_botpress_chat_workflows** — List Botpress chat workflows with the most recent appearing first. Returns: id, name, status, conversationId, userId, parentWorkflowId, tags, createdAt, updatedAt. Filterable by tags, conversationId, userId, parentWorkflowId, statuses, and name.
- **create_a_botpress_chat_workflow** — Create a new Botpress chat workflow. Returns: id, name, createdAt, updatedAt.
- **get_single_botpress_chat_workflow_by_id** — Get a single Botpress chat workflow by id. Returns: id, name, status, conversationId, userId, parentWorkflowId, tags, createdAt, updatedAt. Required: id.
- **update_a_botpress_chat_workflow_by_id** — Update a Botpress chat workflow by id, setting only the provided parameters; any not provided remain unchanged. Returns: id, name, createdAt, updatedAt. Required: id.
- **delete_a_botpress_chat_workflow_by_id** — Permanently delete a Botpress chat workflow by id. This action cannot be undone. Returns: id, name, createdAt, updatedAt. Required: id.
- **get_single_botpress_workflows_get_or_create_by_id** — Get an existing Botpress workflow by tags, or create a new one if no matching workflow is found. Returns: id, name, createdAt, updatedAt. Required: tags.
- **create_a_botpress_chat_analytic** — Add an event to Botpress chat analytics. Returns the analytics response object.
- **create_a_botpress_chat_observation** — Capture a bot runtime observation in Botpress. Returns the captured observation object. Does not support integration observations yet.
- **list_all_botpress_tables** — List all tables associated with your Botpress bot, optionally filtered by tags. Returns: id, name, schema, createdAt, updatedAt.
- **create_a_botpress_table** — Create a new Botpress table with a provided column schema, excluding system-managed fields like IDs and timestamps. Returns: id, name, schema, createdAt, updatedAt. Required: name, schema.
- **get_single_botpress_table_by_id** — Get a single Botpress table by id. Returns: id, name, schema, tags, createdAt, updatedAt. Required: id.
- **update_a_botpress_table_by_id** — Update the schema or name of an existing Botpress table. Returns: id, name, schema, createdAt, updatedAt. Required: id.
- **delete_a_botpress_table_by_id** — Delete a Botpress table by id, permanently removing the table and all its associated data. This action cannot be undone. Returns an empty 204 response on success. Required: id.
- **botpress_tables_duplicate** — Duplicate a Botpress table's schema and content by source table id, creating a new table with the same structure and data. Returns: id, name, createdAt, updatedAt. Required: source_table_id.
- **botpress_tables_get_or_create** — Get or create a Botpress table by table_id. If the table exists, retrieves its information; otherwise, creates a new table based on the provided schema in the request body. Returns: id, name, schema, tags, createdAt, updatedAt. Required: table_id, schema.
- **list_all_botpress_table_exports** — Starts an export job for the table. Required: table_id.
- **list_all_botpress_table_jobs** — List recent export and import jobs for a Botpress table. Returns: id, type, createdAt, updatedAt. Required: table_id.
- **create_a_botpress_table_import** — Import the content of a file into a Botpress table. The table must already exist with the correct schema; existing data in the table is preserved. Returns the import job result. Maximum payload size is 40 MB. Required: table_id, fileId.
- **botpress_table_columns_bulk_update** — Rename an existing column within a Botpress table to better reflect its content or usage. The request body must include the current column name and the new column name. Returns: id. Required: table_id, name, newName.
- **list_all_botpress_table_rows** — Get a specific Botpress table row by its integer id. Returns: id, createdAt, updatedAt, data. Required: table_id, id.
- **create_a_botpress_table_row** — Create one or more new rows in a Botpress table. Returns the created rows with id, createdAt, updatedAt, and table-schema-specific data fields. Required: table_id, rows.
- **botpress_table_rows_bulk_update** — Update specified rows in a Botpress table with partial success support and detailed error feedback. Returns the updated rows with id, createdAt, updatedAt, and table-schema-specific data fields. Required: table_id, rows.
- **create_a_botpress_rows_find** — Search and filter rows in a Botpress table based on specific criteria, supporting complex queries for advanced data retrieval. Returns matching rows with id and table-schema-specific data. Required: table_id.
- **delete_a_botpress_rows_delete_by_id** — Delete specific rows or clear all rows from a Botpress table. Returns the affected rows including id, createdAt, and updatedAt. Required: table_id.
- **create_a_botpress_rows_upsert** — Upsert rows in a Botpress table by key — existing rows matching the key are updated, otherwise new rows are created. Returns the upserted rows including id, createdAt, updatedAt, and table-specific column data. Required: table_id, rows.
- **create_a_botpress_bot_signing_secrets_rotate** — Rotate bot signing secrets in Botpress. Generates a new signing secret; existing secrets remain valid for 24 hours before being invalidated. Returns: id, createdAt, updatedAt. Required: bot_id.
- **create_a_botpress_integration_signing_secrets_rotate** — Rotate signing secrets for a Botpress integration, generating a new secret and invalidating old ones after 24 hours. Returns: id, createdAt, updatedAt. Required: integration_id.
- **list_all_botpress_chat_tag_values** — List Botpress chat tag values for a given tag key. Returns an array of tag value strings associated with the given tag key. Required: key, type.

## How it works

1. **Link your customer's Botpress account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Botpress.** The Proxy API is a 1-to-1 mapping of the Botpress API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Ship an auto-trained AI agent for your helpdesk or CRM** — Let customers connect their Botpress account and continuously sync your knowledge base articles, resolved tickets, and account data into Botpress Knowledge Bases and Tables. Their AI agent stays trained on the latest content without any manual uploads.
- **Provision white-labeled bots for every customer** — Vertical SaaS and agencies can programmatically spin up Botpress workspaces, deploy pre-configured bot templates from JSON, and seed them with customer-specific data on signup. Non-technical end users get a fully functional AI agent without ever touching Botpress directly.
- **Embed Botpress as a headless AI brain in your product** — Route messages from your own chat UI into Botpress's inference engine and stream replies back in real time. Your SaaS keeps full control of the frontend, channel, and identity layer while Botpress handles reasoning and workflow execution.
- **Surface Botpress analytics in your CS or RevOps dashboard** — Pull conversations, chat events, bot analytics, and action runs into your product to correlate AI drop-offs with human handoffs, escalations, or revenue outcomes. Give customer success leaders a single view of where their bots resolve versus where they fail.
- **Trigger Botpress actions from your workflows** — Let your customers configure their Botpress agents to call into your SaaS (or vice versa) mid-conversation — injecting authenticated user context via chat state so the bot can safely execute account-specific actions like refunds, upgrades, or ticket creation.

## What you can build

- **One-click Botpress account connection** — Let your users authenticate their Botpress workspace through Truto and immediately start syncing bots, tables, and conversations — no PAT handling on your side.
- **Continuous knowledge base sync** — Create and update Botpress Knowledge Bases and file passages from your platform so the customer's agent is always trained on current articles, docs, and resolved tickets.
- **Template-driven bot deployment** — Publish pre-built bots from a bot JSON into a newly provisioned workspace, giving customers an industry-specific agent live in minutes.
- **Structured RAG via Botpress Tables** — Push customer records, product catalogs, or entitlement data into Botpress Tables and upsert rows in bulk so the AI can run deterministic lookups during conversations.
- **Headless chat orchestration** — Initialize incoming messages, manage chat users and conversations, and subscribe to conversation listens for real-time AI replies inside your own product UI.
- **Unified bot analytics and audit views** — Aggregate bot analytics, chat events, action runs, usage quotas, and workspace audit records into reporting dashboards your customers already use.

## FAQs

### How do end users authenticate their Botpress account?

Botpress uses Personal Access Tokens (PATs) scoped to a workspace. Truto handles token storage, refresh flows where applicable, and workspace scoping so you never manage credentials yourself.

### Can I provision new Botpress workspaces and bots programmatically?

Yes. Truto exposes the Botpress Admin API, including workspace creation, workspace member management, admin bot creation, and publishing bots from a bot JSON — everything you need for automated, white-labeled onboarding.

### How do I keep a customer's knowledge base in sync?

You can create Knowledge Bases, upload files, bulk-update file passages, tag files, and run semantic file search through Truto. Trigger syncs on your own schedule or on content-change events in your app.

### Can I stream AI replies back into my own chat UI?

Yes. Use the chat endpoints to initialize incoming messages and listen on conversations for real-time events and AI responses, so your product can render replies natively while Botpress handles reasoning.

### How do I inject authenticated user context into a live conversation?

Use chat state operations to set variables (like account ID, plan, or entitlements) on an active session. Your bot's workflows can then branch on that state to execute gated or account-specific actions safely.

### What analytics and usage data can I pull for reporting?

Truto surfaces bot analytics, conversations, chat events, action runs, bot issues, workspace usage, quotas, and audit records — enough to build resolution dashboards, escalation reports, and billing/consumption views.

### Are there rate limits I should design around?

Botpress enforces per-workspace rate limits and usage quotas on AI computations and messages. Truto normalizes error responses and retry semantics, and you can query workspace quotas and usage endpoints to back off gracefully.

## Related reading

- [Connect Botpress to ChatGPT: Manage bots, workspaces, and analytics](https://truto.one/blog/connect-botpress-to-chatgpt-manage-bots-workspaces-and-analytics/) — Learn how to connect Botpress to ChatGPT using a managed MCP server. Automate bot analytics, workspace management, and message operations without custom code.
- [Connect Botpress to Claude: Search Knowledge Bases & Manage Tables](https://truto.one/blog/connect-botpress-to-claude-search-knowledge-bases-and-manage-tables/) — Learn how to connect Botpress to claude using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Botpress to AI Agents: Control conversations and workflows](https://truto.one/blog/connect-botpress-to-ai-agents-control-conversations-and-workflows/) — Learn how to connect Botpress to AI agents using Truto's tools endpoint to automate conversations, manage workspaces, and orchestrate support workflows.
