触发器可以实现自动化、个性化的业务流程处理,例如为客户发送生日提醒、服务到期提醒、汇总客户总成交金额、自动审批、根据 A 字段的值自动填写 B 字段的值,甚至调用外部程序接口等等。
RB 的触发器采用
IFTTT
模式,其核心思想为“如果怎样,就怎样”,例如“如果合同审批通过,就创建订单”、“如果客户生日,就发送短信”等等。触发器是 RB 核心功能之一,支持丰富的自动化处理。
添加触发器
要添加触发器,首先进入管理中心 - 触发器,然后点击页面右上角的 [添加] 按钮。
根据需要选择合适触发器类型
选择触发源实体,即此触发器通过选择的实体触发
选择/填写完成后点击 [确定] 按钮,系统将进入下一步对触发器进行完整配置。
当(源实体记录)发生指定“动作”时执行该触发器
通过配置附加过滤条件进一步限定只有符合的数据才会被触发
触发器类型
根据不同的触发器类型,此处的触发内容也不同。详见
触发器类型
如果一个实体有多个触发器,且存在依赖,可配置触发的执行顺序。详见
理解优先级
立即执行此触发器(详情参见下文) ~~v3.1
触发动作中的“审批通过时”是指最终通过(即审批完成),而非某一审批步骤通过。同时注意部分触发动作可能不被源实体所支持,例如一个未开启审批流程的实体不会产生审批相关动作
附加过滤条件在“删除时”可能因无法匹配导致触发器无法触发,此类场景建议分成两个触发器(将删除动作独立出去,且不要配置附加过滤条件)
更新指定字段执行
“更新时”动作同时支持指定字段,即指定字段更新时才执行,若不指定则只要更新就会执行。
指定审批步骤执行 ~~v3.8
“审批通过时”动作同时支持指定审批步骤,即指定步骤审批通过时才执行。若不指定则仅最终通过(即审批完成)时才执行。审批步骤名称是您在审批流程节点中设置的名称。
触发器除了在特定动作下触发执行,也可以被“定期执行”。对于那些没有合适触发时机或需要定期触发的业务(动作)特别有用(例如发送客户生日提醒)。
请注意下图中的执行时段,默认为 0~24 点,您可以根据需要选择指定的时段内执行。例如每天执行 2 次,执行时段选择 0~24 点,其执行时间分别为 0:00 和 12:00 点;执行时段选择 9~18 点,其执行时间分别为 9:00 和 13:00 点。
若您选择“每天”执行,其最大执行次数为 24 次(每小时一次);若“每月”执行,其最大执行次数为当月天数(每天一次);若“每小时”执行,其最大执行次数为 60 次(每分钟一次)
立即执行不用等待特定的动作才执行。请注意如当前触发器已做修改请先保存,未保存的修改不会生效。同时,如您的数据较多耗时会较长,因此建议您在非业务繁忙阶段执行此操作。
可用触发器
RB 提供了丰富的触发器用于满足各种业务场景。我们将在后续版本中提供更多触发器,以便满足您的更多业务需要。
某些触发器可能会引起级联执行,例如 A 触发器用于更新某实体字段值,当某实体字段值被更新后,会被动触发“更新”动作,从而引起 B 触发器(若有)执行,B 触发器又可能引起 C 触发器(若有)执行… 简而言之,无论“更新”动作是如何发生(如手动更新、API 更新、触发器更新等),其对应的触发器都会被执行。
同时,如果两个(或多个)触发器之间存在循环级联执行,RB 会自动检测并避免死循环的发生,您通常无需关心此问题。
自 V3.8 开始,您可以在触发器中开启“禁用级联执行”(仅会产生级联效应的触发器支持)
理解优先级
优先级只在同一源实体的同一动作时才有意义。例如 A 实体有两个触发器(T1 和 T2),且均在“更新”时执行,此时可以通过配置优先级使 T1 和 T2 的执行顺序可控。但如果 T1 是在“更新”时执行,T2 是在“删除”时执行,则优先级的配置将没有意义。
优先级设置
当一个操作产生了多个触发器执行,通常情况下他们会在一个事物中执行(要么都成功要么都失败),但有些触发器例外。例如对于发送通知而言,若邮件/短信等已经发送,即使操作失败了也无法撤回。所以此触发器的优先级应尽量设置的足够小,以便让其最后执行(让前面的触发器先执行)。以下是应注意的触发器及优先级建议:
数据校验:先执行
发送通知:后执行
回调 URL:后执行
过滤条件中使用字段变量
在触发器的高级查询组件中,您可以使用字段变量作为条件值进行更加灵活的条件判断。在以下配置中变量可用:
附加过滤条件
聚合数据条件
数据校验条件
字段变量以
{@ziduan}
格式填写,在实际执行时会使用触发记录作为源数据,并提取其对应字段值替换变量为实际值进行查询操作。