如何在Slack模态框的multi_users_select中支持群组选择?
在Slack模态框中同时选择用户和群组的解决方案
Slack原生的multi_users_select和user_select组件仅支持选择用户,无法直接包含用户组(群组)。要实现同一个选择菜单同时展示用户和群组,有两种可行方案:
方案一:使用multi_external_select自定义搜索逻辑
这是最接近需求的方案,通过外部选择组件对接你的后端服务,统一返回用户和群组的选项:
模态框组件配置
在模态框的blocks中添加multi_external_select组件:{ "type": "multi_external_select", "action_id": "users_groups_selector", "placeholder": { "type": "plain_text", "text": "选择用户或群组" }, "min_query_length": 1 }后端处理逻辑
当用户输入搜索词时,Slack会向你预先配置的请求URL发送POST请求,你需要:- 调用Slack API的
users.list接口获取所有用户,根据搜索词过滤匹配项,格式化为选项(比如文本标注[用户] 用户名,值用user:用户ID的格式) - 调用Slack API的
usergroups.list接口获取所有用户组,同样过滤匹配项,格式化为选项(文本标注[群组] 群组名,值用group:群组ID的格式) - 合并用户和群组的选项列表,返回给Slack
- 调用Slack API的
权限要求
你的Slack应用需要申请users:read和usergroups:read权限,才能获取用户和群组数据。
方案二:拆分两个独立选择组件
如果不想开发后端逻辑,可以在模态框中分别添加用户选择和群组选择组件:
- 用
multi_users_select处理用户选择 - 用
multi_static_select(如果群组列表固定)或multi_external_select(如果群组需要搜索)处理群组选择
虽然不是同一个菜单,但能满足用户同时选择用户和群组的需求,实现成本更低。
内容的提问来源于stack exchange,提问作者cmc
相关产品推荐
相关产品推荐

