【工作流】企业微信机器人 + AirScript:实现 WPS 文档实时问答
为什么选择这个方案?
目前公司的售后数据主要维护在 WPS 表格中,已经形成了现有的办公习惯,因此不希望为了接入 AI 再迁移一套文档系统。
最开始主要考虑企业微信机器人提供的几种方式:
| 方案 | 存在的问题 |
|---|---|
| 本地文档 | WPS 表格更新后,需要重新上传文档,维护成本较高 |
| 智能文档/知识集 | 存在约 15 分钟的数据同步延迟,不适合查询实时变化的售后工单 |
| 机器人工作流 + AirScript | 实时读取 WPS 当前数据,再交给 AI 分析 |
因此最终采用:
企业微信机器人工作流 + AirScript + WPS 表格
利用企业微信机器人作为交互入口,工作流负责处理用户问题和调用接口,AirScript 负责读取 WPS 数据,大模型负责分析并生成最终回答。
整体实现思路
整个流程如下:
员工在企业微信群提问
↓
企业微信机器人
↓
机器人工作流
↓
HTTP 请求
↓
WPS 的 AirScript 脚本
↓
读取当前表格数据
↓
大模型分析
↓
机器人返回答案
例如员工直接在群里:
@售后机器人 S001处理完了吗?
机器人收到问题后,工作流调用 AirScript 读取 WPS 表格,再根据查询结果生成回答。
工作流配置
核心是在企业微信机器人的工作流中配置 HTTP 请求节点。
基本流程:
用户问题
↓
HTTP请求
↓
调用WPS相关接口
↓
执行AirScript
↓
获取WPS数据
↓
大模型
↓
生成回答
HTTP 请求需要根据 WPS 开放平台的接口要求配置:
- Method: POST
- URL: 文档AirScript的webhook脚本URL
- Authorization: WPS AirScript Token
- Content-Type: application/json
- Body: 根据 AirScript 执行接口要求填写
WPS 的 AppID、AppSecret 等信息在 WPS 开放平台创建应用后获取。
实际使用时,接口地址、请求参数及 AirScript Token 获取方式以当前 WPS 开放平台接口文档为准。
企微工作流如下(也可应用于扣子等其他工作流):

AirScript 脚本
WPS 端的脚本主要负责:
读取表格数据,并将数据返回给工作流。
// 获取当前激活的工作表
const sheet = Application.ActiveSheet;
const usedRange = sheet.UsedRange;
const startRow = usedRange.Row;
const startCol = usedRange.Column;
const totalRows = usedRange.Rows.Count;
const totalCols = usedRange.Columns.Count;
const endRow = startRow + totalRows;
const endCol = startCol + totalCols;
// 创建一个数组来存放所有数据
let data = [];
for (let i = startRow; i < endRow; i++) {
let row = [];
for (let j = startCol; j < endCol; j++) {
const cell = sheet.Cells(i, j);
row.push(cell.Text); // 将单元格文本添加到行数组
}
data.push(row); // 将行数组添加到数据数组
}
// 关键:将数据作为返回值,而不是打印
return {
"data": data,
"totalRows": totalRows,
"totalCols": totalCols
};
脚本本身不需要负责发送企微消息,也不需要调用大模型。
它只完成:
WPS 表格 → JSON 数据
然后由企业微信机器人工作流继续处理。
实操步骤
其中,AirScript 脚本编辑在wps在线文档中进行如下操作
效率→高级开发→AirScript脚本编辑
webhook URL获取如下:

AirScript Token获取如下:

大模型分析
获取 WPS 数据后,将用户的问题和相关表格数据传给大模型。
例如:
用户问题:
S001处理完了吗?
WPS查询结果:
单号:S001
处理结果:已补发
是否完结:是
大模型根据实际数据生成:
S001 已处理完成,目前处理结果为“已补发”。
为了避免 AI 自行编造数据,可以在提示词中限制:
只能根据本次工作流获取的WPS数据回答问题。
如果没有找到相关数据,直接说明“未找到相关信息”。
禁止编造、猜测或补充表格中不存在的信息。
这样可以让大模型主要负责理解和组织语言,而不是让它自己“猜测”表格内容。
最终实现效果
目前已经实现员工直接通过企业微信群查询 WPS 中的售后数据。
例如:
员工:
@售后机器人 S001处理完了吗?
机器人:
S001 已处理完成,
当前处理结果为“已补发”。
整个过程无需员工打开 WPS,也不需要将 Excel 重新上传到企业微信知识库。
最终形成:
WPS表格
↓
AirScript
↓
HTTP请求
↓
企业微信机器人工作流
↓
大模型
↓
群聊回答
总结
这套方案主要解决了两个问题:
一是避免本地文档需要反复上传;
二是避免依赖企业微信智能文档的同步延迟。
在保留公司现有 WPS 文档体系的基础上,通过企业微信机器人工作流增加了一层 AI 查询能力。
WPS 负责存数据,AirScript 负责读取,机器人工作流负责处理,AI 负责回答。
题外话
目前该方案也可基于扣子等相关工作流实现(但企微能免费使用),且只能采用于企微内部群。
企业微信的官方API不支持在外部群(含外部联系人的群)添加和使用群机器人,只能通过人工或RPA自动化软件等途径外部群接入bot,存在账号管控风险。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)