CLI reference

All commands and flags available with the Botpress CLI.

Global flags

These flags are available for all commands:

FlagAliasDescription
--verbose-vEnable verbose logging
--confirm-yConfirm all prompts
--jsonOutput raw JSON to stdout (useful for piping)
--botpress-homePath to Botpress home directory
--profile-pCLI profile from $BP_BOTPRESS_HOME/profiles.json

Commands

login

Login to Botpress Cloud.

Usage:

bp login --token your-token --workspace-id your-workspace-id

Flags:

FlagDescriptionDefault
--tokenPersonal Access Token
--workspace-idWorkspace ID
--api-urlBotpress server URLhttps://api.botpress.cloud

logout

Logout of Botpress Cloud.

Usage:


init

Initialize a new project.

Usage:

bp init --type bot --name my-bot
bp init --type integration --template webhook-message

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--typeProject type: bot, integration, or plugin
--templateTemplate to use
--nameName of the project

generate

Generate typings for IntelliSense. Alias: gen

Usage:

bp gen --work-dir ./my-project

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory

build

Generate typings and bundle a project.

Usage:

bp build --work-dir ./my-project --minify false

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--source-mapGenerate sourcemapsfalse
--minifyMinify the bundled codetrue

bundle

Bundle a Botpress project.

Usage:

bp bundle --work-dir ./my-project --source-map

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--source-mapGenerate sourcemapsfalse
--minifyMinify the bundled codetrue

serve

Serve your project locally.

Usage:

bp serve --port 8080 --secrets SECRET1=value1 SECRET2=value2

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--portPort to use
--secretsValues for bot and integration secrets (array)

dev

Run your project in dev mode.

Usage:

bp dev --port 3000 --secrets API_KEY=secret123

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--secretsValues for bot and integration secrets (array)
--source-mapGenerate sourcemapsfalse
--minifyMinify the bundled codetrue
--portPort to use
--tunnel-urlTunnel HTTP URL to use

deploy

Deploy your project to the cloud.

Usage:

bp deploy --bot-id my-bot-id --visibility public
bp deploy --create-new-bot --no-build

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--secretsValues for bot and integration secrets (array)
--bot-idBot ID to deploy (only for bots)
--no-buildSkip the build stepfalse
--dry-runAsk API not to perform actual operationfalse
--create-new-botCreate new bot when deploying (only for bots)false
--source-mapGenerate sourcemapsfalse
--minifyMinify the bundled codetrue
--visibilityProject visibility: public, private, or unlistedprivate
--allow-deprecatedAllow deprecated featuresfalse

add

Install a package (integration or interface).

Usage:

bp add teams@0.2.0
bp add llm --package-type interface
bp add knowledge --use-dev

Arguments:

ArgumentDescription
packageRefPackage ID or name with optional version (e.g., teams@0.2.0)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--package-typePackage type: integration, interface, or plugin
--install-pathPath where to install the package
--use-devUse dev version if foundfalse

read

Read and parse an integration definition.

Usage:

bp read --work-dir ./my-integration

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory

lint

Lint an integration definition (experimental).

Usage:

bp lint --work-dir ./my-integration

Flags:

FlagDescriptionDefault
--work-dirPath to the projectcurrent directory

chat

Chat with a bot directly from CLI (experimental).

Usage:

bp chat my-bot-id --chat-api-url https://chat.example.com

Arguments:

ArgumentDescription
botIdBot ID to chat with

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--chat-api-urlChat server URL

bots

Bot related commands.

create

Create a new bot. Alias: new

Usage:

bp bots new --name my-bot --if-not-exists

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--nameName of the bot to create
--if-not-existsDo not create if bot with same name existsfalse

list

List bots. Alias: ls

Usage:

bp bots ls --dev

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--devList only dev botsfalse

get

Get bot details.

Usage:

Arguments:

ArgumentDescription
botRefBot ID (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

delete

Delete a bot. Alias: rm

Usage:

bp bots rm my-bot-id

Arguments:

ArgumentDescription
botRefBot ID (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

integrations

Integration related commands.

list

List integrations. Alias: ls

Usage:

bp integrations ls --name teams --dev

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--nameName filter
--version-numberVersion filter
--devList only dev integrationsfalse

get

Get integration details.

Usage:

bp integrations get teams@0.2.0
bp integrations get my-integration-id

Arguments:

ArgumentDescription
integrationRefIntegration ID or name with optional version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

delete

Delete an integration. Alias: rm

Usage:

bp integrations delete teams@0.2.0
bp integrations rm my-integration-id

Arguments:

ArgumentDescription
integrationRefIntegration ID or name with optional version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

interfaces

Interface related commands.

list

List interfaces. Alias: ls

Usage:

bp interfaces ls

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

get

Get interface details.

Usage:

bp interfaces get llm@5.1.0
bp interfaces get my-interface-id

Arguments:

ArgumentDescription
interfaceRefInterface ID or name with version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

delete

Delete an interface. Alias: rm

Usage:

bp interfaces delete llm@5.1.0
bp interfaces rm my-interface-id

Arguments:

ArgumentDescription
interfaceRefInterface ID or name with version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

plugins

Plugin related commands.

list

List plugins. Alias: ls

Usage:

bp plugins ls --name knowledge

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token
--nameName filter
--version-numberVersion filter

get

Get plugin details.

Usage:

bp plugins get knowledge@0.0.1
bp plugins get my-plugin-id

Arguments:

ArgumentDescription
pluginRefPlugin ID or name with version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

delete

Delete a plugin. Alias: rm

Usage:

bp plugins delete knowledge@0.0.1
bp plugins rm my-plugin-id

Arguments:

ArgumentDescription
pluginRefPlugin ID or name with version (required)

Flags:

FlagDescriptionDefault
--api-urlBotpress server URL
--workspace-idWorkspace ID
--tokenPersonal Access Token

profiles

CLI profile management commands.

list

List all available profiles. Alias: ls

Usage:

bp profiles ls

active

Get the profile properties you are currently using.

Usage:


use

Set the current profile.

Usage:

bp profiles use production

Arguments:

ArgumentDescription
profileToUseProfile name from $BP_BOTPRESS_HOME/profiles.json