自动化的工作流,可以帮您在数据的增、删、改之后,自动触发执行其他的操作,例如修改指定的数据,或给指定用户发送通知。

可用于如下场景中:

  • 客服处理完反馈问题后,将状态改为“完成”时,自动填写“完成时间”
  • 根据请假打卡记录,每月按照指定周期,自动统计出员工的考勤情况,并计算出对应工资
  • 根据销售记录表,每月自动汇总出销售的业绩及各个步骤的转化率
  • 当销售成单时,给老板发个通知,周知成单的客户及金额
  • 当库存低于指定数量时,给相关人员发个通知,提醒及时补货
  • 公司的销售和采购记录,自动汇总到现金流中
  • 对销售电话量和成单量和成交额进行多表汇总


工作流在哪?

工作流的设置只在网页端提供。在表格的“设置表格及权限”中,可以找到“自动化工作流”。在工作区的菜单中,还可以查看整个工作区所有的工作流。


创建第一个工作流

我们用一个场景,介绍下工作流的创建过程。

场景:在“客户信息”表格中,当销售人员将客户标记为“付款完成”时,自动给老板发送一个通知,告知其客户名称和合同金额。

小提示 从这里安装 示例表格模板


第一步:选择触发动作

先进入“客户信息”表格的“自动化工作流”设置页面,点击“添加工作流”。

填写工作流名称后,选择“触发动作”。

触发动作,表示当用户对数据进行指定操作后,或根据数据中的时间字段到期后,便会触发工作流。目前支持4种触发动作:

  • 创建数据之后
  • 修改数据之后
  • 删除数据之后
  • 指定时间到期

在示例场景中,销售人员将客户标记为“付款完成”,一般是通过“修改数据”完成的,所以触发动作我们选择“修改数据”,然后下一步。


第二步:设置触发条件

在示例场景中,销售人员只有将客户标记为“付款完成”时,才需要给老板发通知,修改为其他状态时,是不应该通知老板的,这里的“标记为付款完成”就是触发条件。

触发条件,表示当用户修改数据之后,这条数据需要满足什么条件,才会执行工作流的后续操作。触发条件,可以类似 Excel 函数表达式的方式进行书写,详细语法规则请点击这里


条件表达式:

AND({当前数据.销售状态-原值}!={当前数据.销售状态-新值}, {当前数据.销售状态-新值}=[{C:当前表格.销售状态.付款完成}])


下面我逐一解释下表达式中各项的含义:

  • 示例场景中,我们需要判断“销售状态”字段有修改,且修改之后的结果为“付款完成”,这里我们需要在表达式中引入“销售状态”这个字段变量,以及“付款完成”这个选项值常量。

  • 字段变量,可以通过输入左花括号“{”来引入,输入后我们会给出自动提示,按方向键“下”或鼠标点击进行选择,您还可以直接输入文字,我们还会根据文字自动搜索并推荐出您需要用到的变量。选择变量后,右花括号“}”会自动补齐。

  • 选项值常量,可以通过输入“{C:”来引入,之后通过选择表格、选项字段,就可以找到这个备选项了。

  • “销售状态”字段变量与“付款完成”选项值常量的比较可以用等号“=”表示。

  • “付款完成”选项值常量左右两侧的方括号“[]”,代表一组数据。因为选项字段、工作区成员字段、关联字段都存在多选的状态,所以无论单选、多选,统一按照多选处理,所以即使单选目前也要在备选项两侧加上“[]”才可以完成比较。

  • 对于“修改数据”的动作,我们还提供了字段修改前后的“原值”与“新值”,用于比较字段是否修改,“原值”不等于“新值”用“!=”表示。

  • 当需要判断多个条件同时满足时,可以用 AND() 函数,当您在表达式输入框中写入“A”时,我们就会自动推荐“A”开头的函数了,如果您不记得有什么函数,还可以直接点击推荐中的函数分类,选择需要用的函数。

接下来您可以按照给出的完整条件,手动输入一次,体验下表示式是如何写出来的,以及如何利用推荐。


第三步:选择后续操作

在示例场景中,将客户标记为“付款完成”后,需要给老板发通知,这里的“发通知”就是后续操作。

后续操作,表示当满足触发条件后,会执行的操作。目前提供了8种操作:

  • 创建新数据:在指定表格中新增一条数据
  • 修改已有数据:在指定表格中,按照一定的条件找到一批数据,然后修改数据
  • 修改已有数据,如找不到已有数据,则创建新数据:在指定表格中,按照一定的条件找到一批数据,然后修改数据,如果找不到,则创建一条新数据
  • 用找到的数据,批量创建新数据:在指定表格中,按照一定的条件找到一批数据,根据找到的数据(最多100条)在目标表格中逐一创建新数据
  • 锁定/解锁数据:在指定表格中,按照一定的条件找到一批数据,然后锁定/解锁整条数据,或数据的指定字段
  • 发送云表格站内通知:给指定用户发通知,通知内容可以自定义
  • 发送伙伴畅聊群消息:给指定的聊天群中发送消息,消息标题和内容可以自定义
  • 调用外部接口:直接调用外部API接口,实现GET、POST请求,与外部系统通讯(企业版支持)

在不同场景下,这些操作可以在一个工作流中重复使用,这里我们选择“发送云表格站内通知”。

在“通知人”中选择要通知的指定用户,也可以选择当前数据中的某个工作区成员字段变量,这里我们先选择您自己,以便于一会查看通知结果。

在“通知内容”的自定义中可以插入当前数据中的字段变量,与文字拼接成通知内容。在某些场景下不需要自定义通知内容,也可以直接使用系统内置的通知内容。

点击保存,我们就创建好了第一个工作流。创建后,工作流默认“开启”。


工作流的执行

现在,让我们验证下示例场景中工作流的执行。

首先保持工作流为“开启”状态,然后进入“客户信息”表格中,点击第3条数据,修改“销售状态”为“付款完成”。

这时您就会收到一条由“工作流”发来的通知了。

工作流的每一次执行,都会记录执行日志,以便于您了解执行细节。

从工作流列表,点击“查看执行日志”进入,便可看到刚才发送的通知内容,以及发送给谁。


工作流的异常

工作流中使用了大量的字段变量,后续操作中也会往不同的表格写入数据,当变量不存在,或表格被删除,都会引起工作流的异常。

当工作流执行异常的时候,我们会禁止任何用户执行工作流的触发动作,以保证应该自动执行工作流的地方,一定会与触发操作同步执行。

例如示例场景中使用了“修改数据”的触发动作,当该工作流异常时,则禁止修改表格的任何数据。

当工作流异常时,可以按需禁用异常的工作流,也可以通过日志进行排查问题,将工作流修改正确。

可能引起工作流异常的情况:

  • 目标表格被删除、移出工作区
  • 用到的表格字段被删除
  • 用到的分类字段备选项被删除
  • 用到的静态关联数据被删除
  • 表达式动态语法错误,如除0