钉钉接入需五步:一、钉钉开放平台创建自建应用,获取AppKey/AppSecret;二、配置机器人权限与事件订阅(含im.message.receive_v1),设置Webhook URL及Token/AES密钥;三、在config.yaml中启用dingtalk网关并填入凭证;四、提交审核并授权,确保服务器IP在白名单;五、发送测试消息并核查日志验证响应。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您希望将 Hermes Agent 接入钉钉以支撑企业级自动化工作流,但无法正常接收或响应消息,则可能是由于应用配置、权限设置或网关连接未正确完成。以下是实现该目标的具体操作路径:
一、在钉钉开放平台创建自建企业内部应用
此步骤用于注册 Hermes Agent 在钉钉生态中的唯一身份,并获取后续配置所需的凭证信息。
1、访问钉钉开放平台并使用企业管理员账号登录。
2、进入「应用开发」→「企业内部应用」→「创建应用」。
3、填写应用名称(如 Hermes Agent 工作流助手)与描述,点击「创建」。
4、在应用详情页的「基本信息」中,记录下 AppKey 与 AppSecret。
二、配置应用权限与事件订阅
钉钉要求明确声明机器人可执行的操作范围,并通过事件订阅机制将用户消息实时推送给 Hermes Gateway。
1、进入「应用功能」→「机器人」,开启「自定义机器人」开关。
2、进入「权限管理」→「申请权限」,勾选以下必要权限:
• chat:msg:send(发送群消息)
• contact:user:readonly(读取用户基本信息)
• chat:chat:readonly(读取会话信息)
3、点击「保存」后,进入「事件订阅」,启用「开通事件订阅」。
4、设置请求 URL 为:https://您的服务器域名/webhook/dingtalk。
5、添加需监听的事件类型:im.message.receive_v1(接收普通消息)与 check_url(验证 URL 可达性)。
6、生成并记录 AES 加密密钥 与 Token,二者将在 Hermes 配置中使用。
三、配置 Hermes Gateway 的钉钉网关模块
该步骤将 Hermes Agent 与钉钉服务端建立可信通信链路,确保消息解析、加解密及路由准确无误。
1、在 Hermes 部署服务器上,编辑配置文件 ~/.hermes/config.yaml。
2、在 gateways: 下新增钉钉配置区块:
dingtalk:
enabled: true
app_key: "your_app_key"
app_secret: "your_app_secret"
token: "your_token"
aes_key: "your_aes_key"
encrypt: true
3、确保服务器已开放公网 443 端口,并配置反向代理将 /webhook/dingtalk 路径转发至 Hermes Gateway 监听地址(默认 :8080)。
四、部署并启用应用
钉钉要求所有内部应用必须经企业管理员审批后方可生效,且仅对企业通讯录内成员可见。
1、返回钉钉开放平台,在应用详情页点击「提交审核」。
2、选择「企业内部应用」类型,上传应用图标(PNG,1024×1024),填写简要说明。
3、等待管理员在钉钉客户端「工作台」→「应用管理」中点击「同意」。
4、审核通过后,在「应用安全」中确认 IP 白名单已包含您的服务器公网 IP。
5、执行重启命令使 Hermes 配置加载生效:hermes restart。
五、验证工作流触发能力
接入完成后,需通过真实场景验证 Hermes Agent 是否能响应指令并驱动后续自动化动作。
1、在钉钉 PC 或手机客户端中,搜索并进入已上线的 Hermes Agent 工作流助手 应用。
2、发送测试消息,例如:“生成一份周报摘要” 或 “查询销售部昨日外勤打卡人数”。
3、检查 Hermes 日志输出,确认是否成功接收到加密消息、完成解密、调用大模型、构造响应并回传至钉钉。
4、若响应失败,重点核查日志中是否出现 “Invalid signature” 或 “Decrypt failed” 错误提示。











