我正在寻找一种在多阶段 Zap 中跳过步骤(但不完全中止 Zap)的方法。例如,如果触发事件的值之一是某个值,则不需要运行第 2 步(这可能是创建或删除步骤),但应继续执行第 3 步。
我相信我可以通过使用该Code by Zapier
服务调用一个单独的Webhook by Zapier
Zap 并可选地调用(在那个之前)另一个这样的 webhook(如果它符合标准)来做到这一点。但这太骇人听闻了。
我正在寻找一种在多阶段 Zap 中跳过步骤(但不完全中止 Zap)的方法。例如,如果触发事件的值之一是某个值,则不需要运行第 2 步(这可能是创建或删除步骤),但应继续执行第 3 步。
我相信我可以通过使用该Code by Zapier
服务调用一个单独的Webhook by Zapier
Zap 并可选地调用(在那个之前)另一个这样的 webhook(如果它符合标准)来做到这一点。但这太骇人听闻了。
Zapier 现在支持分支逻辑,称为路径。这是目前最好的非代码方法。它不会循环回到一个公共端点,但可以通过让它们都以 Webhook POST 结束到一个公共 Webhook 接收器来解决这个问题,该接收器将 Zap 的末端部分联系起来。
Zapier 也支持代码步骤。显然,这种方式违背了使用 zapier 来避免编码的目的,但是如果步骤很简单(或者维护两个 zaps 很困难),您可以写出请求并将其包围在 if 块中
if (doThisStep) {
const payload = { name: 'Bob' };
fetch('http://some.example/', { method: 'POST', body: JSON.stringify(payload) })
.then((res) => callback(null, res.json())
.catch(callback);
} else {
// Don't forget the callback if you skip the step!
callback(null, { skipped: true });
}
Zapier 现在支持自定义过滤器 ( https://zapier.com/learn/how-to-use-zapier/custom-filters/ )。
您可以根据前面的步骤设置过滤器,基本上说 - “只有在满足 xxx 条件时才继续执行此 Zap 的下一步”。