slack-block-kit

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Slack 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 (
*bold*
,
<url|text>
), NOT standard Markdown. The only exception is the
markdown
block which uses standard Markdown.
Block Kit 文本对象中的文本使用 Slack mrkdwn 语法(
*bold*
<url|text>
),而非标准 Markdown。唯一例外是
markdown
块,它支持标准 Markdown。

Quick 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 block

Block Types Overview

Block 类型概览

header

header

Large bold text for section titles.
plain_text
only. Max 150 chars.
json
{ "type": "header", "text": { "type": "plain_text", "text": "Section Title", "emoji": true } }
用于章节标题的粗体大文本,仅支持
plain_text
类型,最多150字符。
json
{ "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
text
or
fields
required (or both). Text max 3000 chars. Fields max 10 items, each max 2000 chars. Set
expand: true
to force full text display without "see more" truncation.
Compatible 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" }
  ]
}
text
fields
至少需要填写一个(也可同时填写)。文本最多3000字符,字段最多10项,每项最多2000字符。设置
expand: 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:
primary
(green),
danger
(red), or omit for default. Use
primary
sparingly — one per set. Action IDs must be unique within the message.
交互元素集合:按钮、选择菜单、溢出菜单、日期选择器,最多25个元素。
json
{
  "type": "actions",
  "elements": [
    {
      "type": "button",
      "text": { "type": "plain_text", "text": "Approve", "emoji": true },
      "style": "primary",
      "action_id": "approve_action",
      "value": "approved"
    }
  ]
}
按钮样式:
primary
(绿色)、
danger
(红色),不填则为默认样式。请谨慎使用
primary
样式,每组最多一个。Action ID 在单条消息内必须唯一。

image

image

Standalone image with alt text. Provide either
image_url
(public, max 3000 chars) or
slack_file
object. Formats: png, jpg, jpeg, gif.
json
{
  "type": "image",
  "image_url": "https://example.com/chart.png",
  "alt_text": "Deployment success rate chart",
  "title": { "type": "plain_text", "text": "Deploy Metrics" }
}
带替代文本的独立图片,可提供
image_url
(公网可访问,最多3000字符)或
slack_file
对象。支持格式:png、jpg、jpeg、gif。
json
{
  "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:
rich_text_section
(paragraph),
rich_text_list
(
style: "bullet"
or
"ordered"
, with
indent
,
offset
,
border
),
rich_text_preformatted
(code block),
rich_text_quote
(blockquote).
Inline element types within sections:
text
(with optional
style: { bold, italic, strike, code, underline }
),
link
,
emoji
,
user
,
channel
,
usergroup
,
broadcast
,
date
,
color
.
支持嵌套元素的高级格式化文本,支持样式文本、列表、代码块和引用。查看 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_section
(段落)、
rich_text_list
style: "bullet"
无序或
"ordered"
有序,支持
indent
缩进、
offset
偏移、
border
边框)、
rich_text_preformatted
(代码块)、
rich_text_quote
(块引用)。
段落内的行内元素类型:
text
(支持可选样式
style: { bold, italic, strike, code, underline }
)、
link
链接、
emoji
表情、
user
用户、
channel
频道、
usergroup
用户组、
broadcast
广播、
date
日期、
color
颜色。

table

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
cells
property). Cell types:
raw_text
or
rich_text
. There is no
columns
property — the first row is the header. Max 100 rows, 20 columns. Multiple tables trigger
invalid_attachments
error.
表格数据,单条消息仅支持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" }
  ]
}
每一行是单元格对象的数组(不是带
cells
属性的对象)。单元格类型:
raw_text
rich_text
。没有专门的
columns
属性,第一行自动作为表头。最多100行、20列,多个表格会触发
invalid_attachments
错误。

markdown

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.
block_id
is ignored.
为 AI 应用输出提供标准 Markdown 渲染,仅支持消息场景。
json
{ "type": "markdown", "text": "**Bold**, *italic*, [link](https://example.com)\n\n## Heading\n\n- List item" }
支持特性:粗体、斜体、删除线、链接、标题、有序/无序列表、行内代码、代码块、块引用。不支持特性:语法高亮、水平分隔线、表格、任务列表。单 payload 累计最多12000字符,
block_id
会被忽略。

context_actions

context_actions

Feedback and icon buttons for message-level actions. Messages only. Max 5 elements. Compatible elements:
feedback_buttons
,
icon_button
.
用于消息级操作的反馈和图标按钮,仅支持消息场景,最多5个元素。支持元素:
feedback_buttons
icon_button

video

video

Embedded video player. Requires
links.embed:write
scope, publicly accessible URL in app's unfurl domains.
嵌入视频播放器,需要
links.embed:write
权限,且视频URL是公网可访问、在应用的展开域名白名单内。

input

input

Collects user data in modals, messages, and Home tabs. Requires
label
(plain_text, 2000 chars) and one compatible element. See references/ELEMENTS.md for all input element types.
在模态框、消息、Home 标签页中收集用户数据,需要
label
(plain_text 类型,最多2000字符)和一个兼容元素。查看 references/ELEMENTS.md 了解所有输入元素类型。

plan

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:
pending
,
in_progress
,
complete
,
error
. Each task is a
task_card
block with optional
details
,
output
(rich_text), and
sources
(url elements).
顺序任务卡片的容器,专为 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" }
  ]
}
任务状态值:
pending
待处理、
in_progress
进行中、
complete
已完成、
error
出错。每个任务是一个
task_card
块,支持可选的
details
详情、
output
输出(rich_text 类型)和
sources
来源(url 元素)。

file

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.
value
max 150 chars.
description
optional, max 75 chars.
用于选择菜单、溢出菜单、复选框、单选按钮:
json
{
  "text": { "type": "plain_text", "text": "Option 1" },
  "value": "opt_1",
  "description": { "type": "plain_text", "text": "Detailed description" }
}
文本最多75字符,
value
最多150字符,
description
为可选字段,最多75字符。

Confirmation 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.
include
:
im
,
mpim
,
private
,
public
.
用于过滤会话选择菜单,
include
可选值:
im
私聊、
mpim
群聊、
private
私有频道、
public
公开频道。

Dispatch Action Configuration

触发动作配置

Controls when input elements trigger
block_actions
:
on_enter_pressed
,
on_character_entered
.
See references/COMPOSITION.md for full property tables.
控制输入元素触发
block_actions
的时机:
on_enter_pressed
按下回车时、
on_character_entered
输入字符时。
查看 references/COMPOSITION.md 获取完整的属性表。

Limits

限制

ConstraintLimit
Blocks per message50
Blocks per modal/Home tab100
Section text3000 chars
Section fields10 items, 2000 chars each
Header text150 chars
Context elements10
Actions elements25
Context actions elements5
Table rows100
Table columns20
Tables per message1
Markdown block text12,000 chars cumulative per payload
Modal title24 chars
Modal submit/close text24 chars
Modal views in stack3
Modal private_metadata3000 chars
Button text75 chars (displays ~30)
Button value2000 chars
action_id / block_id255 chars
Overflow options5
Select options100
Option text75 chars
Placeholder text150 chars
File input max file size10MB 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-PatternProblemFix
Blocks without
text
fallback
Empty notifications, no accessibility fallbackAlways provide
text
in
chat.postMessage
text
and
blocks
diverge
Confusing: notification says one thing, chat shows anotherKeep semantically aligned
Blocks for simple repliesVisual noise for short responsesUse
text
only for simple replies
2+ tables in one message
invalid_attachments
error
One table per message
mrkdwn
in header text
Ignored — headers only accept
plain_text
Use
plain_text
type
Long header textSilently truncated at 150 charsKeep under 150
Missing
alt_text
on images
Accessibility failure, API may rejectAlways include alt_text
反模式问题修复方案
Blocks 没有
text
fallback
通知为空,无障碍支持缺失始终在
chat.postMessage
中提供
text
字段
text
blocks
内容不一致
体验混乱:通知显示的内容和聊天窗口显示的内容不同保持两者语义对齐
简单回复使用 blocks短回复出现视觉冗余简单回复仅使用
text
字段
单条消息包含2个及以上表格触发
invalid_attachments
错误
单条消息仅放1个表格
Header 文本使用
mrkdwn
样式不生效,header 仅支持
plain_text
使用
plain_text
类型
Header 文本过长超过150字符部分会被静默截断保持长度在150字符以内
图片缺少
alt_text
无障碍支持失效,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
    text
    field as the accessible fallback (notifications, threads, search, screen readers)
  • Keep the
    text
    and
    blocks
    semantically aligned
  • Use mrkdwn syntax in text objects, not standard Markdown (except in
    markdown
    blocks)
  • Escape
    &
    ,
    <
    ,
    >
    in user-generated content
