如何在 zapier 中重用 javascript 函数

How to reuse javascript functions in zapier

我有一个由 webhook 连接的数百个 zap 组成的更大网络。他们都使用代码步骤 运行ning javascript 函数来清理数据、运行 脚本、获取数据等。

不用说,我正在使用的许多功能必须跨 zaps 重复使用,并且管理它们变得越来越困难。如果我必须更改一个 function/parameter,我必须在所有 zaps 中手动更改它。导出 zaps 是不可能的,因为 webhook 触发器在导入后会发生变化(很遗憾)。

我正在寻找一种方法来集中我的常用功能,但一直无法找到可行的解决方案。

到目前为止:

  1. 我尝试将函数转换为字符串,通过store函数保存它们,然后使用new Function()将它们转换回函数。这效果不佳,尤其是在尝试使用复杂功能时。

  2. 我也考虑过构建自己的 Zapier 应用程序,我可以在其中轻松存储常用功能,这似乎是一个很好的解决方案。这里的问题是我最终会得到 150 个不同的“创建”步骤,这不是很容易使用。我无法在任何地方找到是否有可能像 inputFields 那样具有“动态”创建步骤,您可以在其中搜索以找到所需的选项。

也许 Zapier 有一个“可修改的”代码应用程序,我可以在其中定义我的函数并将它们添加到代码编辑器中,从而使我的函数更加强大?那会很酷。

我希望我在这里遗漏了一些明显的选择,因为我现在被困住了。我也很确定,其他人一直在我现在的位置,我只是没能在这里找到问题。

有什么建议吗?

来自 Zapier 平台团队的 David。好问题!

答案肯定是将所有这些功能都拉到一个自定义应用程序中。我们在这里获得了相关信息:https://github.com/zapier/zapier-platform/blob/master/packages/cli/README.md

这将为您提供编写和组织 JS 代码所需的灵活性。

The problem here is that I would end up with 150 different "create" steps, which wouldn't be very easy to use. I haven't been able to find anywhere if it is possible to have "dynamic" create-steps just as the inputFields where you can search to find the options you need.

编辑器有一个下拉菜单,可以轻松搜索操作。这是我为与 message:

有关的“创建”操作过滤 Slack

你可以给你的函数起个好名字,但之后找到它们就不会太难了。

我们用我们的 Formatter by Zapier 应用做类似的事情,其中​​“文本”类别有很多小功能: