mirror of
https://github.com/simstudioai/sim.git
synced 2026-02-17 18:02:09 -05:00
* fix: update i18n.lock * feat(docs): enhance documentation with new sections on file handling, form deployment, quick reference, agent skills, and A2A integration
408 lines
17 KiB
Plaintext
408 lines
17 KiB
Plaintext
---
|
||
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 | 表情名称 |
|