适合使用 blocks 的场景:
  • 响应包含多个独立模块(摘要、报告、仪表盘)
  • 两列键值对布局可提升可读性(元数据、配置摘要)
  • 表格比纯文本更适合展示数据
  • 主题之间的视觉分隔可提升理解效率
  • 代码块需要标题或上下文说明
  • 需要添加交互元素(按钮、菜单、反馈功能)
不适合使用 blocks 的场景:
  • 对话式回复("好的,已完成"、"早上好")
  • 响应内容少于3行
  • 只是对直接问题的简单回答
始终需要遵守的规则:
  • 提供完整的
    text
    字段作为无障碍 fallback(用于通知、线程、搜索、屏幕阅读器)
  • 保持
    text
    blocks
    语义对齐
  • 文本对象中使用 mrkdwn 语法,不要用标准 Markdown(
    markdown
    块除外)
  • 对用户生成内容中的
    &
    <
    >
    做转义处理

Surfaces Overview

载体概览

SurfaceMax BlocksKey MethodsNotes
Messages50
chat.postMessage
,
chat.update
Primary output surface
Modals100
views.open
,
views.update
,
views.push
Requires
trigger_id
(3s expiry), up to 3 stacked views
App Home100
views.publish
Private per-user view, Home/Messages/About tabs
CanvasesN/A
canvases.create
,
canvases.edit
Markdown only — no Block Kit support
ListsN/A
lists.*
API methods
Task tracking and project management
Split ViewN/AAgents & AI Apps configAI chat surface with Chat + History tabs
Modals collect input via
input
blocks, return
view_submission
payloads. They chain up to 3 views with push/update/clear response actions.
private_metadata
(3000 chars) persists context between views.
载体最大 blocks 数量核心方法说明
消息50
chat.postMessage
chat.update
核心输出载体
模态框100
views.open
views.update
views.push
需要
trigger_id
(3秒有效期),最多支持3层堆叠视图
App Home100
views.publish
每个用户独立的私有视图,包含 Home/消息/关于 标签页
画布N/A
canvases.create
canvases.edit
仅支持 Markdown,不支持 Block Kit
列表N/A
lists.*
API 方法
用于任务跟踪和项目管理
分栏视图N/AAgent & AI Apps 配置AI 聊天载体,包含聊天+历史记录标签页
模态框通过
input
块收集输入,返回
view_submission
payload。可通过 push/update/clear 响应动作串联最多3个视图。
private_metadata
(最多3000字符)可在不同视图间传递上下文。

Work 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

实体类型

TypeEntity IDPurpose
File
slack#/entities/file
Documents, spreadsheets, images
Task
slack#/entities/task
Tickets, to-dos, work items
Incident
slack#/entities/incident
Service interruptions, outages
Content Item
slack#/entities/content_item
Articles, pages, wiki entries
Item
slack#/entities/item
General-purpose entity
Work Objects use
chat.unfurl
with a
metadata
parameter containing entity type, external reference, and entity payload. See references/WORK-OBJECTS.md for full implementation details.
类型实体 ID用途
文件
slack#/entities/file
文档、表格、图片
任务
slack#/entities/task
工单、待办事项、工作项
故障
slack#/entities/incident
服务中断、故障
内容项
slack#/entities/content_item
文章、页面、wiki 条目
通用项
slack#/entities/item
通用实体
Work Objects 使用
chat.unfurl
接口,通过
metadata
参数传递实体类型、外部引用和实体 payload。查看 references/WORK-OBJECTS.md 了解完整实现细节。

Reference Documentation

参考文档

FilePurpose
references/CHEATSHEET.mdQuick reference: all blocks, elements, limits at a glance
references/BLOCKS.mdAll 15 block types with full property tables and constraints
references/ELEMENTS.mdAll 20 interactive elements with properties and constraints
references/COMPOSITION.mdComposition objects: text, option, confirmation, filters
references/RICH-TEXT.mdRich text block deep dive: sub-elements, inline types, styles
references/SURFACES.mdModals, App Home, canvases, lists, split view
references/WORK-OBJECTS.mdEntity 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.mdRich text 块详解:子元素、行内类型、样式
references/SURFACES.md模态框、App Home、画布、列表、分栏视图
references/WORK-OBJECTS.md实体类型、chat.unfurl、弹性面板、可编辑字段、动作

Sources

来源