【问题标题】:Zapier Zaps with branching Logic带有分支逻辑的 Zapier Zaps
【发布时间】:2018-02-28 04:24:28
【问题描述】:

我想创建一个带有分支逻辑的 zap。我想这样做,因为正在使用的网关/REST API 仅支持添加一个 Web 挂钩。当假设触发器返回具有“event_type”=“alpha”的事件时,我需要一个可以执行操作“A”的 Zap,并且当同一触发器返回具有“event_type”=“beta”的事件时,将执行操作“B”

示例:

if trigger_A.output.event_type = 'alpha'
       then 'Send mail' to 'abc@xyz.com'
else if trigger_A.output.event_type = 'beta'
       then 'Send message' to 'Slack'
else
       post in 'Facebook' trigger_A.output.message

这可以通过一个 Zap 实现吗?

请注意,我不能将多个 webhook 添加到我的 REST API,因此我不能有多个触发器,并且我最多可以使用 1 个 Zap。

论坛的任何帮助将不胜感激。

【问题讨论】:

    标签: zapier zapier-cli


    【解决方案1】:

    edit:这个答案已经过时了。有关 Zapier 对 Paths 的第一方支持,请参阅 the other answer


    这里是来自 Zapier 平台团队的 David。

    我有好消息和坏消息!坏处:目前还不可能开箱即用。正在内部讨论,目前我们对此无话可说。

    好消息是您描述的工作流程是可行的,但需要一些 zaps:

    Zap AWebhooks (catch) -> Code -> Webhooks (post)
    扎普BWebhooks (catch) -> Gmail (send mail)
    Zap CWebhooks (catch) -> Slack (send message)
    扎普DWebhooks (catch) -> Facebook (create new post)

    步骤如下:

    1. 您的服务向 Zap A 发送一个 webhook,其中包含描述 event_type 的键 + 值
    2. 您有一个代码步骤运行您在上面发布的伪代码的真实版本,根据事件类型设置url 变量。 Zaps B、C、D 每个触发器都有一个唯一的 url,所有这些都为 Zap A 所知。
    3. Zap A 向第 2 步返回的 URL 发帖,发送您想要的任何数据。
    4. 其中一个子 zaps (B,C,D) 被触发,执行所需的操作。

    所以你有它!不漂亮,但肯定可行。

    ​如果您还有其他问题,请告诉我!

    【讨论】:

    • 谢谢大卫。这对我会有很大的帮助。想知道我是否可以使用静态钩子编写(使用 Zapier CLI)触发器并在触发器内实现过滤逻辑,而您 Zap A 只是将数据(使用 Zapier webhook 操作 POST)转发到 Zap B、Zap C、Zap D 的触发器.
    • 是的,这也行!我会坚持使用触发器的内置 webhook 应用程序,但您可以创建一个自定义 CLI 应用程序,该应用程序具有操作 Route Hook,其中包含您的所有路由和其他 zap 逻辑。不幸的是,您不能使用您指定的静态挂钩手动触发触发器。您可以使用 REST 钩子触发器,但每次打开或关闭 zap 时,url 都会改变(我相信)。所以不容易。
    【解决方案2】:

    我知道这是一个老问题,但值得分享好消息。您现在可以使用开箱即用的 Zapier 定义分支逻辑:

    Paths 让您可以构建高级工作流程来运行基于不同的操作 根据您决定的条件。路径是 Zapier 的条件逻辑工具。 将路径视为 If/then 逻辑:如果 A 发生在您的触发器应用程序中, 然后执行此操作,如果 B 发生则执行其他操作,依此类推。

    路径 功能仅适用于 Professional、Professional Plus 和 Teams 计划帐户。更多可以在Zapier documentation on Paths找到。

    另一个可能有用的选项是使用filters and multiple zaps

    【讨论】:

    • 这不是 if/else 逻辑,而是 if/if 逻辑。不幸的是,没有任何方法可以专门运行它们,这就是分支的整个概念!
    • 是的,但如果你仔细想想,如果 ifs 的话,if else 真的很复杂。例如,使用 OP 的工作流程,您有: 分支 B:if trigger_A.output.event_type = 'beta' 分支 C:if trigger_A.output.event_type != 'beta' 和 if trigger_A.output.event_type != 'beta'
    猜你喜欢
    • 2022-01-23
    • 2016-08-18
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    相关资源
    最近更新 更多