gitwtfhub

wtf is botkit?

howdyai/botkit — explained in plain English

Analysis updated 2026-06-24

11,579TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TL;DR

An open-source TypeScript library for building chat bots that work across Slack, Facebook Messenger, Google Hangouts, Webex Teams, and Twilio SMS from a single codebase, using swappable platform adapters.

Mindmap

mindmap
  root((botkit))
    What it does
      Multi platform bots
      Conversation flows
      Swappable adapters
    Tech stack
      TypeScript
      Node js
      Bot Framework
      Lerna monorepo
    Use cases
      Slack bots
      Messenger bots
      SMS automation
    Audience
      Bot developers
      Node js devs
      Enterprise teams

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Build a Slack bot that handles customer support questions and deploy it to multiple messaging platforms without rewriting the core logic.

REASON 2

Create a Facebook Messenger bot with branching conversation flows using Botkit's conversation API.

REASON 3

Scaffold a new bot project in seconds using the Yeoman generator, then swap adapters to target a different platform.

What's in the stack?

TypeScriptNode.jsMicrosoft Bot FrameworkLernaYeoman

How it stacks up

howdyai/botkitactions/starter-workflowsaisouler/gkd_subscription
Stars11,57911,57911,583
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasyeasy
Complexity3/51/51/5
Audiencedeveloperdevelopergeneral

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires Lerna to link monorepo packages and platform-specific API credentials for each messaging service you connect.

MIT license, use, copy, modify, and distribute freely in any project, including commercial ones, with attribution.

Wtf does this do

Botkit is an open-source TypeScript library for building chat bots and conversational apps. It gives developers a consistent way to write bot logic once and connect it to multiple messaging platforms: Slack, Facebook Messenger, Google Hangouts, Webex Teams, Twilio SMS, or a custom web chat interface. Each platform is handled by a separate adapter package, so you swap the adapter to change where your bot runs without rewriting the core conversation logic. The library is part of the Microsoft Bot Framework, which is a broader set of tools for building bots and connecting them to the Azure Bot Service. Botkit sits on top of the Bot Framework SDK and extends it with a simpler API for defining conversation flows. This repository is a monorepo, meaning it contains several separate packages in one place. The core Botkit library is in one package. The platform adapters are separate packages (one per platform). There is also a Yeoman generator that scaffolds a new Botkit project for you, and a plugin for connecting to Botkit CMS (a content management system for managing bot scripts without code changes). To build the project locally, you install a tool called Lerna that manages the links between the packages inside the monorepo. You then run a build step that compiles the TypeScript source into JavaScript. The individual package READMEs and a documentation folder inside the repo cover how to configure each adapter, how to write conversation handlers, and how to deploy a bot. If you are looking to build a bot that needs to work across several chat platforms from a single codebase, Botkit provides that abstraction. It is released under the MIT license.

Yoink these prompts

Prompt 1
Using Botkit, write a Slack bot that listens for messages containing the word 'help' and replies with a list of available commands.
Prompt 2
How do I switch my Botkit bot from Slack to Facebook Messenger? Show me which adapter package to install and how to update the configuration.
Prompt 3
I want to build a Botkit bot with a web chat widget on my website. Which adapter do I use and how do I embed the chat interface?
Prompt 4
Write a Botkit conversation flow that asks a user their name, then their email, then confirms both before saving.

Frequently asked questions

wtf is botkit?

An open-source TypeScript library for building chat bots that work across Slack, Facebook Messenger, Google Hangouts, Webex Teams, and Twilio SMS from a single codebase, using swappable platform adapters.

What language is botkit written in?

Mainly TypeScript. The stack also includes TypeScript, Node.js, Microsoft Bot Framework.

What license does botkit use?

MIT license, use, copy, modify, and distribute freely in any project, including commercial ones, with attribution.

How hard is botkit to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is botkit for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.