跳转到内容

审批

一个审批步骤暂停工作流,直到你选择的人做出决定。然后,工作流按照与决定匹配的路径继续。决策步骤查看数据并选择一个路径——例如,它将大订单发送到审批,并自动批准小订单。

  1. 根据你编写的政策,确定谁必须审批。
  2. 通过电子邮件向他们询问,并在他们的审批收件箱中列出请求。
  3. 等待足够多的人做出决定,或直到时间耗尽。
  4. 记录结果,然后工作流继续沿匹配的路径进行。

一个暂停的运行显示到目前为止谁已做出回应,例如1/2 已批准。

你在步骤的政策中指定审批者。每个条目是下面之一:

条目 意思
user:<id> 你工作区中的一个人
role:<name> 你工作区中拥有该角色的所有人
team:<slug> 该团队中所有工作区成员
agent:<name> 审核请求并投票的 AI 代理

只有运行工作流的工作区中的人可以审批。如果在请求等待期间有人离开工作区,他们的投票将不再被接受。

设置 作用
quorum 需要多少个审批。一个数字,或 all。
stages 按顺序询问一组人,例如先询问经理,然后是法律部门。
veto 个人单独的拒绝立刻停止请求。
min_humans 需要来自人类的审批数量。代理可以投票,但不能单独做决定。

一旦结果确定,该步骤将停止等待。如果已经有足够多的人批准,或者无法再获得批准,它将不会等待最后一个投票。

设置 作用
timeout 每个阶段等待多长时间,例如 2d。默认是七天。
on_timeout 时间耗尽时发生的事情:timed_out(默认),rejected 或 approved。
remind_after 向未答复的人发送一次提醒。
escalation 在设定时间后,询问更多的人。

时间以带有 s、m、h 或 d 的数字形式表示,例如 36h。

一个完整的例子:

{
"stages": [
{ "approvers": "role:manager" },
{ "approvers": "team:legal", "quorum": "all" }
],
"veto": ["role:general-counsel"],
"remind_after": "1d",
"timeout": "3d",
"escalation": { "after": "2d", "approvers": "role:director" }
}

打开审批以查看当前工作区中等待你的事项。对于每个请求,你可以:

选择 意思
通过 是的,保持原样。
拒绝 不,添加评论说明原因。
弃权 你没有意见。这不计入审批。
在批准前编辑 更改内容,然后批准。工作流继续执行你的更改。当步骤声明哪些字段可以更改时,你将获得仅包含这些字段的表单;否则,可以直接编辑内容。

在你回应后,通常会看到你的投票已记录。如果请求同时关闭,你可能会看到你的投票已发送并正在处理中;该运行会稍后收到投票,请求的记录会显示结果。

电子邮件直接链接到请求。如果你的工作区使用 Slack 集成,你还可以向机器人发送消息:approve 1a2b3c4d,或 reject 1a2b3c4d too expensive。代码在电子邮件中。如果机器人回复说有多个请求与该代码匹配,请从审批中进行响应。

每个离开审批步骤的连接可以命名它运行的结果:approved,approved_with_changes,rejected,timed_out 或 unresolvable。

没有命名结果的连接仅在请求获得批准时运行。 所以“批准,然后发送”默认是安全的。要在拒绝时执行某项操作,请添加一个标记为 rejected 的连接。没有连接达到的步骤将被跳过。

unresolvable 意味着无法询问任何人——例如,你命名的角色没有成员。该步骤立即停止,而不是等待无人。

决策步骤保存一小部分规则表。每条规则检查工作流输入或早期步骤中的值,并设置输出。第一个匹配的规则获胜。

数量 路径 审批者 法定人数
> 10000 review team:finance 2
(任何) auto

离开决策步骤的连接可以命名一个路径。审批步骤可以从决策中采用其政策,因此表格决定了是否询问以及询问谁。如果表格中有错误,则会以明确的错误终止运行,以你的语言显示。它绝不会静默地采用默认路径:无法读取的规则、无法比较的值或该表不支持的设置都会终止运行并说明哪个规则和列。每条规则还必须在几秒钟内评估,因此,遍历非常大列表的规则也会停止运行。

某些工具,例如发送电子邮件,可以设置为在运行之前需要批准。当代理希望使用其中一个时,运行暂停并询问该操作的批准,并显示确切的细节。带更改的批准将使用你的编辑运行该操作。拒绝则告诉代理不允许,并附上你的评论。

每个审批请求都保留在永久记录中。记录显示谁被询问,谁回答以及如何回答,任何评论和更改,以及结果。没有人可以编辑记录。如果你的工作区订阅已过期,请求将停止发送电子邮件,直到再次激活计划,不再接受投票。在工作区超出使用预算时,Slack 投票也会被拒绝,机器人的回复会说明是这两种情况中的哪一种。