背景、问题和解决思路
企业客户在使用OpenClaw等桌面Agent时会面对如下问题:
准确性低,无法满足企业客户要求。目前Agent在操作企业使用的软件时,无法保证操作结果的准确性,但错误的结果会直接为企业带来真金白银的损失。如供应链的准备报关单过程,电商运营的商品上架过程。
执行速度慢,无法使用在企业客户的生产流程中。Agent运行过程中需要经历无数个“感知-规划-动作”循环,在操作企业相关软件时容易陷入长时间的无效尝试、或很慢才能完成部分工作。
消耗大量Token,性价比低。Agent运行过程时,即便是重复性的任务,也需要模型的全程参与。
因此本文提供一种解决思路
首先将企业内各种标准操作过程使用RPA开发为可重复执行的自动化流程,并能够被Agent以SKILL方式集成。
企业员工在使用Agent时,Agent可使用这些SKILL,真正为企业带来业务价值。
案例介绍
案例背景
运营Agent用来服务电商运营岗位人员,以云端方式运行,运营人员使用时不影响使用自己办公电脑。
本文介绍该Agent提供的一个日常工作SOP(标准操作过程)的实现过程。该SOP运营人员的工作过程如下图所示,目的是分析前一天销售情况,确定新下一步行动计划。
Agent构成:
OpenClaw:员工使用钉钉IM方式与Agent进行交互,下发任务、收到运行结果
企业SKILL:根据SOP,SKILL至少需要提供两个功能:
自动获取该企业在各个平台上的店铺商品销售数据
将日报自动填入到企业使用的日报系统
运行结构
开发SKILL并集成到OpenClaw的操作过程:
安装OpenClaw,并完成与钉钉的对接配置。
使用RPA开发如上两个自动化流程,并发布为MCP Tool。
使用RPA服务型机器人,作为SKILL的运行时。
在OpenClaw中启用mcporter,并添加相应的MCP Server配置。
在OpenClaw中增加SKILL。
运营人员的使用过程:
通过钉钉完成与OpenClaw的交互,完成目标的SOP。
操作过程
安装OpenClaw
本章节使用轻量应用服务器完成OpenClaw的安装、配置和钉钉集成,操作过程详见:
购买并部署OpenClaw应用镜像。本文使用的OpenClaw版本为v2026.3.3,大模型使用qwen3.5-plus。
配置成功后,可在钉钉的聊天窗口中与OpenClaw进行沟通。
开发自动化流程并发布为MCP Tool
使用RPA开发自动化流程的过程详见 开发一个自动化流程。
SOP所需的两个自动化流程的流程输入和输出如下:
自动化流程
流程输入(入参)
流程输出
自动获取店铺商品销售数据
statis_date:查询指定日期的商品销售数据
获取的商品数据为JSON格式,包含每个店铺的商品id、商品名称、风格标签、销售数量、单价、收藏人次等
自动化流程将获取的数据使用task_result保存
提交日报
record_datetime:填报日期
content:日报内容
无
重要由于每个企业客户使用的电商平台、所需的数据、操作的软件各不相同,本例中的2个自动化流程的具体实现内容不具有通用性。可参考 开发一个自动化流程 ,开发符合企业经营过程的自动化流程。
将两个自动化流程发布为RPA应用

发布为MCP Tool。操作过程可参考 发布为MCP Tool,发布后的MCP Tool信息如下
自动获取店铺商品销售数据

提交日报

准备SKILL运行时
本例中,使用RPA服务型机器人作为SKILL的运行时。
服务型机器人需要使用无影云电脑,可参考 服务形式运行自动化流程进行配置。创建成功后如下图,后续步骤会使用该服务型机器人运行SKILL。

在OpenClaw中添加mcp
OpenClaw主要使用mcporter作为mcp client工具。本章节主要介绍如何在OpenClaw中配置mcporter。
使用轻量应用服务器部署的OpenClaw默认没有安装mcporter。可在OpenClaw Gateway Dashboard中查看。

通过OpenClaw Gateway Dashboard的聊天窗口安装mcporter。输入指令为
执行 npm install -g mcporter 安装mcporter 工具。
在RPA控制台的MCP Server菜单中,获取MCP Server配置。如下图,该配置同时包含多个MCP Server信息。

