https://github.com/user-attachments/assets/1a6478c2-37aa-48c2-84e9-69375b20177e
https://github.com/user-attachments/assets/984f84e5-c0e0-47ef-a1c2-994ac51a25ba
Now, you can display a mixture of structured content called "chunks":
Available in:
chat.startStream, chat.appendStream, and chat.stopStreamconst stream = new ChatStreamer(...);, stream.append(...)$ slack create
# → AI Agent App
# → Bolt for JavaScript
# Bolt for Python
1fbce32: feat: add thinking steps support to streaming methods
chat.appendStream, chat.startStream, and chat.stopStream now accept a chunks parameter for streaming structured content including markdown text, plan updates, and task updates.
Related PRs:
const stream = new ChatStreamer(client, client.logger, {
channel: CHANNEL_ID,
thread_ts: threadTs,
});
await stream.append({
chunks: [
{
type: "markdown_text",
text: "**Hello!** I am starting to process your request...\n\n",
},
],
});
await stream.append({
chunks: [
{
type: "plan_update",
title: "Processing tasks...",
},
{
type: "task_update",
id: "task-1",
title: "Fetching data from API",
status: "complete",
output: "Successfully retrieved 42 records",
},
],
});
await stream.stop({
chunks: [
{
type: "markdown_text",
text: "\n\n---\n\n✅ **All tasks completed successfully!**\n",
},
],
});
Fetched April 3, 2026