Skip to main content
BuilderBot Hero Light

Build Powerful Chatbots in Minutes

BuildBot is a TypeScript framework that lets you build automated conversation flows agnostic to the WhatsApp provider. You can set up automated responses for frequently asked questions, receive and respond to messages automatically, and track interactions with customers. The framework provides an extensible architecture with triggers to expand functionalities limitlessly.

Quick Start

Get your first chatbot running in under 5 minutes

Installation Guide

Detailed setup instructions for all environments

Core Concepts

Learn about flows, providers, and databases

API Reference

Complete API documentation and examples

Key Features

Provider Agnostic

Works with Baileys, Meta, Twilio, WPPConnect, Telegram, and more. Switch providers without changing your code.

Flexible Database

Choose from MongoDB, MySQL, PostgreSQL, JSON files, or in-memory storage based on your needs.

Conversation Flows

Build complex conversation flows with keywords, answers, actions, and nested flows for dynamic interactions.

TypeScript First

Written in TypeScript with full type safety and JavaScript support for maximum flexibility.

HTTP Integration

Built-in HTTP server for webhooks, REST APIs, and external integrations.

State Management

Maintain conversation state, user data, and custom global state throughout interactions.

Supported Platforms

BuildBot supports multiple messaging platforms through its provider system:
  • WhatsApp: Baileys, Meta Business API, WPPConnect, Evolution API, Venom, Web WhatsApp
  • Social Media: Facebook Messenger, Instagram
  • SMS: Twilio, Sherpa
  • Others: Telegram, Email, GoHighLevel

Architecture Overview

BuildBot follows a modular architecture with three core components:
import { createBot, createProvider, createFlow } from '@builderbot/bot'
import { BaileysProvider } from '@builderbot/provider-baileys'
import { MemoryDB } from '@builderbot/bot'

// Define conversation flows
const welcomeFlow = createFlow([...])

// Choose your provider
const provider = createProvider(BaileysProvider)

// Select your database
const database = new MemoryDB()

// Create the bot instance
const bot = await createBot({
  flow: welcomeFlow,
  provider: provider,
  database: database
})

Flow System

Flows define your conversation logic using a declarative API:
  • addKeyword: Trigger flows based on user messages
  • addAnswer: Send responses with delays, media, and capture options
  • addAction: Execute custom logic and integrate external services

Provider Layer

Providers handle the communication with messaging platforms. You can switch providers without modifying your flow logic, making your bot portable across different platforms.

Database Layer

The database layer persists user data, conversation state, and custom information. Choose the storage solution that fits your scale and requirements.

Community and Support

Join thousands of developers building with BuildBot:

Discord Community

Get help, share projects, and connect with other developers

Follow on X

Stay updated with the latest features and announcements

Open Source

BuildBot is open source and available on GitHub. Contributions are welcome!
Ready to build? Start with our Quick Start Guide to create your first chatbot in minutes.

Build docs developers (and LLMs) love