# Chat SDK ## Docs - [Chat SDK](https://mintlify.wiki/vercel/chat/introduction.md): A unified TypeScript SDK for building chat bots across Slack, Microsoft Teams, Google Chat, Discord, Telegram, GitHub, and Linear - [Getting Started](https://mintlify.wiki/vercel/chat/getting-started.md): Install Chat SDK and create your first bot in minutes - [Basic Usage](https://mintlify.wiki/vercel/chat/usage.md): Learn core concepts and usage patterns for Chat SDK - [Threads, Messages, and Channels](https://mintlify.wiki/vercel/chat/threads-messages-channels.md): Core abstractions for chat conversations in the Chat SDK - [Handling Events](https://mintlify.wiki/vercel/chat/handling-events.md): Event patterns and handler registration in the Chat SDK - [Posting Messages](https://mintlify.wiki/vercel/chat/posting-messages.md): Send messages, cards, files, and ephemeral responses across chat platforms - [AI Streaming Support](https://mintlify.wiki/vercel/chat/streaming.md): Stream AI-generated responses with native platform support or fallback rendering - [Cards and UI Components](https://mintlify.wiki/vercel/chat/cards.md): Build rich interactive cards with JSX or function API that work across Slack, Teams, and Google Chat - [Button Actions and Interactions](https://mintlify.wiki/vercel/chat/actions.md): Handle button clicks, link buttons, and interactive elements in your cards - [Modal Forms and Dialogs](https://mintlify.wiki/vercel/chat/modals.md): Create interactive forms and dialog workflows with modal elements - [Slash Command Handling](https://mintlify.wiki/vercel/chat/slash-commands.md): Handle slash commands like /help, /status, and custom commands in your chat bot - [Cross-Platform Emoji Support](https://mintlify.wiki/vercel/chat/emoji.md): Use emoji in messages with automatic conversion between Slack, Teams, Google Chat, and other platforms - [Direct Messages](https://mintlify.wiki/vercel/chat/direct-messages.md): Send private direct messages to users across Slack, Teams, and Google Chat - [Ephemeral Messages](https://mintlify.wiki/vercel/chat/ephemeral-messages.md): Send private messages visible only to specific users in channels - [File Attachments](https://mintlify.wiki/vercel/chat/files.md): Send and receive file attachments in messages across chat platforms - [Error Handling Patterns](https://mintlify.wiki/vercel/chat/error-handling.md): Handle errors gracefully in your chat bot with typed error classes and best practices - [Adapters Overview](https://mintlify.wiki/vercel/chat/adapters/index.md): Connect the Chat SDK to multiple messaging platforms with platform adapters - [Slack Adapter](https://mintlify.wiki/vercel/chat/adapters/slack.md): Connect the Chat SDK to Slack workspaces with full multi-workspace support - [Microsoft Teams Adapter](https://mintlify.wiki/vercel/chat/adapters/teams.md): Integrate with Microsoft Teams channels and DMs via Bot Framework - [Google Chat Adapter](https://mintlify.wiki/vercel/chat/adapters/gchat.md): Build bots for Google Chat spaces with Workspace Events API - [Discord Adapter](https://mintlify.wiki/vercel/chat/adapters/discord.md): Create Discord bots using HTTP Interactions or Gateway WebSocket - [Telegram Adapter](https://mintlify.wiki/vercel/chat/adapters/telegram.md): Build Telegram bots with webhook or long polling modes - [GitHub Adapter](https://mintlify.wiki/vercel/chat/adapters/github.md): Respond to PR comments and review threads on GitHub - [Linear Adapter](https://mintlify.wiki/vercel/chat/adapters/linear.md): Comment on Linear issues and participate in comment threads - [State Management Overview](https://mintlify.wiki/vercel/chat/state/index.md): State adapters for thread subscriptions, distributed locking, and caching in Chat SDK - [Redis State Adapter](https://mintlify.wiki/vercel/chat/state/redis.md): Production state adapter using the official redis package - [ioredis State Adapter](https://mintlify.wiki/vercel/chat/state/ioredis.md): Production state adapter with Redis Cluster and Sentinel support - [Memory State Adapter](https://mintlify.wiki/vercel/chat/state/memory.md): In-memory state adapter for development and testing - [Slack bot with Next.js and Redis](https://mintlify.wiki/vercel/chat/guides/slack-nextjs.md): This guide walks through building a Slack bot with Next.js, covering project setup, Slack app configuration, event handling, interactive features, and deployment. - [Discord support bot with Nuxt and Redis](https://mintlify.wiki/vercel/chat/guides/discord-nuxt.md): This guide walks through building a Discord support bot with Nuxt, covering project setup, Discord app configuration, Gateway forwarding, AI-powered responses, and deployment. - [Code review GitHub bot with Hono and Redis](https://mintlify.wiki/vercel/chat/guides/code-review-hono.md): This guide walks through building a GitHub bot that reviews pull requests on demand. When a user @mentions the bot on a PR, Chat SDK picks up the mention, spins up a Vercel Sandbox with the repo cloned, and uses AI SDK to analyze the diff. - [API Reference](https://mintlify.wiki/vercel/chat/api/index.md): Complete API reference for the Chat SDK Core API - [Chat Class](https://mintlify.wiki/vercel/chat/api/chat.md): Main entry point for creating chat bots with handlers and webhooks - [Thread Interface](https://mintlify.wiki/vercel/chat/api/thread.md): Represents a conversation thread with message posting and state management - [Channel Interface](https://mintlify.wiki/vercel/chat/api/channel.md): Represents a channel/conversation container that holds threads - [Message Interface](https://mintlify.wiki/vercel/chat/api/message.md): A chat message with metadata, formatting, and attachments - [PostableMessage](https://mintlify.wiki/vercel/chat/api/postable-message.md): Type definitions for messages that can be posted to chat threads - [Card Components](https://mintlify.wiki/vercel/chat/api/cards.md): API reference for building rich interactive cards - [Modal Components](https://mintlify.wiki/vercel/chat/api/modals.md): API reference for building interactive form dialogs - [Markdown Utilities](https://mintlify.wiki/vercel/chat/api/markdown.md): API reference for markdown parsing, conversion, and AST manipulation - [Emoji Utilities](https://mintlify.wiki/vercel/chat/api/emoji.md): API reference for cross-platform emoji support - [StateAdapter](https://mintlify.wiki/vercel/chat/api/state-adapter.md): Interface for implementing custom state adapters for thread subscriptions and distributed locking - [Adapter](https://mintlify.wiki/vercel/chat/api/adapter.md): Interface for implementing custom platform adapters for Chat SDK - [Core Types](https://mintlify.wiki/vercel/chat/api/types.md): TypeScript types and interfaces used throughout Chat SDK