Introduction
Chat SDK is a TypeScript library for building chat bots that run on multiple platforms from one codebase. You write the bot logic once and deploy it to any platform that has an adapter.
Why Chat SDK?
Each chat platform has its own API, webhook format, and quirks, so supporting several of them usually means maintaining separate code for each. Chat SDK puts those differences behind adapters and gives you one interface for:
- Typed event handlers for mentions, messages, reactions, button clicks, slash commands, and modals
- Thread subscriptions for multi-turn conversations
- Cards, buttons, and modals written in JSX that render natively on each platform
- Streaming LLM responses into a message
- Serverless deployments, with distributed state in Redis and message deduplication
How it works
Chat SDK has three core concepts:
Chatcoordinates your adapters and routes incoming events to your handlers.- Adapters handle the platform-specific work: parsing webhooks, formatting messages, and calling the platform's API.
- State is a pluggable persistence layer for thread subscriptions and distributed locking.
Adapter and state factories read their credentials from environment variables such as SLACK_BOT_TOKEN, SLACK_SIGNING_SECRET, and REDIS_URL, so the example above passes no options. Pass explicit values to override them.
Adapters
Install only the adapters you need. Browse the full catalog on the Adapters page, and compare official platform features on Platform Adapters.
Adapter Catalog
List every adapter with its capabilities and setup requirements from one dependency-free package.
Platform Adapters
Connect your bot to messaging platforms with webhook verification, parsing, and native formatting.
State Adapters
Persist thread subscriptions, distributed locks, and caches across restarts.
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's APIs, adapter patterns, and project conventions before it writes code.
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 along with specialist agents and slash commands:
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.
Build an adapter
Implement the Adapter interface for any messaging platform or state backend.
List a vendor-official adapter
How platform vendors qualify and list a maintained adapter in the Vendor Official tier.
Read more
Getting Started
Pick a guide to start building with Chat SDK.
Creating a Chat Instance
Initialize the Chat class with adapters, state, and configuration options.
Overview
API reference for the Chat SDK core package.
Overview
AI utilities that ship with Chat SDK, including agent tools, message conversion, and supporting types.