# 影刀RPA进阶教程:Webhook联

影刀RPA进阶教程:Webhook联动——让影刀主动推送消息到飞书/钉钉/企业微信

流程跑完了,数据写进Excel,但运营同事不知道。
每次还要手动去群里说“数据好了”。
解决方案:用Webhook(机器人)让影刀流程结束后自动推送消息到飞书/钉钉/企微群。

本文讲解Webhook的原理、配置方法、以及在影刀中的调用方式——不需要写Python,只用影刀自带的“发送HTTP请求”指令。


一、Webhook是什么

一句话解释:一个特殊的网址,往这个网址发POST请求,机器人就会在群里说话。

支持的平台

  • 飞书(自定义机器人)
  • 钉钉(自定义机器人)

picture.image

  • 企业微信(群机器人)
  • 其他支持Webhook的平台(如Slack、Teams)

picture.image

picture.image 在影刀中使用: 指令面板 → 网络 → 发送HTTP请求(也叫“HTTP请求”)


picture.image

二、飞书Webhook配置(3分钟)

步骤1:创建飞书群机器人

  1. 打开飞书群聊 → 点击群设置(右上角“...”)
  2. 选择“群机器人” → “添加机器人” → “自定义机器人”

picture.image 3. 给机器人起名(如“RPA通知助手”)

  1. 复制Webhook地址(形如 https://open.feishu.cn/open-apis/bot/v2/hook/xxxxxx

⚠️ Webhook地址不要泄露,谁拿到都能在群里发消息。

picture.image

步骤2:测试Webhook(用影刀或浏览器插件)

可以用Postman或直接在影刀中测试。

步骤3:影刀中发送飞书消息

picture.image

# 发送HTTP请求指令配置
# 请求URL:{webhook_url}
# 请求方法:POST
# 请求头:
#   Content-Type: application/json
# 请求体(JSON):
{
    "msg_type": "text",
    "content": {
        "text": "【采集完成】今日数据已更新,共采集500条商品信息。"
    }
}

影刀操作

  • 拖入“发送HTTP请求”指令
  • 在详情面板中,URL填全局变量 {g_feishu_webhook}
  • 方法选“POST”
  • 请求体类型选“JSON”,直接粘贴上述模板,把text内容换成变量

支持富文本(飞书)

{

![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/ccdbcae8d97f4bebacf95357f6bdf237~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1781916894&x-signature=TqbtZ8TlHcMOUQYulC7L12wimVM%3D)
    "msg_type": "post",
    "content": {
        "post": {
            "zh_cn": {
                "title": "采集完成通知",
                "content": [
                    [
                        {"tag": "text", "text": "今日采集商品数:"},
                        {"tag": "strong", "text": "500"},
                        {"tag": "text", "text": "条\n"}
                    ],
                    [
                        {"tag": "a", "href": "https://www.feishu.cn/xxx", "text": "点击查看表格"}
                    ]
                ]
            }
        }
    }
}

picture.image

三、钉钉Webhook配置与发送

picture.image

配置

  1. 钉钉群设置 → 智能群助手 → 添加机器人 → 自定义
  2. 设置安全策略(建议用“加签”或“自定义关键词”)
  3. 复制Webhook地址

影刀中发送(钉钉)

请求体模板

{
    "msgtype": "text",
    "text": {
        "content": "【RPA通知】数据采集完成,共500条"
    }
}

如果设置了“加签”:需要在请求头中计算签名,比较复杂。建议用“自定义关键词”方式(消息中必须包含某个词,如“RPA”),更简单。

钉钉支持markdown格式

{
    "msgtype": "markdown",
    "markdown": {
        "title": "采集报告",
        "text": "#### 今日采集完成\n- 商品数:500\n- 成功率:98%\n[查看详情](https://xxx)"
    }
}

四、企业微信Webhook配置与发送

配置

  1. 企业微信群 → 群机器人 → 添加机器人
  2. 复制Webhook地址(格式:https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxx

影刀中发送(企微)

请求体模板

{
    "msgtype": "text",
    "text": {
        "content": "【采集完成】共500条数据,耗时3分20秒"
    }
}

支持markdown

{
    "msgtype": "markdown",
    "markdown": {
        "content": "## 采集报告\n> 商品数:<font color=\"info\">500</font>\n> 成功率:98%"
    }
}

支持@所有人

{
    "msgtype": "text",
    "text": {
        "content": "数据已准备好,请查看",
        "mentioned_list": ["@all"]
    }
}

五、实战:在流程中嵌入通知

场景1:采集开始/结束通知

# 流程开始
调用 HTTP请求(飞书)
    msg_type = "text"
    content = "【RPA启动】拼多多采集流程开始,预计10分钟完成"

# 采集主逻辑...

# 流程结束
调用 HTTP请求(飞书)
    content = "【RPA完成】采集结束,共采集{total_count}条,耗时{duration}秒。失败{error_count}条。"

场景2:异常告警

在Catch块中发送通知:

Try
    # 采集
Catch
    # 发送告警
    调用 HTTP请求(钉钉)
        content = "【RPA异常】采集失败,错误:{error},流程已停止,请人工介入。"
    停止流程

场景3:带表格链接的通知

先把数据写到飞书表格,然后把表格链接通过Webhook发送:

{
    "msg_type": "post",
    "content": {
        "post": {
            "zh_cn": {
                "title": "数据准备就绪",
                "content": [
                    [
                        {"tag": "text", "text": "点击查看:"},
                        {"tag": "a", "href": "{feishu_sheet_url}", "text": "商品数据表"}
                    ]
                ]
            }
        }
    }
}

六、模板:封装成子流程

创建子流程 Common_SendNotification

输入参数

  • in_message(字符串):消息内容
  • in_webhook_type(字符串):feishu / dingtalk / wecom

内部实现(用“如果”分支):

如果 {in_webhook_type} == "feishu"
    URL = {g_feishu_webhook}
    请求体 = {"msg_type": "text", "content": {"text": {in_message}}}
否则如果 {in_webhook_type} == "dingtalk"
    URL = {g_dingtalk_webhook}
    请求体 = {"msgtype": "text", "text": {"content": {in_message}}}
否则如果 {in_webhook_type} == "wecom"
    URL = {g_wecom_webhook}
    请求体 = {"msgtype": "text", "text": {"content": {in_message}}}

发送HTTP请求

注意:Webhook地址用全局变量存储,方便统一修改。


七、常见问题与避坑

问题原因解决方法
消息发不出去Webhook地址错误或失效重新生成机器人,更新全局变量
钉钉提示“sign not match”开启了加签安全设置改用“自定义关键词”或在请求中计算签名
飞书消息被限制频率每分钟最多发60条正常通知不会超,不要用循环发几百条
请求超时网络问题增加超时时间(发送HTTP请求指令可设)
消息内容太长被截断各平台限制不同(飞书约4万字,钉钉2万)超出时只发摘要,详情放表格链接
全局变量存储URL不安全任何人拿到变量值都能发消息不导出应用或导出时脱敏

八、扩展:让消息带图片(发送图片到飞书)

飞书支持发送图片,需要先上传图片获取 image_key

简化版:直接发文本+链接,不要折腾图片。

进阶:用两个HTTP请求(先上传图片,再发消息)。
上传图片接口:https://open.feishu.cn/open-apis/im/v1/images,需要tenant access token(需额外获取,复杂度大增)。
不建议在RPA中做,除非非常必要。


九、影刀专属操作清单

操作精确指令说明
发送HTTP请求发送HTTP请求网络分类下
设置请求头在指令详情中添加Content-Type: application/json
填写请求体JSON格式各平台模板不同
全局变量g_feishu_webhook存储URL,方便修改
输出日志输出日志记录发送状态

版本差异:社区版发送HTTP请求指令可用,无额外限制。
创业版/企业版同样支持。


十、总结

平台优势推荐场景
飞书支持富文本、@人电商团队用飞书多
钉钉安全设置灵活国内企业钉钉用户多
企业微信与微信互通需要通知到外部客户

最简单的通知模板

{
    "msgtype": "text",
    "text": {
        "content": "【流程名】状态:成功/失败。时间:xxx。详情:xxx"
    }
}

用这个模板,5分钟就能配好。


作者:林焱

本文为《影刀RPA学习手册》系列番外篇之五。Webhook是RPA流程与团队协作的桥梁,建议每个生产级流程都配上通知。

0
0
0
0
评论
未登录
暂无评论