从微软的Forms提交内容,然后保存内容到Sharepoint上的list,这个过程可以用微软家的Automate实现。这个过程还是比较简单的。一步步跟着设置即可。但是确遇到了一些意想不到的问题,比如一些逻辑要如何设置,以及如何获取列的真实名称等。
本次主要解决了如下需求:
- 保存附件
- 根据条件,触发发送提醒邮件
- 定期检查超时任务,发送提醒邮件
FLOW1:保存Forms内容到Sharepoint上的List,并处理附件
这个没啥好说的,基本流程如下:
这里有一个问题,获取回复中的详细信息这个步骤,默认的选项是没有附件的。所以接下来着重说一下这个条件里的内容。
内容截图如下:
-
在条件里,首先判断本次提交是否有附件。这么做是因为,在Forms中,添加附件不是必填项,如果没有附件,接下来的步骤就会报错了。所以我在Forms里做了个选项,如果用户在问题“是否需要上传附件”中选了是,才会上传附件。
-
重点来了,在这个【处理JSON】步骤中,我们对附件进行处理
这里的内容选择前面获取详细信息里获取到的【上传附件】那个Forms中的问题。
代码如下:
{ "type": "array", "items": { "type": "object", "properties": { "name": { "type": "string" }, "link": { "type": "string" }, "id": { "type": "string" }, "type": {}, "size": { "type": "integer" }, "referenceId": { "type": "string" }, "driveId": { "type": "string" }, "status": { "type": "integer" }, "uploadSessionUrl": {} }, "required": [ "name", "link", "id", "type", "size", "referenceId", "driveId", "status", "uploadSessionUrl" ] } }
-
在循环中,获取到每一个附件,添加到List附件中
FLOW2:分配负责人时触发邮件提醒
这个流比较简单,
重点在于,注意获取更改的项目的时候,这个起始时间选这个,英文是drigger什么什么token,中文是触发窗口开始令牌
然后条件选择中,我这列选择的是,分配人那一项有改动才会触发,还有一个条件是,有人才会触发,否则无法发邮件:
本来这里还有一个发Outlook日历,后面废弃掉了。如果有需要可以加上
FLOW3:咨询结束时,发送结果通知
这个其实本质和2一样,只是条件变成,进度状态不是进行中的时候触发。
FLOW4:咨询到期提醒
每天执行一次定时任务,获取列表中,日期等于处理日期的列,就发送提醒邮件,流程截图如下
有以下几个注意点:
-
时间转换成yyyy-MM-dd格式
-
获取多个项中的筛选,如下截图
需要借助筛选数组这个步骤,来查看某个字段的真实值
在代码视图中,得到了【进度】这个字段的真实字段名称,就可以写出筛选语句了
-
最后,对每条数据做判断,如果日期符合条件,就发送邮件
参考链接
https://blog.csdn.net/D_east/article/details/118327718
https://www.bilibili.com/video/BV1qa411Q74j
https://www.bilibili.com/video/BV1f24y1C7a8