---
title: Slack
description: 发送、更新、删除消息，在 Slack 中添加反应，或通过 Slack 事件触发工作流
---

import { BlockInfoCard } from "@/components/ui/block-info-card"

<BlockInfoCard 
  type="slack"
  color="#611f69"
/>

{/* MANUAL-CONTENT-START:intro */}
[Slack](https://www.slack.com/) 是一个商业通信平台，为团队提供统一的消息、工具和文件管理场所。

<iframe
  width="100%"
  height="400"
  src="https://www.youtube.com/embed/J5jz3UaWmE8"
  title="Slack Integration with Sim"
  frameBorder="0"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
  allowFullScreen
></iframe>

使用 Slack，您可以：

- **自动化代理通知**：将 Sim 代理的实时更新发送到任何 Slack 频道
- **创建 webhook 端点**：将 Slack 机器人配置为 webhook，以通过 Slack 活动触发 Sim 工作流
- **增强代理工作流**：将 Slack 消息集成到您的代理中，以传递结果、警报和状态更新
- **创建和共享 Slack 画布**：以编程方式在 Slack 频道中生成协作文档（画布）
- **从频道读取消息**：从任何 Slack 频道检索和处理最近的消息，用于监控或工作流触发
- **管理机器人消息**：更新、删除以及为您的机器人发送的消息添加反应

在 Sim 中，Slack 集成使您的代理能够以编程方式与 Slack 交互，并将完整的消息管理功能作为其工作流的一部分：

- **发送消息**：代理可以向任何 Slack 频道或用户发送格式化消息，支持 Slack 的 mrkdwn 语法以实现丰富的格式化
- **更新消息**：编辑之前发送的机器人消息，以更正信息或提供状态更新
- **删除消息**：在消息不再需要或包含错误时删除机器人消息
- **添加反应**：通过为任何消息添加表情符号反应来表达情感或确认
- **创建画布**：直接在频道中创建和共享 Slack 画布（协作文档），以实现更丰富的内容共享和文档化
- **读取消息**：读取频道中的最近消息，允许根据频道活动进行监控、报告或触发进一步操作
- **下载文件**：检索 Slack 频道中共享的文件以进行处理或存档

这允许实现强大的自动化场景，例如发送具有动态更新的通知、通过可编辑的状态消息管理对话流程、通过反应确认重要消息，以及通过删除过时的机器人消息保持频道整洁。您的代理可以提供及时的信息，随着工作流的进展更新消息，创建协作文档，或在需要注意时提醒团队成员。此集成弥合了您的 AI 工作流与团队沟通之间的差距，确保每个人都能获得准确、最新的信息。通过将 Sim 与 Slack 连接，您可以创建能够在适当的时间为团队提供相关信息的代理，通过自动共享和更新见解增强协作，并减少手动状态更新的需求——同时利用您的团队已经在使用的 Slack 工作区进行沟通。

## 使用说明

将 Slack 集成到工作流程中。可以发送、更新和删除消息，创建画布，读取消息并添加反应。在高级模式下需要使用 Bot Token 而不是 OAuth。可以在触发模式下使用，当消息发送到频道时触发工作流程。

## 工具

### `slack_message`

向 Slack 频道或直接消息发送消息。支持 Slack mrkdwn 格式。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 否 | 目标 Slack 频道（例如，#general） |
| `userId` | string | 否 | 目标 Slack 用户 ID，用于直接消息（例如，U1234567890） |
| `text` | string | 是 | 要发送的消息文本（支持 Slack mrkdwn 格式） |
| `thread_ts` | string | 否 | 回复的线程时间戳（创建线程回复） |
| `files` | file[] | 否 | 附加到消息的文件 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | object | 包含 Slack 返回的所有属性的完整消息对象 |
| `ts` | string | 消息时间戳 |
| `channel` | string | 发送消息的频道 ID |
| `fileCount` | number | 上传的文件数量（当附加文件时） |

### `slack_canvas`

在频道中创建并分享 Slack 画布。画布是 Slack 内的协作文档。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 目标 Slack 频道（例如，#general） |
| `title` | string | 是 | 画布的标题 |
| `content` | string | 是 | 画布内容，使用 markdown 格式 |
| `document_content` | object | 否 | 结构化的画布文档内容 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `canvas_id` | string | 创建的画布 ID |
| `channel` | string | 创建画布的频道 |
| `title` | string | 画布的标题 |

### `slack_message_reader`

阅读 Slack 频道中的最新消息。通过筛选选项检索会话历史记录。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 否 | 要读取消息的 Slack 频道（例如，#general） |
| `userId` | string | 否 | DM 会话的用户 ID（例如，U1234567890） |
| `limit` | number | 否 | 要检索的消息数量（默认：10，最大：15） |
| `oldest` | string | 否 | 时间范围起始（时间戳） |
| `latest` | string | 否 | 时间范围结束（时间戳） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `messages` | array | 频道中的消息对象数组 |

### `slack_list_channels`

列出 Slack 工作区中的所有频道。返回机器人有权限访问的公共和私人频道。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的 Bot token |
| `includePrivate` | boolean | 否 | 包括机器人是成员的私人频道（默认：true） |
| `excludeArchived` | boolean | 否 | 排除已归档的频道（默认：true） |
| `limit` | number | 否 | 返回的最大频道数量（默认：100，最大：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `channels` | array | 工作区中的频道对象数组 |

### `slack_list_members`

列出 Slack 频道中的所有成员（用户 ID）。可与获取用户信息功能结合使用，将 ID 解析为名称。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的 Bot token |
| `channel` | string | 是 | 要列出成员的频道 ID |
| `limit` | number | 否 | 返回的最大成员数量（默认：100，最大：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `members` | array | 频道成员的用户 ID 数组（例如，U1234567890） |

### `slack_list_users`

列出 Slack 工作区中的所有用户。返回包含名称和头像的用户资料。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `includeDeleted` | boolean | 否 | 是否包含已停用/已删除的用户（默认值：false） |
| `limit` | number | 否 | 返回的最大用户数量（默认值：100，最大值：200） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `users` | array | 工作区中的用户对象数组 |

### `slack_get_user`

通过用户 ID 获取特定 Slack 用户的详细信息。

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `userId` | string | 是 | 要查询的用户 ID（例如，U1234567890） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `user` | object | 用户的详细信息 |

### `slack_download`

从 Slack 下载文件

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `fileId` | string | 是 | 要下载的文件 ID |
| `fileName` | string | 否 | 可选的文件名覆盖 |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `file` | file | 下载的文件存储在执行文件中 |

### `slack_update_message`

更新由机器人在 Slack 中之前发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要更新的消息的时间戳（例如，1405894322.002768） |
| `text` | string | 是 | 新的消息文本（支持 Slack mrkdwn 格式） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | object | 包含 Slack 返回的所有属性的完整更新消息对象 |
| `content` | string | 成功消息 |
| `metadata` | object | 更新的消息元数据 |

### `slack_delete_message`

删除由机器人在 Slack 中之前发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要删除的消息的时间戳（例如，1405894322.002768） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 已删除消息的元数据 |

### `slack_add_reaction`

为 Slack 消息添加表情符号反应

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方法：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要添加反应的消息的时间戳（例如，1405894322.002768） |
| `name` | string | 是 | 表情符号反应的名称（不带冒号，例如，thumbsup、heart、eyes） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 反应元数据 |

## 注意

- 类别：`tools`
- 类型：`slack`

更新 Slack 中由机器人之前发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方式：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如：C1234567890） |
| `timestamp` | string | 是 | 要更新的消息时间戳（例如：1405894322.002768） |
| `text` | string | 是 | 新的消息文本（支持 Slack mrkdwn 格式） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `message` | object | 完整的已更新消息对象，包含 Slack 返回的所有属性 |
|   ↳ `type` | string | 消息类型（通常为 "message"） |
|   ↳ `ts` | string | 消息时间戳（唯一标识符） |
|   ↳ `text` | string | 消息文本内容 |
|   ↳ `user` | string | 发送消息的用户 ID |
|   ↳ `bot_id` | string | 如果由机器人发送则为 Bot ID |
|   ↳ `username` | string | 显示用户名 |
|   ↳ `channel` | string | 频道 ID |
|   ↳ `team` | string | 团队/工作区 ID |
|   ↳ `thread_ts` | string | 父消息时间戳（用于线程回复） |
|   ↳ `parent_user_id` | string | 线程父消息作者的用户 ID |
|   ↳ `reply_count` | number | 线程中的回复总数 |
|   ↳ `reply_users_count` | number | 回复的唯一用户数 |
|   ↳ `latest_reply` | string | 最近一次回复的时间戳 |
|   ↳ `subscribed` | boolean | 用户是否订阅了该线程 |
|   ↳ `last_read` | string | 最后读取消息的时间戳 |
|   ↳ `unread_count` | number | 线程中未读消息数 |
|   ↳ `subtype` | string | 消息子类型（bot_message、file_share 等） |
|   ↳ `is_starred` | boolean | 用户是否已加星标 |
|   ↳ `pinned_to` | array | 消息被固定的频道 ID |
|   ↳ `permalink` | string | 消息的永久 URL |
|   ↳ `reactions` | array | 此消息的表情反应 |
|     ↳ `name` | string | 表情名称（不含冒号） |
|     ↳ `count` | number | 此表情被添加的次数 |
|     ↳ `users` | array | 添加此表情的用户 ID 数组 |
|   ↳ `files` | array | 附加到消息的文件 |
|     ↳ `id` | string | 文件唯一标识符 |
|     ↳ `name` | string | 文件名 |
|     ↳ `mimetype` | string | 文件 MIME 类型 |
|     ↳ `size` | number | 文件大小（字节） |
|     ↳ `url_private` | string | 私有下载 URL（需认证） |
|     ↳ `permalink` | string | 文件的永久链接 |
|     ↳ `mode` | string | 文件模式（hosted、external 等） |
|   ↳ `attachments` | array | 消息上的旧版附件 |
|     ↳ `id` | number | 附件 ID |
|     ↳ `fallback` | string | 纯文本摘要 |
|     ↳ `text` | string | 主要附件文本 |
|     ↳ `pretext` | string | 附件前显示的文本 |
|     ↳ `color` | string | 颜色条十六进制代码或预设 |
|     ↳ `author_name` | string | 作者显示名 |
|     ↳ `author_link` | string | 作者链接 URL |
|     ↳ `author_icon` | string | 作者头像 URL |
|     ↳ `title` | string | 附件标题 |
|     ↳ `title_link` | string | 标题链接 URL |
|     ↳ `image_url` | string | 图片 URL |
|     ↳ `thumb_url` | string | 缩略图 URL |
|     ↳ `footer` | string | 页脚文本 |
|     ↳ `footer_icon` | string | 页脚图标 URL |
|     ↳ `ts` | string | 页脚显示的时间戳 |
|   ↳ `blocks` | array | 消息中的 Block Kit 区块 |
|     ↳ `type` | string | 区块类型（section、divider、image、actions 等） |
|     ↳ `block_id` | string | 区块唯一标识符 |
|   ↳ `edited` | object | 消息被编辑时的编辑信息 |
|     ↳ `user` | string | 编辑消息的用户 ID |
|     ↳ `ts` | string | 编辑的时间戳 |
| `content` | string | 成功消息 |
| `metadata` | object | 已更新消息的元数据 |
|   ↳ `channel` | string | 频道 ID |
|   ↳ `timestamp` | string | 消息时间戳 |
|   ↳ `text` | string | 已更新的消息文本 |

### `slack_delete_message`

删除机器人之前在 Slack 发送的消息

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方式：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要删除的消息时间戳（例如，1405894322.002768） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 已删除消息的元数据 |
|   ↳ `channel` | string | 频道 ID |
|   ↳ `timestamp` | string | 消息时间戳 |

### `slack_add_reaction`

为 Slack 消息添加表情符号反应

#### 输入

| 参数 | 类型 | 是否必需 | 描述 |
| --------- | ---- | -------- | ----------- |
| `authMethod` | string | 否 | 认证方式：oauth 或 bot_token |
| `botToken` | string | 否 | 自定义 Bot 的令牌 |
| `channel` | string | 是 | 消息发布的频道 ID（例如，C1234567890） |
| `timestamp` | string | 是 | 要添加反应的消息时间戳（例如，1405894322.002768） |
| `name` | string | 是 | 表情符号名称（不带冒号，例如 thumbsup、heart、eyes） |

#### 输出

| 参数 | 类型 | 描述 |
| --------- | ---- | ----------- |
| `content` | string | 成功消息 |
| `metadata` | object | 表情反馈元数据 |
|   ↳ `channel` | string | 频道 ID |
|   ↳ `timestamp` | string | 消息时间戳 |
|   ↳ `reaction` | string | 表情名称 |
