Botpress is an open-source platform designed for developers to create, deploy, and manage AI-powered chatbots and LLM agents using OpenAI and other large language models. It provides a unified ecosystem of tools — including a CLI, SDK, and integration framework — that enable programmatic bot development without requiring proprietary platforms. Unlike traditional chatbot builders, Botpress emphasizes extensibility through integrations and allows developers to define bots as code using TypeScript. This makes it ideal for teams needing fine-grained control over conversational logic, custom API connections, and scalable agent workflows. Botpress targets developers, DevOps teams, and AI engineers who want to move beyond drag-and-drop interfaces and build robust, maintainable conversational applications with full code ownership.
What You Get
- Botpress CLI - A command-line tool to initialize, build, deploy, and manage bots, integrations, and plugins. Use
bp init to scaffold a new integration or bot project, and bp deploy to push it to your Botpress Cloud workspace.
- @botpress/sdk - A TypeScript SDK for building custom integrations that connect bots to external services like APIs, databases, or LLM providers. Define integration schemas in
integration.definition.ts and implement logic in src/index.ts.
- @botpress/client - Type-safe API clients to programmatically interact with Botpress Cloud endpoints, enabling automation of bot deployment, user management, and analytics retrieval.
- Open integrations - Pre-built and community-contributed integrations hosted in the /integrations directory, allowing seamless connections to platforms like Slack, Discord, WhatsApp, and OpenAI without custom code.
- Bots as Code - Ability to define entire chatbot logic in TypeScript files under /bots, bypassing the Studio UI for developers who prefer infrastructure-as-code workflows.
Common Use Cases
- Building a multi-channel customer support bot - A company uses Botpress CLI to create an integration with their CRM and OpenAI, then deploys a bot that handles inquiries across Slack, email, and web chat using the same codebase.
- Creating a LLM-powered internal knowledge assistant - A DevOps team builds a bot that queries their internal documentation database via a custom integration, using @botpress/sdk to parse and summarize responses with GPT-4 for employee use.
- Problem → Solution flow: Manual ticket routing → Automated AI triage - Teams manually classify support tickets. Botpress automates this by ingesting ticket text via webhook, using an LLM to classify intent, then routing to the right team with a single deploy command.
- Team/workflow scenario: Enterprise AI engineers managing 50+ bot instances - A large organization uses the CLI and SDK to version-control, test, and deploy bots across staging and production environments with CI/CD pipelines, replacing fragmented GUI-based tools.
Under The Hood
The project is a modular, bot-centric platform designed for building and managing chatbots and automation workflows. It emphasizes extensibility through a well-defined SDK and integration framework that supports diverse bot types and third-party connections.
Architecture
The system is structured around independent bot modules with clear separation of concerns and a service-oriented design.
- The architecture follows a modular pattern where each bot encapsulates specific functionality and interacts with external systems via defined integrations.
- Modules are organized to isolate command processing, API communication, and utility functions, enhancing reusability and maintainability.
- Design patterns such as service classes and component-based structures are consistently applied across the codebase.
- Inter-module communication is managed through SDK-based interfaces, ensuring a loosely coupled and scalable system.
Tech Stack
The project is built using TypeScript within a monorepo structure, leveraging Botpress tools and a wide range of integrations.
- Built primarily with TypeScript and powered by the Botpress SDK and CLI for bot development and deployment.
- Relies heavily on @botpress libraries, Botpress hub packages for Slack, GitHub, and Linear, and internal tools like genenv.
- Uses pnpm for workspace management, turbo.json for build orchestration, and Botpress CLI for development workflows.
- Testing is handled via vitest with linting managed through bp lint and ESLint configurations.
Code Quality
The codebase demonstrates a strong emphasis on testing and consistent error handling practices.
- A comprehensive testing strategy includes unit and integration tests covering various runtime scenarios and validation logic.
- Error handling is consistently implemented using try/catch blocks, particularly in integration and bot handler components.
- Shared patterns and tooling configurations help maintain code consistency across modules.
What Makes It Unique
The platform stands out through its extensible bot framework and deep integration capabilities.
- Modular bot components support custom handlers and services, enabling isolated and reusable automation logic.
- A unified integration framework simplifies connections to tools like Linear, Airtable, and Slack.
- Built-in HITL (Human-In-The-Loop) and sync features provide flexibility in human oversight and data handling.
- Strong use of TypeScript ensures type safety and configuration-driven bot definitions for improved developer experience.