
关于
通过 Composio 的 Slack 工具包自动化 Slack 工作区操作,包括消息发送、搜索、频道管理和表情回应工作流
name: slack-automation description: "通过Composio的Slack工具包自动化Slack工作区操作,包括消息发送、搜索、频道管理和表情回应工作流。" risk: critical source: community date_added: "2026-02-27"
通过Rube MCP实现Slack自动化
通过Composio的Slack工具包自动化Slack工作区操作,包括消息发送、搜索、频道管理和表情回应工作流。
前置条件
- 必须连接Rube MCP(RUBE_SEARCH_TOOLS可用)
- 通过
RUBE_MANAGE_CONNECTIONS建立活跃的Slack连接,工具包为slack - 始终先调用
RUBE_SEARCH_TOOLS获取当前工具schema
设置
获取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- 直接给用户发消息时打开/复用DM频道 [可选]SLACK_SEND_MESSAGE- 使用解析后的频道ID发送消息 [必需]SLACK_UPDATES_A_SLACK_MESSAGE- 需要更正时编辑已发送的消息 [可选]
关键参数:
channel:频道ID或名称(不带'#'前缀)markdown_text:格式化消息的首选字段(支持标题、粗体、斜体、代码块)text:原始文本备选(已弃用,推荐markdown_text)thread_ts:父消息的时间戳,用于在线程中回复blocks:Block Kit布局块(已弃用,使用markdown_text)
注意事项:
SLACK_FIND_CHANNELS需要query参数;缺失会报"Invalid request data provided"错误SLACK_SEND_MESSAGE需要有效频道加上markdown_text/text/blocks/attachments之一- 无效的block载荷返回error=invalid_blocks(最多50个blocks)
- 省略
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:file)count:每页结果数(最大100),或auto_paginate=true时为总数sort:'score'(相关性)或'timestamp'(时间顺序)sort_dir:'asc'或'desc'
注意事项:
query缺失/为空时验证失败ok=true仍可能表示无命中(response.data.messages.total=0)- 匹配结果在
response.data.messages.matches下(有时也在response.data_preview.messages.matches) match.text可能为空/截断;关键信息可能出现在matches[].attachments[]中- 通过FETCH_MESSAGE_THREAD展开线程时
response.data.has_more=true表示截断;通过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覆盖私有/IMSLACK_LIST_ALL_USERS可能触发HTTP 429速率限制;遵守Retry-After头- 始终处理分页
兼容工具
Claude CodeCursor
标签
后端开发
