跳转到主要内容
让 Alforse 在事情发生时自动做出反应:销售订单一落到某位客户经理名下就通知他,工单一进入搁置就创建一个问题,或在发货单过账后通知另一个系统。拥有工作流权限的用户在自动化 → 工作流下设计这些自动化,并在自动化 → 运行下审查它们的执行情况。

概览

每个工作流都绘制在一块画布上。一张触发器卡片位于顶部;条件和操作卡片挂在它下面,一个触发器可以分出多条相互独立的路径。在您选择“发布”之前,什么都不会运行。此后,每次触发都会成为一条已记录的运行,您可以打开并检查它的每一步,参见运行与历史。

什么会启动工作流

工作流始终恰好有一个触发器步骤。在其上,“触发器类型”切换项提供“事件”或“排程”;选择其中一个会清除您为另一个配置的所有内容。

记录事件

事件指明某一种记录类型上的某一种变更。共有三种形式:

业务时刻

在选择器的更下方,“业务时刻”标题下是 Alforse 内置流程中的九个里程碑: 告诉工作流涉及哪些记录(即它们的标识),但不复制它们的字段。当后续步骤需要该时刻未提供的值时,请在其前面放置一个查找(Find)步骤。

排程

选择“排程”可按时钟运行。您设置“频率”为每日、每周或每月,选择适用的日期,然后输入“一天中的时间”和“时区”。编辑时,“下次触发时间:”(Next fires at:)一行会预览即将到来的触发。

限制谁的更改算数

对于事件触发器,“触发者”决定由“人员”、“工作流”还是“两者”所做的编辑可以触发工作流。新触发器默认为“人员”,这是安全的设置,因为它会忽略由任何工作流(包括本工作流)所做的更改。仅在有意让一个自动化驱动另一个时,才切换为“两者”。

构建工作流

六种步骤类型

步骤在面板中按以下顺序列出:

操作能做什么

十六个操作分为三类:
  1. 创建(4)。工单、问题、采购订单或销售订单。它们调用的正是 Alforse 自身界面背后的服务,因此编号序列、默认值和必填字段的适用方式与对人完全相同。
  2. 更新(10)。每种可监视的记录类型一个,编辑现有记录。
  3. 通知和调用外部(2)。“通知某人”和“调用外部 URL”。

向步骤提供值

字段可以包含您输入的字面值,也可以包含上游产生的值。在文本字段中输入 { 会打开变量菜单,列出较早的步骤、它们的输出,以及深达两层的属性。 只有一定在当前步骤之前已执行的步骤才会出现在那里。条件分支另一侧的值不会列出,对它们的任何引用在发布时都会被拒绝。

对列表中的每一项各运行一次步骤

把一个列表接入期望单个值的字段,该步骤就会循环,对每个条目运行一次,最多 100 次;表单会指出这一点。把两个不同的列表接入同一个步骤会在发布时被拒绝,因为循环将没有唯一的来源。

调用外部 URL

“调用外部 URL”会发出一个 HTTP 请求,即 ,让另一个系统响应 Alforse 中的事件。

保存、发布与版本

自动保存

您找不到保存按钮:编辑内容会持续保存,标题旁的状态显示为“保存中…”、“已保存”或“无法保存”。不完整的草稿也能正常保存,因为验证要等到发布时才进行。

发布

“发布”要么完全成功,要么什么都不改变。在上线之前,Alforse 会确认存在触发器、没有步骤反馈到更早的步骤、必填字段已填写,并且每个变量都指向上游步骤。失败会汇总在一个面板中;选择其中一项会将画布滚动到相关步骤。 发布同时也是电源开关。已发布的版本就是会触发的版本;“取消发布”会停止工作流但不删除任何内容,再次发布即可使其恢复。没有已发布版本的工作流标记为草稿。

版本

版本一经发布即被锁定。要继续编辑,请从版本菜单创建新版本,它以已发布版本的副本为起点,版本号递增。正在进行的运行会在其开始时所用的版本上完成,即使期间发布了另一个版本。

测试运行

工作流的负责人可以在触发器卡片上选择“测试运行”。这是真实的执行,任何操作都会真的发生,但它不会在运行历史中留下条目。

权限

工作流由专用的权限模块管理,此外每条路由还要求员工账号。

运行与历史

每次触发都会产生一条:一条针对该运行的记录,外加每一步各一条,记录输入了什么、输出了什么,以及为何如此结束。

运行列表

在自动化 → 运行下,每行显示状态、工作流、触发器、时长、负责人和起源记录,后者按名称或编号显示并带链接以便快速访问。当另一次运行引发了本次运行时,链列显示“Hop 2”(第 2 跳)及以后。运行在排队或执行期间,列表会实时刷新。

查看运行

打开一行会显示“运行详情”抽屉,顶部是一句简明的结论,例如 “Failed at ‘notify the buyer’: The address answered 500.”(在“通知采购员”处失败:该地址返回 500。) 步骤按其在工作流中的位置列出,而不是按执行顺序。因此未运行的步骤保持在原位,呈灰色并标为“未到达”,或标为已跳过并附原因。展开步骤会显示其输入和输出;对于条件,原因部分会逐个说明每个子句,并高亮所选路径。 循环步骤会记录每一项并附加一个汇总。“Ran 100 of 150; 50 were not used”(运行了 150 项中的 100 项;50 项未使用)表示触及了 100 项的限制,而不是错误。

失败如何扩散

当某一步失败时,只有它所在的分支停止;兄弟分支继续运行,已连接的故障连接点仍会被执行,但运行结束后会报告为失败。权限失败更为严格:即使接了失败路径,它们也会终止该分支。

工作流链

如果一个工作流的写入触发了另一个工作流,Alforse 会把这些运行联系起来并显示整条链。同一条链中同一工作流出现两次,或链长超过十跳,会产生一个已阻止的运行。要从源头防止链式触发,请调整“触发者”。

保留与脱敏

每晚,清理作业会分四个阶段处理运行历史的老化。仍在进行中的运行绝不会被动。 任何名称类似凭证的内容都保存为 [REDACTED],webhook 标头值始终被屏蔽。只是听起来敏感的字段(例如物料键、授权某事的人)会被保留,因为遮蔽过多的日志与遮蔽过少的日志一样无助于调试。

故障排查

相关内容