我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

slack-automation - SKILL

slack-automation - SKILL name: slack-automationdescription: “Automate Slack workspace operations including messaging, search, channel management, and reaction workflows through Composio’s Slack toolkit.”risk: criticalsource: communitydate_added: “2026-02-27”通过 Rube MCP 实现 Slack 自动化通过 Composio 的 Slack 工具包自动化 Slack 工作区操作包括消息、搜索、频道管理和表情反应工作流。前置条件Rube MCP 必须已连接RUBE_SEARCH_TOOLS可用通过RUBE_MANAGE_CONNECTIONS使用工具包slack建立活跃的 Slack 连接始终先调用RUBE_SEARCH_TOOLS以获取当前的工具模式设置获取 Rube MCP在客户端配置中添加https://rube.app/mcp作为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。通过确认RUBE_SEARCH_TOOLS有响应来验证 Rube MCP 可用使用工具包slack调用RUBE_MANAGE_CONNECTIONS如果连接不是 ACTIVE按照返回的认证链接完成 Slack OAuth在运行任何工作流之前确认连接状态显示为 ACTIVE核心工作流1. 向频道发送消息何时使用用户想要向 Slack 频道或私信发布消息工具序列SLACK_FIND_CHANNELS- 将频道名称解析为频道 ID [前置条件]SLACK_LIST_ALL_CHANNELS- 如果 FIND_CHANNELS 返回空/模糊结果时的回退 [回退]SLACK_FIND_USERS- 为私信或 提及解析用户 [可选]SLACK_OPEN_DM- 如果直接给用户发消息打开/复用私信频道 [可选]SLACK_SEND_MESSAGE- 使用已解析的频道 ID 发布消息 [必需]SLACK_UPDATES_A_SLACK_MESSAGE- 如需更正则编辑已发布的消息 [可选]关键参数channel频道 ID 或名称不带 ‘#’ 前缀markdown_text格式化消息的首选字段支持标题、粗体、斜体、代码块text原始文本回退已弃用改用 markdown_textthread_ts要在线程中回复的父消息时间戳blocksBlock Kit 布局块已弃用使用 markdown_text陷阱SLACK_FIND_CHANNELS需要query参数缺失时会报错 “Invalid request data provided”SLACK_SEND_MESSAGE需要有效的频道加上 markdown_text/text/blocks/attachments 之一无效的块负载返回 errorinvalid_blocks最多 50 个块如果省略thread_ts回复会变成顶层帖子从 SEND_MESSAGE 持久保存response.data.channel和response.data.message.ts以供编辑/线程操作使用2. 搜索消息和会话何时使用用户想要在工作区中找到特定消息工具序列SLACK_FIND_CHANNELS- 使用in:#channel解析频道以进行限定范围的搜索 [可选]SLACK_FIND_USERS- 使用from:user解析用户以进行作者过滤 [可选]SLACK_SEARCH_MESSAGES- 在可访问的会话中运行关键词搜索 [必需]SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION- 为相关命中展开线程 [必需]关键参数query支持修饰符的搜索字符串in:#channel、from:user、before:YYYY-MM-DD、after:YYYY-MM-DD、has:link、has:filecount每页结果数最大 100或使用 auto_paginatetrue 获取总数sort‘score’相关性或 ‘timestamp’时间顺序sort_dir‘asc’ 或 ‘desc’陷阱如果query缺失/为空验证失败oktrue仍可能意味着没有命中response.data.messages.total0匹配项位于response.data.messages.matches下有时也在response.data_preview.messages.matchesmatch.text可能为空/被截断关键信息可能出现在matches[].attachments[]中当response.data.has_moretrue时通过 FETCH_MESSAGE_THREAD 展开线程可能被截断通过response_metadata.next_cursor分页3. 管理频道和用户何时使用用户想要列出频道、用户或工作区信息工具序列SLACK_FETCH_TEAM_INFO- 验证连接性并获取工作区身份 [必需]SLACK_LIST_ALL_CHANNELS- 枚举公共频道 [必需]SLACK_LIST_CONVERSATIONS- 包含私人频道和私信 [可选]SLACK_LIST_ALL_USERS- 列出工作区成员 [必需]SLACK_RETRIEVE_CONVERSATION_INFORMATION- 获取详细的频道元数据 [可选]SLACK_LIST_USER_GROUPS_FOR_TEAM_WITH_OPTIONS- 列出用户组 [可选]关键参数cursor来自response_metadata.next_cursor的分页游标limit每页结果数默认值不一大型工作区请显式设置types频道类型过滤器‘public_channel’、‘private_channel’、‘im’、‘mpim’陷阱工作区元数据嵌套在response.data.team下而非顶层SLACK_LIST_ALL_CHANNELS只返回公共频道使用SLACK_LIST_CONVERSATIONS覆盖私人/私信SLACK_LIST_ALL_USERS可能触发 HTTP 429 速率限制遵循 Retry-After 头始终通过response_metadata.next_cursor分页直到为空按id去重4. 对消息做出反应和线程操作何时使用用户想要添加表情反应或管理线程会话工具序列SLACK_SEARCH_MESSAGES或SLACK_FETCH_CONVERSATION_HISTORY- 找到目标消息 [前置条件]SLACK_ADD_REACTION_TO_AN_ITEM- 添加表情反应 [必需]SLACK_FETCH_ITEM_REACTIONS- 列出消息上的反应 [可选]SLACK_REMOVE_REACTION_FROM_ITEM- 移除反应 [可选]SLACK_SEND_MESSAGE- 使用thread_ts在线程中回复 [可选]SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION- 读取完整线程 [可选]关键参数channel消息所在的频道 IDtimestamp/ts消息时间戳唯一标识符如 ‘1234567890.123456’name不带冒号的表情名称例如 ‘thumbsup’、‘wave::skin-tone-3’thread_ts用于线程回复的父消息时间戳陷阱反应需要精确的频道 ID 消息时间戳组合表情名称使用 Slack 的命名约定不带冒号SLACK_FETCH_CONVERSATION_HISTORY只返回主频道时间线不返回线程回复使用带父消息thread_ts的SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION获取线程回复5. 计划消息何时使用用户想要计划未来投递的消息工具序列SLACK_FIND_CHANNELS- 解析频道 ID [前置条件]SLACK_SCHEDULE_MESSAGE- 使用post_at时间戳计划消息 [必需]关键参数channel已解析的频道 IDpost_at投递的 Unix 时间戳最多提前 120 天text/blocks消息内容陷阱计划最多提前 120 天post_at必须是 Unix 时间戳而非 ISO 8601常见模式ID 解析在操作之前始终将显示名称解析为 ID频道名称 - 频道 ID带query参数的SLACK_FIND_CHANNELS用户名 - 用户 ID带search_query或email的SLACK_FIND_USERS私信频道带已解析用户 ID 的SLACK_OPEN_DM分页大多数列表端点使用基于游标的分页跟随response_metadata.next_cursor直到为空为可靠翻页设置显式limit值例如 100-200跨页按id对结果去重消息格式化格式化消息优先使用markdown_text而非text或blocks使用USER_ID格式提及用户而非 username在 markdown_text 中使用\n换行已知陷阱频道解析如果频道是私人的且机器人未被邀请SLACK_FIND_CHANNELS可能返回空结果速率限制SLACK_LIST_ALL_USERS和其他列表端点可能触发 HTTP 429遵循 Retry-After 头嵌套响应在包装执行中结果可能嵌套在response.data.results[0].response.data下线程与频道SLACK_FETCH_CONVERSATION_HISTORY只返回主时间线使用SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATION获取线程回复消息编辑需要channel和原始消息ts从 SEND_MESSAGE 响应中持久保存这些值搜索延迟最近发布的消息可能不会立即出现在搜索结果中范围限制缺少 OAuth 范围可能导致 403 错误使用SLACK_GET_APP_PERMISSION_SCOPES检查快速参考任务工具 Slug关键参数查找频道SLACK_FIND_CHANNELSquery列出所有频道SLACK_LIST_ALL_CHANNELSlimit、cursor、types发送消息SLACK_SEND_MESSAGEchannel、markdown_text编辑消息SLACK_UPDATES_A_SLACK_MESSAGEchannel、ts、markdown_text搜索消息SLACK_SEARCH_MESSAGESquery、count、sort获取线程SLACK_FETCH_MESSAGE_THREAD_FROM_A_CONVERSATIONchannel、ts添加反应SLACK_ADD_REACTION_TO_AN_ITEMchannel、name、timestamp查找用户SLACK_FIND_USERSsearch_query或email列出用户SLACK_LIST_ALL_USERSlimit、cursor打开私信SLACK_OPEN_DM用户 ID计划消息SLACK_SCHEDULE_MESSAGEchannel、post_at、text获取频道信息SLACK_RETRIEVE_CONVERSATION_INFORMATION频道 ID频道历史SLACK_FETCH_CONVERSATION_HISTORYchannel、oldest、latest工作区信息SLACK_FETCH_TEAM_INFO无何时使用此技能适用于执行概述中描述的工作流或操作。局限性仅当任务与上述范围明确匹配时才使用此技能。不要将输出视为特定环境验证、测试或专家审查的替代品。如果缺少必要的输入、权限、安全边界或成功标准请停止并请求澄清。
返回列表