slack-block-kit
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSlack Block Kit
Slack Block Kit
UI framework for building rich, interactive layouts in Slack messages, modals, and App Home.
用于在 Slack 消息、模态框和 App Home 中构建丰富交互式布局的 UI 框架。
CRITICAL: Two Markup Systems
重要提示:两套标记系统
Text inside Block Kit text objects uses Slack mrkdwn syntax (, ), NOT standard Markdown. The only exception is the block which uses standard Markdown.
*bold*<url|text>markdownBlock Kit 文本对象中的文本使用 Slack mrkdwn 语法(、),而非标准 Markdown。唯一例外是 块,它支持标准 Markdown。
*bold*<url|text>markdownQuick Decision Trees
快速决策树
"Should I use blocks?"
"我应该使用 blocks 吗?"
Response type?
├─ Conversational reply, short answer, <3 lines → text only (no blocks)
├─ Multi-section summary, report, dashboard → blocks
├─ Two-column key-value data → blocks (section fields)
├─ Tabular data → blocks (table)
├─ Code with heading or surrounding context → blocks
├─ Visual separation needed between topics → blocks
└─ Feedback buttons or interactive elements → blocks响应类型?
├─ 对话式回复、短答案、少于3行 → 仅用 text(无需 blocks)
├─ 多模块摘要、报告、仪表盘 → 使用 blocks
├─ 两列键值对数据 → 使用 blocks(section fields)
├─ 表格数据 → 使用 blocks(table)
├─ 带标题或上下文的代码块 → 使用 blocks
├─ 不同主题之间需要视觉分隔 → 使用 blocks
└─ 反馈按钮或交互元素 → 使用 blocks"Which block type?"
"我该使用哪种 block 类型?"
What am I rendering?
├─ Large section title → header (plain_text, 150 chars max)
├─ Body text or key-value pairs → section (text + fields + accessory)
├─ Small metadata or secondary info → context (images + text, 10 max)
├─ Horizontal separator → divider
├─ Buttons, menus, date pickers → actions (25 elements max)
├─ Standalone image → image (image_url or slack_file)
├─ Formatted text with lists, quotes → rich_text (nested sub-elements)
├─ Tabular data → table (100 rows, 20 cols, 1 per msg)
├─ LLM-generated markdown content → markdown (standard MD, messages only)
├─ Embedded video player → video (requires links.embed:write)
├─ Remote file reference → file (read-only, source: "remote")
├─ Feedback thumbs up/down → context_actions (messages only)
├─ Collecting user input (modals) → input (label + element)
├─ AI agent task steps → plan (sequential tasks, messages only)
└─ Single task with status → task_card (inside plan or standalone)我要渲染的内容是?
├─ 大段章节标题 → header(plain_text,最多150字符)
├─ 正文文本或键值对 → section(text + fields + 附属元素)
├─ 小型元数据或次要信息 → context(图片 + 文本,最多10个元素)
├─ 水平分隔线 → divider
├─ 按钮、菜单、日期选择器 → actions(最多25个元素)
├─ 独立图片 → image(image_url 或 slack_file)
├─ 带列表、引用的格式化文本 → rich_text(嵌套子元素)
├─ 表格数据 → table(最多100行20列,单条消息仅支持1个)
├─ LLM 生成的 Markdown 内容 → markdown(标准MD,仅支持消息场景)
├─ 嵌入视频播放器 → video(需要 links.embed:write 权限)
├─ 远程文件引用 → file(只读,source: "remote")
├─ 点赞/点踩反馈 → context_actions(仅支持消息场景)
├─ 模态框内收集用户输入 → input(标签 + 元素)
├─ AI Agent 任务步骤 → plan(顺序任务,仅支持消息场景)
└─ 带状态的单个任务 → task_card(可放在 plan 内或独立使用)"mrkdwn or markdown block?"
"该用 mrkdwn 还是 markdown block?"
Content source?
├─ Short formatted text, labels, fields → mrkdwn in section/context
├─ Long-form LLM-generated content → markdown block (standard MD)
├─ Need tables inside blocks → mrkdwn in section (manual layout)
├─ Need headings → markdown block or header blocks
└─ Mixed: structured layout + prose → section/header blocks + markdown block内容来源?
├─ 短格式文本、标签、字段 → section/context 内使用 mrkdwn
├─ LLM 生成的长文本内容 → 使用 markdown block(标准MD)
├─ 需要在 block 内嵌入表格 → section 内使用 mrkdwn(手动布局)
├─ 需要标题 → 使用 markdown block 或 header blocks
└─ 混合场景:结构化布局 + 散文内容 → section/header blocks + markdown blockBlock Types Overview
Block 类型概览
header
header
Large bold text for section titles. only. Max 150 chars.
plain_textjson
{ "type": "header", "text": { "type": "plain_text", "text": "Section Title", "emoji": true } }用于章节标题的粗体大文本,仅支持 类型,最多150字符。
plain_textjson
{ "type": "header", "text": { "type": "plain_text", "text": "Section Title", "emoji": true } }section
section
Primary content block. Supports text, two-column fields, and one accessory element.
json
{
"type": "section",
"text": { "type": "mrkdwn", "text": "*Project Status*\nAll systems operational." }
}Two-column fields layout:
json
{
"type": "section",
"fields": [
{ "type": "mrkdwn", "text": "*Status:*\nActive" },
{ "type": "mrkdwn", "text": "*Owner:*\nChris" },
{ "type": "mrkdwn", "text": "*Priority:*\nHigh" },
{ "type": "mrkdwn", "text": "*Due:*\nFriday" }
]
}Either or required (or both). Text max 3000 chars. Fields max 10 items, each max 2000 chars. Set to force full text display without "see more" truncation.
textfieldsexpand: trueCompatible accessories: button, overflow, datepicker, timepicker, select menus, multi-select menus, checkboxes, radio buttons, image.
核心内容块,支持文本、两列字段和一个附属元素。
json
{
"type": "section",
"text": { "type": "mrkdwn", "text": "*Project Status*\nAll systems operational." }
}两列字段布局示例:
json
{
"type": "section",
"fields": [
{ "type": "mrkdwn", "text": "*Status:*\nActive" },
{ "type": "mrkdwn", "text": "*Owner:*\nChris" },
{ "type": "mrkdwn", "text": "*Priority:*\nHigh" },
{ "type": "mrkdwn", "text": "*Due:*\nFriday" }
]
}textfieldsexpand: true支持的附属元素:按钮、溢出菜单、日期选择器、时间选择器、选择菜单、多选菜单、复选框、单选按钮、图片。
divider
divider
json
{ "type": "divider" }json
{ "type": "divider" }context
context
Small, muted text for metadata. Elements: mrkdwn text objects or image elements. Max 10 elements.
json
{
"type": "context",
"elements": [
{ "type": "mrkdwn", "text": "Last updated: Feb 9, 2026" },
{ "type": "mrkdwn", "text": "Source: deploy-bot" }
]
}用于展示元数据的小型灰色文本,元素支持 mrkdwn 文本对象或图片元素,最多10个元素。
json
{
"type": "context",
"elements": [
{ "type": "mrkdwn", "text": "Last updated: Feb 9, 2026" },
{ "type": "mrkdwn", "text": "Source: deploy-bot" }
]
}actions
actions
Interactive elements: buttons, select menus, overflow menus, date pickers. Max 25 elements.
json
{
"type": "actions",
"elements": [
{
"type": "button",
"text": { "type": "plain_text", "text": "Approve", "emoji": true },
"style": "primary",
"action_id": "approve_action",
"value": "approved"
}
]
}Button styles: (green), (red), or omit for default. Use sparingly — one per set. Action IDs must be unique within the message.
primarydangerprimary交互元素集合:按钮、选择菜单、溢出菜单、日期选择器,最多25个元素。
json
{
"type": "actions",
"elements": [
{
"type": "button",
"text": { "type": "plain_text", "text": "Approve", "emoji": true },
"style": "primary",
"action_id": "approve_action",
"value": "approved"
}
]
}按钮样式:(绿色)、(红色),不填则为默认样式。请谨慎使用 样式,每组最多一个。Action ID 在单条消息内必须唯一。
primarydangerprimaryimage
image
Standalone image with alt text. Provide either (public, max 3000 chars) or object. Formats: png, jpg, jpeg, gif.
image_urlslack_filejson
{
"type": "image",
"image_url": "https://example.com/chart.png",
"alt_text": "Deployment success rate chart",
"title": { "type": "plain_text", "text": "Deploy Metrics" }
}带替代文本的独立图片,可提供 (公网可访问,最多3000字符)或 对象。支持格式:png、jpg、jpeg、gif。
image_urlslack_filejson
{
"type": "image",
"image_url": "https://example.com/chart.png",
"alt_text": "Deployment success rate chart",
"title": { "type": "plain_text", "text": "Deploy Metrics" }
}rich_text
rich_text
Advanced formatted text with nested elements. Supports styled text, lists, code blocks, and quotes. See references/RICH-TEXT.md for deep dive.
json
{
"type": "rich_text",
"elements": [
{
"type": "rich_text_section",
"elements": [
{ "type": "text", "text": "Key findings:", "style": { "bold": true } }
]
},
{
"type": "rich_text_list",
"style": "bullet",
"elements": [
{ "type": "rich_text_section", "elements": [{ "type": "text", "text": "Latency reduced by 40%" }] },
{ "type": "rich_text_section", "elements": [{ "type": "text", "text": "Error rate under 0.1%" }] }
]
}
]
}Sub-element types: (paragraph), ( or , with , , ), (code block), (blockquote).
rich_text_sectionrich_text_liststyle: "bullet""ordered"indentoffsetborderrich_text_preformattedrich_text_quoteInline element types within sections: (with optional ), , , , , , , , .
textstyle: { bold, italic, strike, code, underline }linkemojiuserchannelusergroupbroadcastdatecolor支持嵌套元素的高级格式化文本,支持样式文本、列表、代码块和引用。查看 references/RICH-TEXT.md 了解详细用法。
json
{
"type": "rich_text",
"elements": [
{
"type": "rich_text_section",
"elements": [
{ "type": "text", "text": "Key findings:", "style": { "bold": true } }
]
},
{
"type": "rich_text_list",
"style": "bullet",
"elements": [
{ "type": "rich_text_section", "elements": [{ "type": "text", "text": "Latency reduced by 40%" }] },
{ "type": "rich_text_section", "elements": [{ "type": "text", "text": "Error rate under 0.1%" }] }
]
}
]
}子元素类型:(段落)、( 无序或 有序,支持 缩进、 偏移、 边框)、(代码块)、(块引用)。
rich_text_sectionrich_text_liststyle: "bullet""ordered"indentoffsetborderrich_text_preformattedrich_text_quote段落内的行内元素类型:(支持可选样式 )、 链接、 表情、 用户、 频道、 用户组、 广播、 日期、 颜色。
textstyle: { bold, italic, strike, code, underline }linkemojiuserchannelusergroupbroadcastdatecolortable
table
Tabular data. One table per message (appended as attachment at bottom).
json
{
"type": "table",
"rows": [
[
{ "type": "raw_text", "text": "Service" },
{ "type": "raw_text", "text": "Status" },
{ "type": "raw_text", "text": "Latency" }
],
[
{ "type": "raw_text", "text": "API" },
{ "type": "raw_text", "text": "Healthy" },
{ "type": "raw_text", "text": "12ms" }
]
],
"column_settings": [
{ "align": "left" },
{ "align": "center" },
{ "align": "right" }
]
}Each row is an array of cell objects (NOT an object with a property). Cell types: or . There is no property — the first row is the header. Max 100 rows, 20 columns. Multiple tables trigger error.
cellsraw_textrich_textcolumnsinvalid_attachments表格数据,单条消息仅支持1个表格(会作为附件附加在消息底部)。
json
{
"type": "table",
"rows": [
[
{ "type": "raw_text", "text": "Service" },
{ "type": "raw_text", "text": "Status" },
{ "type": "raw_text", "text": "Latency" }
],
[
{ "type": "raw_text", "text": "API" },
{ "type": "raw_text", "text": "Healthy" },
{ "type": "raw_text", "text": "12ms" }
]
],
"column_settings": [
{ "align": "left" },
{ "align": "center" },
{ "align": "right" }
]
}每一行是单元格对象的数组(不是带 属性的对象)。单元格类型: 或 。没有专门的 属性,第一行自动作为表头。最多100行、20列,多个表格会触发 错误。
cellsraw_textrich_textcolumnsinvalid_attachmentsmarkdown
markdown
Standard Markdown rendering for AI app output. Messages only.
json
{ "type": "markdown", "text": "**Bold**, *italic*, [link](https://example.com)\n\n## Heading\n\n- List item" }Supports: bold, italic, strikethrough, links, headers, ordered/unordered lists, inline code, code blocks, block quotes. Does NOT support: syntax highlighting, horizontal rules, tables, task lists. Cumulative 12,000 char limit per payload. is ignored.
block_id为 AI 应用输出提供标准 Markdown 渲染,仅支持消息场景。
json
{ "type": "markdown", "text": "**Bold**, *italic*, [link](https://example.com)\n\n## Heading\n\n- List item" }支持特性:粗体、斜体、删除线、链接、标题、有序/无序列表、行内代码、代码块、块引用。不支持特性:语法高亮、水平分隔线、表格、任务列表。单 payload 累计最多12000字符, 会被忽略。
block_idcontext_actions
context_actions
Feedback and icon buttons for message-level actions. Messages only. Max 5 elements. Compatible elements: , .
feedback_buttonsicon_button用于消息级操作的反馈和图标按钮,仅支持消息场景,最多5个元素。支持元素:、。
feedback_buttonsicon_buttonvideo
video
Embedded video player. Requires scope, publicly accessible URL in app's unfurl domains.
links.embed:write嵌入视频播放器,需要 权限,且视频URL是公网可访问、在应用的展开域名白名单内。
links.embed:writeinput
input
Collects user data in modals, messages, and Home tabs. Requires (plain_text, 2000 chars) and one compatible element. See references/ELEMENTS.md for all input element types.
label在模态框、消息、Home 标签页中收集用户数据,需要 (plain_text 类型,最多2000字符)和一个兼容元素。查看 references/ELEMENTS.md 了解所有输入元素类型。
labelplan
plan
Container for sequential task cards, designed for AI agent output. Messages only.
json
{
"type": "plan",
"title": "Thinking completed",
"tasks": [
{ "task_id": "t1", "title": "Fetched data", "status": "complete" },
{ "task_id": "t2", "title": "Generating report", "status": "in_progress" }
]
}Task status values: , , , . Each task is a block with optional , (rich_text), and (url elements).
pendingin_progresscompleteerrortask_carddetailsoutputsources顺序任务卡片的容器,专为 AI Agent 输出设计,仅支持消息场景。
json
{
"type": "plan",
"title": "Thinking completed",
"tasks": [
{ "task_id": "t1", "title": "Fetched data", "status": "complete" },
{ "task_id": "t2", "title": "Generating report", "status": "in_progress" }
]
}任务状态值: 待处理、 进行中、 已完成、 出错。每个任务是一个 块,支持可选的 详情、 输出(rich_text 类型)和 来源(url 元素)。
pendingin_progresscompleteerrortask_carddetailsoutputsourcesfile
file
Remote file reference. Read-only. Cannot be directly added to messages by apps.
远程文件引用,只读,应用无法直接添加到消息中。
Composition Objects
组合对象
Option Object
选项对象
Used in select menus, overflow, checkboxes, radio buttons:
json
{
"text": { "type": "plain_text", "text": "Option 1" },
"value": "opt_1",
"description": { "type": "plain_text", "text": "Detailed description" }
}Text max 75 chars. max 150 chars. optional, max 75 chars.
valuedescription用于选择菜单、溢出菜单、复选框、单选按钮:
json
{
"text": { "type": "plain_text", "text": "Option 1" },
"value": "opt_1",
"description": { "type": "plain_text", "text": "Detailed description" }
}文本最多75字符, 最多150字符, 为可选字段,最多75字符。
valuedescriptionConfirmation Dialog
确认对话框
json
{
"title": { "type": "plain_text", "text": "Are you sure?" },
"text": { "type": "plain_text", "text": "This action cannot be undone." },
"confirm": { "type": "plain_text", "text": "Yes, do it" },
"deny": { "type": "plain_text", "text": "Cancel" },
"style": "danger"
}json
{
"title": { "type": "plain_text", "text": "Are you sure?" },
"text": { "type": "plain_text", "text": "This action cannot be undone." },
"confirm": { "type": "plain_text", "text": "Yes, do it" },
"deny": { "type": "plain_text", "text": "Cancel" },
"style": "danger"
}Conversation Filter
会话过滤器
Filters conversation select menus. : , , , .
includeimmpimprivatepublic用于过滤会话选择菜单, 可选值: 私聊、 群聊、 私有频道、 公开频道。
includeimmpimprivatepublicDispatch Action Configuration
触发动作配置
Controls when input elements trigger : , .
block_actionson_enter_pressedon_character_enteredSee references/COMPOSITION.md for full property tables.
控制输入元素触发 的时机: 按下回车时、 输入字符时。
block_actionson_enter_pressedon_character_entered查看 references/COMPOSITION.md 获取完整的属性表。
Limits
限制
| Constraint | Limit |
|---|---|
| Blocks per message | 50 |
| Blocks per modal/Home tab | 100 |
| Section text | 3000 chars |
| Section fields | 10 items, 2000 chars each |
| Header text | 150 chars |
| Context elements | 10 |
| Actions elements | 25 |
| Context actions elements | 5 |
| Table rows | 100 |
| Table columns | 20 |
| Tables per message | 1 |
| Markdown block text | 12,000 chars cumulative per payload |
| Modal title | 24 chars |
| Modal submit/close text | 24 chars |
| Modal views in stack | 3 |
| Modal private_metadata | 3000 chars |
| Button text | 75 chars (displays ~30) |
| Button value | 2000 chars |
| action_id / block_id | 255 chars |
| Overflow options | 5 |
| Select options | 100 |
| Option text | 75 chars |
| Placeholder text | 150 chars |
| File input max file size | 10MB per file |
| 约束 | 限制 |
|---|---|
| 单条消息的 blocks 数量 | 50 |
| 单模态框/Home 标签页的 blocks 数量 | 100 |
| Section 文本长度 | 3000字符 |
| Section 字段数量 | 10项,每项最多2000字符 |
| Header 文本长度 | 150字符 |
| Context 元素数量 | 10 |
| Actions 元素数量 | 25 |
| Context actions 元素数量 | 5 |
| 表格行数 | 100 |
| 表格列数 | 20 |
| 单条消息的表格数量 | 1 |
| Markdown 块文本长度 | 单 payload 累计最多12000字符 |
| 模态框标题长度 | 24字符 |
| 模态框提交/关闭按钮文本长度 | 24字符 |
| 模态框栈最大层级 | 3 |
| 模态框 private_metadata 长度 | 3000字符 |
| 按钮文本长度 | 75字符(实际展示约30字符) |
| 按钮 value 长度 | 2000字符 |
| action_id / block_id 长度 | 255字符 |
| 溢出菜单选项数量 | 5 |
| 选择菜单选项数量 | 100 |
| 选项文本长度 | 75字符 |
| 占位符文本长度 | 150字符 |
| 文件输入最大单文件大小 | 10MB |
Anti-Patterns
反模式
| Anti-Pattern | Problem | Fix |
|---|---|---|
Blocks without | Empty notifications, no accessibility fallback | Always provide |
| Confusing: notification says one thing, chat shows another | Keep semantically aligned |
| Blocks for simple replies | Visual noise for short responses | Use |
| 2+ tables in one message | | One table per message |
| Ignored — headers only accept | Use |
| Long header text | Silently truncated at 150 chars | Keep under 150 |
Missing | Accessibility failure, API may reject | Always include alt_text |
| 反模式 | 问题 | 修复方案 |
|---|---|---|
Blocks 没有 | 通知为空,无障碍支持缺失 | 始终在 |
| 体验混乱:通知显示的内容和聊天窗口显示的内容不同 | 保持两者语义对齐 |
| 简单回复使用 blocks | 短回复出现视觉冗余 | 简单回复仅使用 |
| 单条消息包含2个及以上表格 | 触发 | 单条消息仅放1个表格 |
Header 文本使用 | 样式不生效,header 仅支持 | 使用 |
| Header 文本过长 | 超过150字符部分会被静默截断 | 保持长度在150字符以内 |
图片缺少 | 无障碍支持失效,API 可能直接拒绝请求 | 始终添加替代文本 |
Best Practices
最佳实践
Use blocks when:
- The response has multiple distinct sections (summaries, reports, dashboards)
- Two-column key-value layouts improve readability (metadata, config summaries)
- A table presents data more clearly than prose
- Visual separation between topics helps comprehension
- Code needs a header or surrounding context
- Interactive elements (buttons, menus, feedback) are needed
Don't use blocks when:
- The response is conversational ("sure, done", "hey, good morning")
- The response is under ~3 lines of text
- The content is a simple answer to a direct question
Always:
- Provide a complete field as the accessible fallback (notifications, threads, search, screen readers)
text - Keep the and
textsemantically alignedblocks - Use mrkdwn syntax in text objects, not standard Markdown (except in blocks)
markdown - Escape ,
&,<in user-generated content>
适合使用 blocks 的场景:
- 响应包含多个独立模块(摘要、报告、仪表盘)
- 两列键值对布局可提升可读性(元数据、配置摘要)
- 表格比纯文本更适合展示数据
- 主题之间的视觉分隔可提升理解效率
- 代码块需要标题或上下文说明
- 需要添加交互元素(按钮、菜单、反馈功能)
不适合使用 blocks 的场景:
- 对话式回复("好的,已完成"、"早上好")
- 响应内容少于3行
- 只是对直接问题的简单回答
始终需要遵守的规则:
- 提供完整的 字段作为无障碍 fallback(用于通知、线程、搜索、屏幕阅读器)
text - 保持 和
text语义对齐blocks - 文本对象中使用 mrkdwn 语法,不要用标准 Markdown(块除外)
markdown - 对用户生成内容中的 、
&、<做转义处理>
Surfaces Overview
载体概览
| Surface | Max Blocks | Key Methods | Notes |
|---|---|---|---|
| Messages | 50 | | Primary output surface |
| Modals | 100 | | Requires |
| App Home | 100 | | Private per-user view, Home/Messages/About tabs |
| Canvases | N/A | | Markdown only — no Block Kit support |
| Lists | N/A | | Task tracking and project management |
| Split View | N/A | Agents & AI Apps config | AI chat surface with Chat + History tabs |
Modals collect input via blocks, return payloads. They chain up to 3 views with push/update/clear response actions. (3000 chars) persists context between views.
inputview_submissionprivate_metadata| 载体 | 最大 blocks 数量 | 核心方法 | 说明 |
|---|---|---|---|
| 消息 | 50 | | 核心输出载体 |
| 模态框 | 100 | | 需要 |
| App Home | 100 | | 每个用户独立的私有视图,包含 Home/消息/关于 标签页 |
| 画布 | N/A | | 仅支持 Markdown,不支持 Block Kit |
| 列表 | N/A | | 用于任务跟踪和项目管理 |
| 分栏视图 | N/A | Agent & AI Apps 配置 | AI 聊天载体,包含聊天+历史记录标签页 |
模态框通过 块收集输入,返回 payload。可通过 push/update/clear 响应动作串联最多3个视图。(最多3000字符)可在不同视图间传递上下文。
inputview_submissionprivate_metadataWork Objects
Work Objects
Work Objects render rich entity previews when links are shared in Slack. They extend link unfurling with structured data, flexpane details, editable fields, and actions.
Work Objects 可在 Slack 内分享链接时渲染丰富的实体预览,它通过结构化数据、弹性面板详情、可编辑字段和动作扩展了链接展开能力。
Entity Types
实体类型
| Type | Entity ID | Purpose |
|---|---|---|
| File | | Documents, spreadsheets, images |
| Task | | Tickets, to-dos, work items |
| Incident | | Service interruptions, outages |
| Content Item | | Articles, pages, wiki entries |
| Item | | General-purpose entity |
Work Objects use with a parameter containing entity type, external reference, and entity payload. See references/WORK-OBJECTS.md for full implementation details.
chat.unfurlmetadata| 类型 | 实体 ID | 用途 |
|---|---|---|
| 文件 | | 文档、表格、图片 |
| 任务 | | 工单、待办事项、工作项 |
| 故障 | | 服务中断、故障 |
| 内容项 | | 文章、页面、wiki 条目 |
| 通用项 | | 通用实体 |
Work Objects 使用 接口,通过 参数传递实体类型、外部引用和实体 payload。查看 references/WORK-OBJECTS.md 了解完整实现细节。
chat.unfurlmetadataReference Documentation
参考文档
| File | Purpose |
|---|---|
| references/CHEATSHEET.md | Quick reference: all blocks, elements, limits at a glance |
| references/BLOCKS.md | All 15 block types with full property tables and constraints |
| references/ELEMENTS.md | All 20 interactive elements with properties and constraints |
| references/COMPOSITION.md | Composition objects: text, option, confirmation, filters |
| references/RICH-TEXT.md | Rich text block deep dive: sub-elements, inline types, styles |
| references/SURFACES.md | Modals, App Home, canvases, lists, split view |
| references/WORK-OBJECTS.md | Entity types, chat.unfurl, flexpane, editable fields, actions |
| 文件 | 用途 |
|---|---|
| references/CHEATSHEET.md | 速查手册:所有 blocks、元素、限制一目了然 |
| references/BLOCKS.md | 全部15种 block 类型的完整属性表和约束 |
| references/ELEMENTS.md | 全部20种交互元素的属性和约束 |
| references/COMPOSITION.md | 组合对象:文本、选项、确认框、过滤器 |
| references/RICH-TEXT.md | Rich text 块详解:子元素、行内类型、样式 |
| references/SURFACES.md | 模态框、App Home、画布、列表、分栏视图 |
| references/WORK-OBJECTS.md | 实体类型、chat.unfurl、弹性面板、可编辑字段、动作 |
Sources
来源
- Block Kit Reference — Slack
- Block Kit Blocks — Slack
- Block Kit Elements — Slack
- Block Kit Composition Objects — Slack
- Work Objects — Slack
- Surfaces — Slack
- Modals — Slack
- App Home — Slack
- Canvases — Slack
- Lists — Slack
- Split View — Slack
- App Design — Slack
- Block Kit 参考文档 — Slack
- Block Kit Blocks — Slack
- Block Kit Elements — Slack
- Block Kit 组合对象 — Slack
- Work Objects — Slack
- 载体 — Slack
- 模态框 — Slack
- App Home — Slack
- 画布 — Slack
- 列表 — Slack
- 分栏视图 — Slack
- 应用设计 — Slack