必须先完成openclaw与slack的双向集成配置,否则工具调用失败;需配置slack app、启用事件订阅、设置slash command/block kit/message shortcut,并确保签名验证、参数传递、schema加载及敏感字段脱敏等环节全部正确。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Slack中触发OpenClaw调用外部工具(如GitHub、Jira、CI/CD服务等),必须先完成OpenClaw与Slack的双向集成配置,否则消息无法被识别为可执行指令,工具调用将直接失败。
配置Slack App并启用事件订阅
进入Slack管理后台 → 左侧导航栏点击【Settings & administration】→【Manage apps】→【Build a custom app】→ 选择【From scratch】→ 填写App name为openclaw-slack,开发工作区选目标Workspace。
在【Features】→【Event Subscriptions】中开启Event Subscriptions,Request URL填写OpenClaw部署后暴露的Webhook地址(例如https://your-openclaw.example.com/slack/events);该URL必须已通过Slack签名验证,否则所有事件将被拒绝。
勾选以下事件类型:【app_mention】、【message.channels】、【reaction_added】(仅当需通过表情触发工具时启用);保存后点击【Verify and Save】完成校验。
注册OpenClaw工具到Slack命令与交互组件
方法一:使用Slash Command绑定单工具
在Slack App设置页 → 【Features】→【Slash Commands】→【Create New Command】→ Command为/github-pr,URL指向OpenClaw对应工具路由(如https://your-openclaw.example.com/tool/github/pr);Description写“创建GitHub Pull Request”,Usage Hint填<repo><branch></branch></repo>。
方法二:通过Block Kit构建交互式消息触发多工具
本次更新实现飞书插件 npm 独立分发,新增 Ollama 本地模型配置及 openclaw 命令别名。引入 SQLite 持久化队列,支持断点续传。全面集成飞书、钉钉、企业微信及 QQ 官方渠道,优化阿里云百炼模型选择。修复多 Agent 路由、定时任务校验及配对授权等关键问题,提升系统稳定性与兼容性。
在【Features】→【Interactive Components】→【Action URLs】中,为每个按钮或下拉菜单项配置独立URL,例如按钮文案“Deploy to Staging” → Action URL为https://your-openclaw.example.com/tool/deploy?env=staging;注意URL中必须携带tool_id和user_id参数,否则OpenClaw无法校验调用权限。
方法三:启用Message Shortcut自动解析自然语言指令
在【Features】→【Shortcuts】→【Create Shortcut】→ 类型选【Message shortcut】→ Callback ID设为openclaw_tool_dispatch;触发后,Slack会将用户选中的消息内容连同上下文元数据POST到OpenClaw指定Endpoint,由OpenClaw内置NLU模块识别工具意图并路由——这一步要求OpenClaw已加载对应工具的schema定义,否则会返回unknown tool错误。
在Slack中实际调用工具
第一步:确保用户已在Slack中@了OpenClaw App(如@openclaw-slack list jira tickets);只有被明确提及且消息含可识别动词(list/create/run/check)时,OpenClaw才会启动工具调度流程。
第二步:发送后等待Slack显示“Loading…”状态;若3秒内无响应,检查OpenClaw服务日志中是否出现signature verification failed——这意味着Slack签名密钥未正确配置到OpenClaw环境变量SLACK_SIGNING_SECRET中。
第三步:收到工具执行结果后,OpenClaw会以Bot身份在原线程中回复带格式的Markdown响应;若结果含敏感字段(如API token、密码),【OpenClaw默认不脱敏,必须手动在tool config中声明mask_fields】,否则将明文回传。
第四步:用户点击响应中的「Retry」按钮可重放上一次工具调用;该功能依赖OpenClaw存储的conversation_id与tool_call_id关联,若服务启用了无状态模式且未接入外部DB,重试将失败。









