企业微信群机器人
通过企业微信群自定义机器人(Webhook)把告警推送到企业微信群,新人可按步骤直接完成配置。
概述
企业微信群聊机器人通知媒介,用于把夜莺产生的告警事件通过企业微信群自定义机器人(Webhook)推送到指定的企微群,消息形式为 Markdown 文本。
- 适用场景:希望把告警发到企微群,团队在群里及时响应。
- 你需要准备:一个企业微信群,以及对该群有"添加群机器人"权限。
- 整个配置分三步:①在企微群里添加群机器人 → ②在夜莺新建企业微信通知媒介 → ③在通知规则里填入 Key。
如果你希望通过企业微信的应用消息(比如发给个人单聊、按成员 userid @ 指定人)并支持发送图文卡片,请参考 企业微信应用 文档。本文只讲最常用、最简单的群机器人方式。
第一步:在企微群里添加群机器人
-
打开目标企微群,右上角 群设置 → 群机器人 → 添加机器人 → 新建机器人。
-
输入机器人名称(例如
夜莺告警)和头像,点击"添加"。 -
添加完成后,弹出的机器人管理页中复制 Webhook 地址,形如:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx其中
?key=后面那一串就是后面夜莺里要填的 Key(实际是一个 UUID),先保存好。
企业微信官方限制:单个机器人每分钟最多发送 20 条消息,超过会被限流。如果告警量非常大,建议拆分到多个群/多个机器人,或者在通知规则里开启告警收敛。
第二步:在夜莺新建企业微信通知媒介
-
登录夜莺 → 左侧菜单 通知 → 通知媒介。
-
在左侧类型面板中点击 企业微信,进入新建页面(URL
/notification-channels/add?ident=wecom)。
-
填写基础信息并保存,绝大部分字段系统已经预置好,只需要改一下"名称":

区块 字段 是否需要改 说明 基础配置 名称 需要 例如 企微群机器人,在通知规则里选媒介时看到的就是这个名字基础配置 启用 保持开启 关闭后该媒介不会被发送 变量配置 联系方式 可不填 企微群机器人的 webhook 接口不支持通过 atMobiles 参数 @ 指定人,不用选 变量配置 参数配置 保持默认,不要删 已预置 key、bot_name两个参数,真正的 Key 在第三步通知规则里填HTTP 配置 URL 保持默认 https://qyapi.weixin.qq.com/cgi-bin/webhook/sendHTTP 配置 请求方法 POST企微 Webhook 只接受 POST HTTP 配置 请求头 Content-Type: application/json默认已填好 -
继续向下可以看到"请求参数"和"请求体",这两段是企微发送的核心逻辑,保持默认即可:

-
请求参数 里预置了
key = {{$params.key}},表示真正的 Key 来自于通知规则里填的key参数; -
请求体 已预置成企微 Markdown 消息格式:
{ "msgtype": "markdown", "markdown": { "content": "{{$tpl.content}}" } }其中
{{$tpl.content}}来自"消息模板"里名为Wecom的模板(系统自带,含告警级别、规则名、触发值、标签、时间等字段)。
-
-
点击左下角 保存,一条类型为"企业微信"的通知媒介就建好了。
说明:夜莺 v8 已经不再像旧版那样在媒介本身存 Key,同一个企微媒介可以被多个群/多个机器人复用,每个通知规则填自己的
key就行。
第三步:在通知规则里填入 Key
企微机器人 Webhook 地址里 ?key= 后面的那段 UUID,在通知规则里填:
-
左侧菜单 通知 → 通知规则 → 新增(或编辑已有规则)。
-
在"通知配置"区域:
- 通知媒介:选择你刚才创建的企业微信媒介;
- 消息模板:选择
Wecom(系统自带,如果没有,请到"消息模板"里导入默认模板); - Key:粘贴第一步从企微拿到的 Key(只填
key=后面那一串 UUID,不要带 URL); - Bot Name:可选,方便自己辨识,比如
夜莺监控; - 适用级别 / 适用时段 / 适用标签:按需过滤要推送的事件。
-
保存后,点击"通知测试"即可发送一条测试消息,正常情况下企微群里会立刻收到一条 Markdown 告警。
一个企微媒介 + 多个机器人
如果不同业务线希望推送到不同的群,无需新建媒介,只要在"通知规则"里新增一条规则、填写不同的 key 即可。
进阶:发送告警截图
默认请求体只发送文本消息。若要把告警曲线截图一起推送到企微群,可以在默认请求体下方再追加一段图片消息。企微机器人支持 msgtype: image,但需要先在媒介的"高级设置"中把 App 相关凭据配置好,由夜莺在发送时自动上传图片并取回 media_id。详细步骤较多,新人不建议首次配置时启用,等熟悉了基础群机器人再参考企业微信 · 群机器人配置说明 自行扩展。
常见问题
Q1:提示 invalid webhook url(webhook 地址无效)?
A:通知规则里填的 Key 格式不对。应该只填 ?key= 后面那一串 UUID,不要带 https://...?key= 前缀。
Q2:提示 "errcode":93000 / "errmsg":"invalid bot"(机器人无效)?
A:Key 错了或对应的机器人已被从群里移除。回到企微群 → 群设置 → 群机器人,重新打开该机器人并确认 Webhook 地址。
Q3:消息太多被限流(返回 "errcode":45009 / too many requests)?
A:企微官方限制单机器人 20 条/分钟。建议:
- 开启告警收敛 / 告警聚合;
- 按业务拆分到多个群;
- 仅把一级/二级告警发到企微,三级告警改用邮件等异步渠道。
Q4:消息收到了但没有任何格式,显示一大段原始 JSON?
A:请求体里 msgtype 必须是 markdown,且 JSON 格式要合法。如果你改过请求体,先对照 企微 markdown 消息格式 校验,保存前使用 JSON 格式化工具确认没有语法错。
Q5:能否在请求体里直接填完整 URL?
A:可以。系统对 key 的取值做了兼容——如果填写的值以 http:// 或 https:// 开头,会当作完整 Webhook 地址直接发送;否则会拼成 https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=<你填的值>。
Q6:支持 @ 指定成员吗?
A:企业微信群机器人的 webhook 接口不支持像钉钉那样通过 atMobiles 参数 @ 手机号——只能在 markdown 内容中用 <@userid> 手工嵌入企业微信的成员 userid,使用相对复杂。如果确需 @ 指定人,推荐改用企业微信应用消息。