Looking for the chatbot template? It's now here.

Chat SDK is now open source and in beta

Chat SDK

A unified TypeScript SDK for building chat bots across Slack, Microsoft Teams, Google Chat, Discord, and more. Write your bot logic once, deploy everywhere.

Event-driven by design

See how your handlers respond to real-time chat events across any platform.

general
TypeScriptbot.ts
bot.onNewMention(async (thread) => { await thread.subscribe(); await thread.post("Sure! Here's a quick summary...");});
bot.onReaction(async (thread, reaction) => { await thread.post(`Thanks for the ${reaction.emoji}!`);});
bot.onSubscribedMessage(async (thread, msg) => { await thread.post("Checking now...");});

Multi-platform

Deploy to Slack, Teams, Google Chat, Discord, GitHub, and Linear from a single codebase.

Type-safe

Full TypeScript support with type-safe adapters, event handlers, and JSX cards.

AI streaming

First-class support for streaming LLM responses with native platform rendering.

Usage

Install the SDK and pair it with your favorite chat providers and state management solutions.

Reactbot.ts
import { Chat } from "chat";import { createSlackAdapter } from "@chat-adapter/slack";import { createRedisState } from "@chat-adapter/state-redis";
export const bot = new Chat({  userName: "mybot",  adapters: {    slack: createSlackAdapter(),  },  state: createRedisState(),});
// Respond when someone @mentions the botbot.onNewMention(async (thread) => {  await thread.subscribe();  await thread.post("Hello! I'm listening to this thread now.");});
// Respond to follow-up messages in subscribed threadsbot.onSubscribedMessage(async (thread, message) => {  await thread.post(`You said: ${ message.text }`);});

Ship your chatbot today

Get started
Chat SDK