通过OpenClaw Gateway Dashboard的聊天窗口配置mcporter,输入指令为
使用 mcporter 工具,接入MCP Server,需要附上上一步的json。
在OpenClaw中添加SKILL
本章节主要介绍如何在OpenClaw中添加企业SKILL,帮助Agent更好的理解使用者的意图、准确完成任务。
建议完成本章节操作,通过增加SKILL提高Agent使用效果。
上一步完成添加MCP后,OpenClaw已经能够调用到自动化流程。可以通过测试OpenClaw对mcp tool的理解和执行情况,如果比较准确可跳过本章节操作。
准备SKILL,共4个md文件。
说明本文SKILL内容为针对此SOP示例,您在使用时需要结合具体业务场景进行修改。
SKILL.md
--- name: rpa-skill description: | 运营提效工具合集,包括:1.上报日报到公司系统 2. 查询店铺的商品销售数据。 触发时机:提交日报、商品运营、商品统计、趋势、价格、销售量 metadata: { "openclaw": { "requires": { "env": ["ALIYUN_RPA_RobotId"] }, "primaryEnv": "ALIYUN_RPA_RobotId" } } --- # rpa-skill 统一入口: 使用mcporter调用mcp tool ## 包含的工具 | tool | 说明 | |-----|----------------------| | `list_product_metrics` | 查询指定日期的所有店铺的商品销售数据 | | `daily_report` | 将日报内容自动填入到公司的日报系统中 | | `workerSysGetTaskStatus`| 根据taskId查询任务运行状态和结果 | ## 使用流程 - 除了`workerSysGetTaskStatus`,其他工具都是异步调用方式,调用后会立即返回一个TaskId - 可使用`workerSysGetTaskStatus`查询taskId的任务运行状态和结果 - 如果需要等待任务结果,可以需要使用`workerSysGetTaskStatus`工具轮询查询该taskId的任务状态和结果,轮询调用的间隔时间5s-10s - 如果入参需要RobotId,使用`ALIYUN_RPA_RobotId` ## 执行前置 - 首次执行 `list_product_metrics`前,先完整阅读 `references/list_product_metrics.md` - 首次执行 `daily_report`前,先完整阅读 `references/daily_report.md` - 首次执行 `workerSysGetTaskStatus`前,先完整阅读 `references/workerSysGetTaskStatus.md` - 同一会话内后续重复调用同一能力可复用已加载知识;仅在规则冲突或文档更新时重读。references目录下包含3个md,分别如下
list_product_metrics.md
# 查询指定日期的所有店铺的商品销售数据 用途:查询指定日期的所有店铺的商品销售数据 ## 调用 使用mcp调用此工具,需要提供以下参数: | 参数 | 默认 | 说明 | |-------------|----|----------------------------------| | robotId | 必填 | 使用`ALIYUN_RPA_RobotId` | | statis_date | 必填 | 统计指定日期的销售数据,格式为年-月-日,例如2026-11-2 | ## 输出结构 - 调用成功后返回 `TaskId` - 可使用`workerSysGetTaskStatus`查询TaskId的任务执行结果,`taskResult`内容为填写的日报内容,举例如下: ```json { "A店铺": { "products": [ { "id": "FS-2026-001", "name": "新中式提花宋锦外套 (春日限定)", "style_tags": [ "新中式", "国潮" ], "sales": 1850, "favorites_and_cart": 6200, "avg_transaction_price": 328.0 } ] } } ``` - 结果中`products`的字段含义参考 | 字段 | 含义 | |-----------------------|--------------| | id | 商品ID | | name | 商品名称 | | style_tags | 商品标签 | | sales | 销售数量,单位(件) | | favorites_and_cart | 收藏商品的人数 | | avg_transaction_price | 平均成交价格,单位(元) |daily_report.md
# 提交日报 用途:将日报内容自动填入到公司的日报系统中 ## 调用 使用mcp调用此工具,需要提供以下参数: | 参数 | 默认 | 说明 | |-----------------|----|------------------------------| | robotId | 必填 | 使用`ALIYUN_RPA_RobotId` | | record_datetime | 必填 | 日报对应的日期,格式为年-月-日,例如2026-11-2 | | content | 必填 | 需要填写的日报内容,格式要求为纯文本,最大1000字符 | ## 输出结构 - 调用成功后返回 `TaskId` - 可使用`workerSysGetTaskStatus`查询TaskId的任务执行结果,`taskResult`内容为填写的日报内容,举例如下: ```text 2026-03-23:一、昨日 GMV xx 元,转化率 xx%,UV 略降受推广预算调整影响... ```workerSysGetTaskStatus.md
# 查询任务运行状态和结果 用途:根据taskId查询任务运行情况 ## 调用 使用mcp调用此工具,需要提供以下参数: | 参数 | 默认 | 说明 | |--------|----|----------------| | taskId | 必填 | 调用工具时返回的taskId | ## 输出结构 - 返回json结构 - 如果任务完成,返回的结果举例如下,`taskResult`对应工具执行结果,详见references/capabilities/下不同工具的md ```json { "taskStatus": "complete", "taskResult": "工具执行的结果" } ``` - 如果任务未完成,返回的结果举例如下 ```json { "taskStatus": "waiting" } ``` - `taskStatus` 对应的值和含义如下 | 值 | 含义 | |------------|--------| | waiting | 任务等待运行 | | running | 任务正在运行 | | complete | 任务正常结束 | | terminated | 任务异常结束 |
添加SKILL。OpenClaw中可通过两种方式添加。
方式1:通过URL安装
本例使用OSS保存SKILL文件。将上述4个文件提交到OSS后,目录结构如下所示,references中保存另外的3个md文件。

从OSS控制台上获得SKILL.md的url,注意该url需要能够公网访问。
通过OpenClaw Gateway Dashboard的聊天窗口安装SKILL,指令为
安装skill,<填写skill.md的url>。
方式2:OpenClaw后台安装
使用轻量应用服务器控制台上的远程连接功能。使用终端登录服务器后台,首先进入
~/.openclaw/workspace/skills/,并执行命令mkdir -p rpa-skill。将4个md文件按照文件目录上传到rpa-skill目录下。

执行命令
openclaw gateway restart。执行命令
openclaw skills list,查看skill的安装情况。
配置RobotId
设置SKILL运行所在的机器人,避免业务人员使用时还需要向OpenClaw提供机器人ID信息。
重要本文为了简化使用过程,约定所有使用者使用同一个SKILL运行环境(同一个机器人)。
此方式在实际使用时有一定局限性,建议为每个员工配备一个单独的云端数字员工,同时需要增加管理SKILL运行环境(机器人)和员工关系的功能模块。
通过OpenClaw Gateway Dashboard的聊天窗口进行设置,指令为
设置ALIYUN_RPA_RobotId=<需要修改为前文的服务型机器人ID>。
至此,已经完成所有配置工作。
使用效果
使用者在钉钉中与OpenClaw机器人聊天,先要求对数据进行分析,再将总结内容提交日报。如下图所示:

本文的商品销售数据为模拟数据。
在RPA控制台的“服务型机器人-任务管理”菜单下,也能查看到OpenClaw的两次机器人调用。








