Introduction

A unified SDK for building chat bots across Slack, Microsoft Teams, Google Chat, Discord, Telegram, and more.

Chat SDK is a TypeScript library for building chat bots that work across multiple platforms with a single codebase. Write your bot logic once and deploy it wherever you have an adapter.

Why Chat SDK?

Building a chat bot that works across multiple platforms typically means maintaining separate codebases, learning different APIs, and handling platform-specific quirks individually. Chat SDK abstracts these differences behind a unified interface.

  • Single codebase for all platforms
  • Type-safe adapters and event handlers with full TypeScript support
  • Event-driven architecture with handlers for mentions, messages, reactions, button clicks, slash commands, and modals
  • Thread subscriptions for multi-turn conversations
  • Rich UI with JSX cards, buttons, and modals that render natively on each platform
  • AI streaming with first-class support for streaming LLM responses
  • Serverless-ready with distributed state via Redis and message deduplication

How it works

Chat SDK has three core concepts:

  1. Chat — the main entry point that coordinates adapters and routes events to your handlers
  2. Adapters — platform-specific implementations that handle webhook parsing, message formatting, and API calls
  3. State — a pluggable persistence layer for thread subscriptions and distributed locking
lib/bot.ts
import { Chat } from "chat";
import { createSlackAdapter } from "@chat-adapter/slack";
import { createRedisState } from "@chat-adapter/state-redis";

const bot = new Chat({
  userName: "mybot",
  adapters: {
    slack: createSlackAdapter(),
  },
  state: createRedisState(),
});

bot.onNewMention(async (thread) => {
  await thread.subscribe();
  await thread.post("Hello! I'm listening to this thread.");
});

Each adapter factory auto-detects credentials from environment variables (SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, REDIS_URL, etc.), so you can get started with zero config. Pass explicit values to override.

Adapters

Install only the adapters you need. Browse the full catalog on the Adapters page, and compare official platform features on Platform Adapters.

AI coding agents

If you use an AI coding agent such as OpenAI Codex, Claude Code, or Cursor, install the Chat SDK skill so it knows the SDK APIs, adapter patterns, and project conventions before writing code.

npx skills add vercel/chat

The skill references bundled documentation in node_modules/chat/docs, plus adapter guides and starter templates in the published package.

You can also install the Vercel Plugin for a broader agent toolkit. It includes the Chat SDK skill alongside specialist agents, slash commands, and more:

npx plugins add vercel/vercel-plugin

For agent-readable documentation, see llms.txt (page index) or llms-full.txt (full text).

Contributing

Ship an adapter for a new platform, or list a vendor-maintained one in the catalog.