文章目录
目录
前言
教程模拟场景:
工作中提交周报,提醒周报填写,统计周报,定时查询提醒周报未提交成员,并在企业微信群内提醒该成员
一、使用工具
腾讯云Hiflow+腾讯文档+企业微信+腾讯问卷
二、边际说明
- 腾讯文档:因为Hflow循环节点模块支持最大循环数量500,且API获取的腾讯文档中的数据返回json格式中并未直接返回数据总量同时也不能做分页查询操作,所有在查询腾讯文档中的成员信息或者更新成员数量的时候最大只能查询到前500条数据,人员过多可以在结构设计的时候在腾讯文档中做多个表单分别存储信息,在增加校验字段用于区分,使Hiflow可以根据不同的值获取更新不同的表单的数据。
- 企业微信-内部群:因企业微信限制原因,群Robot只能在内部群使用无法在外部群使用,所有填写的成员必须是企业微信内部成员。
- 企业微信-群Robot:根据Api内容显示一分钟内最大调用接口发送讯息数量为60次。
- HiFlow-适配浏览器问题:建议使用谷歌(Goodle chrome)浏览器,火狐(Firefox)浏览器非必要不要使用未完全适配,存在兼容问题。
三、准备工作
1、腾讯文档
腾讯文档作为数据中心对人员信息进行查询和更新操作
第一步:创建腾讯文档在线表格
第二步:生成一个新的智能表并命名为【人员库】
第三步:添加字段
1.姓名
2.手机号(手机号需为企业微信注册绑定手机号,否则将无法提醒到指定成员)
3.是否提交周报(此字段为单选字段,"已提交"、"未提交",用来校验提交结果)
2、腾讯问卷
腾讯问卷为填写入口,当然会有人问为什么不使用腾讯的表单作为入口,因为腾讯文档的表单Hiflow不能直接收到有新的提交的指令所有我们采用腾讯问卷,当然还有Vika不采用的原因是因为如果人员过多填写频繁免费版的vika的api接口数量仅支持每月1w次。
点击前往:腾讯问卷 - 免费好用的问卷调查系统腾讯问卷提供多种问卷模板,帮助用户高效创建各类问卷。包含及调查模板、测试模板、满意度调查模板、疫情信息收集模板等。
https://wj.qq.com/
第一步:创建一个新的问卷表单并命名为【周报填写】
第二步:添加字段
1.姓名(也可作为主键为判断值,但是存在重名的情况建议采用工号或者手机号)
2.手机号(当期是教程所有直接用手机号作为主键为判断成员唯一ID值,实际场景中可以采用工号等信息作为主键ID值)
3、企业微信
第一步:创建一个企业微信内部群
群内的Robot尽可以在内部群使用,外部群无法使用。
第二步:添加一个新的群机器人并命名未【周报助手】
关于群Robot详细说明请参考官方文档
点击前往:群机器人配置说明 - 接口文档 - 企业微信开发者中心
https://developer.work.weixin.qq.com/document/path/91770
4、腾讯云Hiflow场景连接器
通过Hiflow将根据腾讯问卷的填写人更新腾讯文档的信息,定时通知未填写的人员信息并在企业微信群中通过群Robot进行@提醒
第一步:绑定所需要使用的应用账号
1.添加腾讯文档账户
腾讯文档的比较简单,搜索到腾讯文档应用后直接扫码登录即可
2.添加腾讯问卷账户
腾讯问卷有两个一个是【腾讯问卷】和【腾讯问卷2.0】,我选择的是2.0的,账户添加也是扫码登录即可
3.添加企业微信群机器人
搜索企业微信群机器人点击添加账户,会弹出填写企业微信群机器人名称和webhook地址的输入框,名称可以随意填写建议填写的和企业微信群中一致的名称。
webhook地址可在群中点击群机器人进行查看到直接复制粘贴即可。
第二步:创建一个新的流程-选择【从零开始创建流程】
搭建步骤:
搭建思路:我们总计需要搭建三个流程,第一个流程为【周报提交更新流程】,当腾讯问卷提交后更新腾讯文档中的人员填写结果;第二个流程为【定时提交结果查询并提醒】,是每周定时任务在企业微信群内提醒未提交的成员提交周报;第三个流程是【周报提交数据初始化】,每周定时初始化腾讯文档中的【是否提交周报】字段的数据
1.搭建【周报提交更新流程】
Step1:开始节点选择腾讯问卷2.0
触发:
添加腾讯问卷2.0,触发条件选择:提交问卷。
账号:选择我们准备环节添加的腾讯问卷账号
配置:
选择我们在准备环节中创建的腾讯问卷并点击【测试并预览】返回结果后点击保存
Step2:节点选择腾讯文档
触发:
添加腾讯文档,选择操作:查询一个智能表的数据。
账号:选择我们准备环节添加的腾讯文档账号
配置参数:选择我们准备环节创建的在线表格和对应的【人员库】的智能表,点击【测试并预览】返回结果后点击保存
Step3:节点选择循环执行
循环的数据类型:选择数组
循环的内容:为腾讯文档智能表的返回数据,并命名为【人员库数据】
最大循环数据条数:500
点击【测试并预览】返回结果后点击保存
Step4:节点选择添加执行条件
删除轮询中默认的节点重新填写后即可看到
添加的位置是循环执行的轮询中
变量名:选择【腾讯问卷2.0】中的手机号字段
条件:(文本)等于
值:选择【循环执行】中的轮询出的手机号字段,建议在腾讯文档中添加2条数据轮询出的字段路径比较详细和正确。
Step5:节点选择腾讯文档
前面我们已经完成了数据的填写收集(腾讯问卷2.0)、人员库信息的查询(循环执行轮询节点和执行条件节点),当前我们需要更新腾讯文档中的【是否提交周报】字段的值。
在【执行条件】节点中的满足分支中添加【腾讯文档节点】
添加腾讯文档,选择操作:更新一行智能表记录。
账号:选择我们准备环节添加的腾讯文档账号
配置参数:选择我们准备环节创建的在线表格和对应的【人员库】的智能表
选择更新内容所在行的记录ID:我们在上一个步骤中轮询并判读手机号(检验字段)符合的数据记录ID
字段匹配
字段匹配中的字段为腾讯文档智能表的字段内容,我们只需要更改【是否提交周报】字段即可,其他字段内容无需更改则为空。
【是否提交周报】字段单选列类型,填写的内容和选项一致时,自动选中选项;若不一致时,写入的内容,将自动添加为一个新的选项并选中。比如:已有选项有单选1和单选2,当写入单选3时,自动新增单选3并选中,所有我们一定要将内容改为我们在设置好的单项选择值。
点击【测试并预览】返回结果后点击保存
Step6:节点选择企业微信群机器人
当前【周报提交更新流程】就已经完成了。也可以加入企业微信群提醒功能只需要在我们Step5节点后方加入一个企业微信群Robot即可。
2.搭建【定时提交结果查询并提醒】
再需求中我们还需要每周统计未提交周报的成员做提醒,就需要我们做一个定时任务,每周汇总一次数据并提醒对应的成员。
Step1:开始节点选择定时启动
配置参数:根据实际需要选择提醒的周期和时间
Step2:节点选择腾讯文档:
添加腾讯文档,选择操作:查询一个智能表的数据。
账号:选择我们准备环节添加的腾讯文档账号
配置参数:选择我们准备环节创建的在线表格和对应的【人员库】的智能表,点击【测试并预览】返回结果后点击保存
Step3:节点选择循环执行:
通过遍历我们腾讯文档【人员库】中的数据,来判断都有那些成员未提交周报
循环的数据类型:数组
循环的内容:腾讯文档返回的【人员库】数据
最大循环数据条数:500
点击【测试并预览】返回结果后点击保存
Step4:节点选择执行条件
节点添加位置为循环执行中轮询中
通过判断【是否提交周报】字段筛选出想要提醒的成员
变量名:循环执行中【是否提交周报】字段
条件:(文本)不等于
值:已提交
Step5:节点选择企业微信群机器人
这个节点添加的位置是执行条件中满足的分支
账户选择我们对应的群机器人即可,
参数配置:如需要添加人员信息,请选择变量时候在循环执行中选择。
这样我们的【定时提交结果查询并提醒】模块就完成了,当然在最后的提醒需要注意的是单人提醒方式,提醒一次只能@一个人的方式,如果我们想实现一次提醒@多人也是可以实现的。我们只需要将Step5节点更换成【数据存储】模块
【方案二】Step5:节点选择数据存储:
配置数据库账号,数据库名称为【周报缓存数据】
选择操作:读取数据
配置参数:
健(Key):atData (要@的成员手机号,健是数据库索引主键,为唯一值)
未查询到数据时是否添加数据:是
值(Value): (这个不填写,为空)
点击【测试并预览】返回结果后点击保存
【方案二】Step6:节点选择Code代码:
选择操作:运行JavaScript
本节点需要写入js代码,用来将新的需要@的成员手机号重新写入数据
设置变量:
【at】变量是新增的需要@的成员手机号,来源于循环内容。
【atData】变量为我们 【方案二】Step5节点中设置的数据库数据。
设置代码(格式: JavaScript)
前面的变量内容全部按照本文章配置的可直接复制下方js代码,如有修改的请执行校对。
点击【测试并预览】返回结果后点击保存
// 这些代码被包裹在 async function 中,您可以在代码块中使用 await
// 设置变量表单项的变量会被预置到一个名为 inputData 的对象中,
// 例如 inputData.name 就可以访问到变量 name
// output 是此节点能够识别的输出,如果不对它赋值,程序可能异常或非预期
var returnData = "";
//获取全部atData数据库数据
let atData = inputData.atData;
//获取当期at成员数据
let at = inputData.at;
if( atData == ""){
//拼接字符串
returnData = `${at}`;
}else{
returnData = `${atData},${at}`;
}
output = {atData : returnData};
【方案二】Step7:节点选择数据存储:
在 【方案二】Step6中我们已经将需要@的新成员添加进入了变量atData中了,现在的步骤就需要将新值更新进入数据库中即可。
选择操作条件:添加数据
配置账号一定要选择我们在Step5中配置的数据库账号。
配置参数
健(Key):atData(我们在Step5节点配置的健(Key)要保持一致)
值(Value):Step6节点返回的数据
点击【测试并预览】返回结果后点击保存
【方案二】Step8:节点选择数据存储:
前面的节点已经完成了需要@的成员的数据获取并存储在数据库中,我们只需要在循环结束后获取数据库数据即可。
注意:这个节点不是在轮询分支中完成!!!在顺序分支中添加!!
选择操作:读取所有数据
参数配置:这个选择操作是没有配置项目需要填写的,所有只需要 点击【测试并预览】返回结果后点击保存即可
【方案二】Step9:企业微信群机器人:
操作选择:当期我选择的是【发送文本消息】,只有文本消息才可以@群成员
账号选择:选择我们配置好的robot账户
配置参数
提醒人员手机号:这个参数内容就是我们在 【方案二】Step8中获取的全部需要@的成员的手机号。
【方案二】Step10:数据存储:
这个是方案二的最后一步,清除数据库中的数据,防止对我们下一次提醒任务造成影响
选择操作:删除所有数据
配置账号:选择我们前面使用的数据库账号
配置参数
这个操作选项不需要配置参数,直接点击【测试并预览】返回结果后点击保存即可
好了,到当期我们已经完成了第一个流程【周报提交更新流程】,第二个流程【定时提交结果查询并提醒】,现在我们就剩下最后一个流程、【周报提交数据初始化】,每周定时初始化腾讯文档中的【是否提交周报】字段的数据。
3.搭建【周报提交数据初始化】
这个模块相对比较简单,只需要定时查询数据然后更新就可以了。
Step1:节点选择定时启动:
选择触发条件和具体时间根据自身业务需要进行设置即可
Step2:节点选择腾讯文档:
选择操作:查询一个智能表的数据
配置参数:选择我们在前面步骤中创建的【人员库】即可
Step3:节点选择循环执行:
这个节点的目的是要将所获取到的成员库从全部数据一条条的去更新。
循环的数据类型:数组
循环的内容:为腾讯文档返回数据
最大循环条数:500
Step4:节点选择腾讯文档:
最后一个环节将获取到的单条数据进行更更新,更新字段为【是否提交周报】
选择操作:更新一行智能表记录
配置参数:我们的人员库的智能表
选择更新内容所在行的记录ID:这个内容要选择我们循环执行中单条数据的ID。
字段匹配:这个内容只修改我们需要修改的字段,其他不需要修改的字段为空即可。
是否提交周报:单项选择字段,这个字段要填写我们在腾讯文档中设置的选项内容。
直接点击【测试并预览】返回结果后点击保存即可,然后发布流程就可以了!!!
总结
我们总计完成流程三个,分别是【周报提交更新流程】负责周报提交和更新腾讯文档,【定时提交结果查询并提醒】负责定时查询并提醒未提交周报的成员以及【周报提交数据初始化】负责初始化数据。
不同的流程负责不同的方面,协同完成了工作场景中关于周报的填写、提醒、数据沉淀操作。
通过腾讯问卷我们可以收集到周报的数据,可以在腾讯问卷在完成数据的初步分析和数据留存。填写提交后数据被Hiflow获得,在腾讯文档中更新了人员库在【周报是否提交】字段的数据,管理员可以在腾讯文档中查看到有那些人员没有提交周报,那些人员提交了周报。Hiflow的定时任务可以通过查询腾讯文档中未提交周报的成员信息,并在企业微信群里@该成员并做提醒,同时定时任务也根据定时任对腾讯文档中人员库【周报是否提交】做定时的数据初始化操作。
感觉文章不错,给龙王打个赏吧(❤ ω ❤)
@刚毕业的龙王🐲