Zapier:如何在多步 zaps 中跳过一个步骤

Zapier: How to skip a step in multi-step zaps

我正在寻找一种在多阶段 Zap 中跳过步骤(但不是完全中止 Zap)的方法。例如,如果触发事件的值之一是某个值,则不需要 运行 步骤 2(可能是创建或删除步骤),但应该继续执行步骤 3。

我相信我可以通过使用 Code by Zapier 服务来调用单独的 Webhook by Zapier Zap 并在满足条件的情况下选择性地调用(在那之前)另一个这样的 webhook 来做到这一点。但这太骇人听闻了。

Zapier 现在支持自定义过滤器 (https://zapier.com/learn/how-to-use-zapier/custom-filters/)。

您可以根据前面的步骤设置过滤器,本质上说 - "Only proceed to the next step of this Zap if xxx conditions are met"。

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 现在支持分支逻辑,称为路径。这是目前最好的非代码方法。它不会循环回到一个公共端点,但可以通过让它们都以 Webhook POST 结束到一个公共 Webhook 接收器来解决这个问题,该接收器连接 Zap 的末端部分。