Skip to content
Dashboard

Chat SDK adds native Slack agent support

Content Engineer

You can now build native Slack agents with Chat SDK's Slack adapter.

The adapter supports the full Slack agent messaging experience, from agent conversations in the Messages tab to suggested prompts, rotating status messages, token-by-token streamed replies, and native feedback buttons.

lib/bot.ts
import { Chat } from "chat";
import { createSlackAdapter } from "@chat-adapter/slack";
const bot = new Chat({
userName: "mybot",
adapters: {
slack: createSlackAdapter({
agentView: true,
suggestedPrompts: {
title: "Welcome! What can I do for you?",
prompts: [
{ title: "Catch me up", message: "What did I miss today?" },
{ title: "Draft a message", message: "Help me draft a message" },
],
},
loadingMessages: ["Thinking...", "Digging through the archives..."],
feedbackButtons: true,
}),
},
});

Configure your native Slack agent in Chat SDK

Here's what the adapter gives you:

  • Suggested prompts, per thread: Pass a static payload or an async resolver that receives the thread context, including what the user is currently viewing under agent_view. Prompts are pinned automatically whenever an agent thread opens.

  • Native streaming with a fallback: Streamed replies render token-by-token via Slack's streaming API, including task and plan cards. If a workspace doesn't support streaming (e.g., GovSlack), the adapter switches to Post+Edit.

  • Built-in feedback: Set feedbackButtons: true to append thumbs-up/down buttons to every streamed reply, and clicks dispatch via the bot.onAction flow.

One thing to know: under agent_view, Slack threads each user message individually, so channel history only returns the user's side of a DM. Use Chat SDK transcripts to build AI conversation history instead.

Read the documentation to get started, or begin with one of our templates.