Overview
Overview of Chat SDK adapters and the static adapter catalog.
Adapters connect Chat SDK to messaging platforms and state backends. Install only the adapters you need, then register them on your Chat instance.
Adapter tiers
| Tier | Who maintains it |
|---|---|
| Official | Vercel (@chat-adapter/*) |
| Vendor-official | The platform vendor |
| Community | Third-party developers |
Browse all three on the Adapters listing page. To ship your own, start with Building an adapter, then list as community or vendor-official.
Use the dedicated guides for adapter-specific concepts:
- Platform Adapters cover webhook verification, message parsing, API calls, feature support, and multi-platform bots.
- State Adapters cover subscriptions, distributed locking, and caching.
Adapter catalog (chat/adapters)
The chat/adapters subpath is a static catalog of official and vendor-official adapters. It imports no adapter packages, so you can use it from setup screens, build scripts, or onboarding flows without pulling in Slack, Teams, Redis, or other platform SDKs.
import { ADAPTER_NAMES, getAdapter } from "chat/adapters";
for (const slug of ADAPTER_NAMES) {
const adapter = getAdapter(slug);
console.log(adapter.name, adapter.packageName, adapter.peerDeps);
}Use the env helpers when you need to show setup instructions or inject secrets for one adapter:
import { getAdapter, getSecretEnvVars } from "chat/adapters";
const slack = getAdapter("slack");
const secrets = getSecretEnvVars("slack").map((envVar) => envVar.key);
console.log(slack.name, secrets);The catalog intentionally covers official and vendor-official adapters. Community adapters live on the Adapters listing page.
Environment specs
Each adapter entry includes an env spec:
requiredlists variables needed regardless of auth mode.credentialModesgroups mutually exclusive ways to authenticate, such as a bot token vs OAuth client credentials.optionallists tuning variables that are safe to omit.configlists constructor options that do not have an environment-variable equivalent.
Types
The main CatalogAdapter metadata shape is:
Prop
Type
Prop
Type
Prop
Type
Prop
Type
Helpers
getAdapter(slug)returns one catalog entry, orundefinedfor unknown slugs.isAdapterSlug(slug)narrows a string toAdapterSlug.listEnvVars(slug)flattens required, credential-mode, and optional env vars, de-duplicated by key.getSecretEnvVars(slug)returns the subset oflistEnvVars(slug)marked as secrets.
Read more
Getting Started
Pick a guide to start building with Chat SDK.
Platform Adapters
Platform-specific adapters that connect your bot to any messaging platform.
State Adapters
Pluggable state adapters for thread subscriptions, distributed locking, and caching.
Streaming
Stream real-time text responses from AI models and other async sources to chat platforms.