@zapier/zapier-sdk-cli

中文文档
0.89.3发布于 2026/11/03SEE LICENSE IN LICENSETypeScriptESM + CJS

Zapier SDK的命令行接口

中文使用文档
文档目录11 节
  1. 目录表
  2. 稳定
  3. 快速入门
  4. 安装
  5. 预排
  6. 全局选项
  7. 可用命令
  8. 账户
  9. 行动
  10. 应用程序
  11. 客户端凭证

@zapier / zapier-sdk-cli

目录表

稳定

每个命令都属于三个稳定层之一。默认情况下可以使用稳定命令;选择更广泛的层与 --stability beta / --stability experimental,或者 ZAPIER_STABILITY=<level> 在环境中。

层合同
稳定的我们打算保留的地表。虽然SDK处于开放测试版(0。X),突破性的更改仍然可以在小版本中登陆;我们会在可能的情况下首先弃用,并且会在变更日志中以迁移注释的形式标注出来。
β功能齐全,准备构建,但形状仍然可能改变,因为它沉淀。更改在次要版本中发布,并附有更改日志迁移说明,没有弃用期。
实验仍在设计中;可能在任何释放中改变形状或消失,恕不另行通知。

非稳定命令被标记为 --help 然后打印 ⚠️ BETA COMMAND / ⚠️ EXPERIMENTAL COMMAND 注意它们何时运行。

快速入门

对于新项目。

启动一个新项目,你需要的一切,开始通过Zapier整合数千个应用程序:

# Create a new Zapier SDK project (scaffolds files, installs deps, and logs you in).
npx @zapier/zapier-sdk-cli init my-zapier-app

# Or skip the interactive prompts and accept all defaults.
npx @zapier/zapier-sdk-cli init my-zapier-app --non-interactive

安装

对于现有的项目。

运行向导式设置来添加未声明的Zapier SDK依赖项,验证和检查连接的应用:

npx @zapier/zapier-sdk-cli setup

对于AI代理或其他非交互式调用者,开始逐步设置:

npx @zapier/zapier-sdk-cli setup --agent

逐字逐句地询问打印向导问题。批准后,运行准确 setup --step <name> --non-interactive 命令。使用 --answer 选择或 文本输入。成功后,按照命令打印的下一步指导操作; 没有额外的 --agent 需要打电话。 代理人拥有批准和进度;安装程序都不保存。 完成后,当前代理接收指令,从 连接的应用程序,而不是被要求打开哪个代理。

留在指定的目录中。导出共享SDK设置,以便以后的命令和 生成的脚本继承它们。全局CLI标志只应用于它们的调用。 安装程序使用正常的SDK凭证和挂起的OAuth存储;挂起的OAuth流 由安装程序开始,必须保留保存帐户的记录。本地授权 在浏览器中完成。无头授权要求用户粘贴最终结果 回调URL;将它只传递给打印的命令,不要保存它。 永远不要重复一个结果未知的命令,尤其是Slack发送。

打印的命令固定CLI版本,并使用POSIX shell语法。代理模式使用 纯文本,不是 --json,并且从不读取终端输入。普通的 setup 需要一个终端,并指向其他呼叫者 --agent.

如果你已经有了一个项目,想要添加CLI作为依赖项:

npm install -D @zapier/zapier-sdk-cli

预排

# See all available commands
npx zapier-sdk --help

# Login to Zapier.
npx zapier-sdk login

# Search from thousands of supported apps.
npx zapier-sdk list-apps --search "gmail"
# The output will show you the valid keys next to the app title like this:
# 1. Gmail (GoogleMailV2CLIAPI, gmail)

# Run any action for the app, using one of the app keys.
npx zapier-sdk run-action gmail
# This will ask you for the type of action you want to run.
# `search` or `write` are typically great for testing.
# Note that you usually need a connection to the app to run
# the action. If you don't already have one, you can create a new one at:
# https://zapier.com/app/assets/connections

# List connections for an app.
npx zapier-sdk list-connections gmail
# Or only list the ones you own.
npx zapier-sdk list-connections gmail --owner me
# Or just grab the first one.
npx zapier-sdk find-first-connection gmail --owner me

# Make any API request to an app using your connection.
npx zapier-sdk curl "https://gmail.googleapis.com/gmail/v1/users/me/labels" --connection 123

全局选项

这些选项可用于所有命令:

选项短描述
--version-V显示版本号
--help-h显示命令帮助
--stability <level>使用哪个稳定层的SDK / CLI界面:稳定、beta、实验。也可以使用ZAPIER_STABILITY环境变量(默认:stable)进行设置。
--credentials <token>身份验证令牌。
--credentials-client-id <id>用于身份验证的OAuth客户端ID。
--credentials-client-secret <secret>用于身份验证的OAuth客户端密钥。
--credentials-base-url <url>覆盖身份验证基URL。
--debug启用调试日志。
--base-url <url>Zapier API端点的基础URL。
--tracking-base-url <url>Zapier跟踪端点的基础URL。
--max-network-retries <count>速率限制和服务器错误响应的最大重试次数(默认:3)。
--max-network-retry-delay-seconds <seconds>网络重试之间的最大延迟(以秒为单位)(默认:60)。
--max-concurrent-requests <count>最大并发HTTP请求数(默认:200,最大值:10000)。
--approval-timeout-seconds <seconds>批准轮询超时(以秒为单位)。默认值:600(10分钟)。
--max-approval-retries在放弃之前,每个请求的最大顺序审批轮数(每个门控策略一个)。默认值:2。
--approval-mode手动审批的审批流程行为。“poll”创建批准,在浏览器中打开它,轮询直到解决,然后重试原始请求。“throw”创建手动审批,并抛出带有审批URL的ZapierApprovalError,以便调用者可以处理它。服务器创建的自动模式审批总是轮询,直到它们到达终端状态,并在审批时重试原始请求,即使该选项为“throw”。 “disabled”在不创建审批的情况下,对需要审批的响应抛出ZapierApprovalError。解析顺序是:显式选项,然后是ZAPIER_APPROVAL_MODE,然后是默认行为(轮询交互式TTY,否则抛出)。
--open-auto-mode-approvals-in-browser默认情况下,自动模式审批不会在浏览器中打开。启用此选项以打开审批URL并查看审批过程。解析顺序是:explicit option,然后是ZAPIER_OPEN_AUTO_MODE_APPROVALS_IN_BROWSER,然后是false。
--correlation-id <id>请求跟踪的关联ID。设置时,作为 zapier-correlation-id 每个出站请求的头。返回到ZAPIER_CORRELATION_ID环境变量。
--causation-id <id>请求跟踪的原因ID。设置时,作为 zapier-causation-id 每个出站请求的头。返回到ZAPIER_CAUSATION_ID环境变量。
--can-include-shared-connections允许列出共享连接。
--can-include-shared-tables允许列出共享表。
--can-delete-tables允许删除表。
--json输出原始JSON而不是格式化的结果

可用命令

CLI会自动从SDK注册表生成命令。所有SDK功能都可以作为CLI命令使用串大小写命名。

布尔标志是状态切换,不接受值:pass --flag 启用或省略标志以使用默认值。禁用标志与省略单独的禁用标志不同(例如: --disabled). 布尔标志后的值(--flag false)作为额外参数被拒绝。

账户

您的Zapier用户帐户,即SDK登录时使用的帐户。用这个来确认是谁。

get-profile

获取当前用户的配置文件信息

用法:

npx zapier-sdk get-profile

login

登录Zapier访问您的帐户

选项:

选项类型要求默认的可能的值描述
--namestring❌- - - - - -- - - - - -使用此名称激活存储的凭据。如果不存在,使用该名称创建新的凭据;交互式登录首先要求确认。
--timeoutstring❌- - - - - -- - - - - -登录超时时间(以秒为单位)(默认:300)
--use-approvalsboolean❌- - - - - -- - - - - -要求对使用这些凭据执行的操作进行批准
--non-interactiveboolean❌- - - - - -- - - - - -跳过交互式提示。尽可能使用默认值;错误,而不是在需要输入时提示。在CI、管道输出或TTY检测不可靠的环境中非常有用。
--headlessboolean❌- - - - - -- - - - - -在没有浏览器的机器上登录时使用。打印要在其他地方打开的登录链接,然后接受粘贴的环回调URL。
--callback-urlstring❌- - - - - -- - - - - -从浏览器中使用最后的OAuth回调URL恢复挂起的非交互式登录。

用法:

npx zapier-sdk login [--name] [--timeout] [--use-approvals] [--non-interactive] [--headless] [--callback-url]

logout

注销您的Zapier帐户

用法:

npx zapier-sdk logout

signup

设置Zapier帐户访问权限和SDK凭证

选项:

选项类型要求默认的可能的值描述
--timeoutstring❌- - - - - -- - - - - -注册超时(以秒为单位)(默认:300)
--use-approvalsboolean❌- - - - - -- - - - - -要求对使用这些凭据执行的操作进行批准
--non-interactiveboolean❌- - - - - -- - - - - -跳过交互式提示。尽可能使用默认值;错误,而不是在需要输入时提示。在CI、管道输出或TTY检测不可靠的环境中非常有用。
--headlessboolean❌- - - - - -- - - - - -在没有浏览器的机器上注册时使用。打印要在其他地方打开的注册链接,然后接受粘贴的环回调URL。
--callback-urlstring❌- - - - - -- - - - - -从浏览器中使用最终的OAuth回调URL恢复未完成的非交互式注册。

用法:

npx zapier-sdk signup [--timeout] [--use-approvals] [--non-interactive] [--headless] [--callback-url]

行动

动作是应用程序可以做的事情,比如发送电子邮件或创建联系人。使用这些工具来查找应用程序的操作,查看它们需要什么输入,并直接在Zap之外运行它们。

create-action-run

启动操作运行并返回其ID,而无需等待结果。操作的运行是异步的:这将立即返回一个运行ID,并且 getActionRun 获取结果。当您想要开始工作并稍后收集它时,请使用这一对(多次运行,将ID交给另一个进程,在重新启动时幸存下来)。 runAction 是启动运行并等待其结果的单调用形式。

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -操作键(例如,send_message或find_row)
--connectionstring, number❌- - - - - -- - - - - -连接别名或连接ID (UUID或正整数)。如果操作需要连接进行身份验证并与服务交互,则需要。与连接映射中的键匹配的字符串将根据它进行解析;否则直接作为连接ID使用。
--inputsobject❌- - - - - -- - - - - -输入操作的参数
--pagestring❌- - - - - -- - - - - -要为批量读取操作获取的页。通过 next_page 返回之前的运行以获取以下页面。
--callback-urlstring❌- - - - - -- - - - - -URL Zapier张贴完成运行,所以你不需要投票。必须使用HTTPS并解析到公共主机,因此本地接收方需要隧道。身体匹配什么? getActionRun 的回报。验证 Zapier-Callback-Signature 头,并期望相同的运行到达不止一次。
--idempotency-keystring❌- - - - - -- - - - - -使重试运行安全的键。在72小时内使用相同键的另一次运行返回原始运行,而不是开始一个新的运行,即使它的输入不同,所以每次不同的运行使用一个新的键。经过分页的运行伴随着从该密钥和该页派生的密钥发送,因此一个密钥覆盖每个页面,重新尝试一个页面会重播该页的运行。

用法:

npx zapier-sdk create-action-run <app> <action-type> <action> [--connection] [--inputs] [--page] [--callback-url] [--idempotency-key]

get-action

获取有关特定操作的详细信息

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -操作键(例如,send_message或find_row)

用法:

npx zapier-sdk get-action <app> <action-type> <action>

get-action-input-fields-schema

获取操作输入字段的JSON Schema表示形式。返回一个JSON Schema对象,该对象描述操作输入参数的结构、类型和验证规则。

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序键(例如,‘SlackCLIAPI’或‘github’之类的蛞蝓)以获取输入模式
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -获取输入模式的操作键
--connectionstring, number❌- - - - - -- - - - - -连接别名或连接ID (UUID或正整数)。与连接映射中的键匹配的字符串将根据它进行解析;否则直接作为连接ID使用。与connectionId互斥。
--inputsobject❌- - - - - -- - - - - -可能影响模式的当前输入值(例如,当字段依赖于其他字段值时)

用法:

npx zapier-sdk get-action-input-fields-schema <app> <action-type> <action> [--connection] [--inputs]

get-action-run

开始运行的操作的当前状态 createActionRun。这是一个立即返回的时间点读取:Zapier尚未完成执行的运行返回状态 waiting,因此再次调用以检查结果。 runAction 开始运行并在一次调用中等待其结果。结果将在创建运行后存储7天。

选项:

选项类型要求默认的可能的值描述
<run>string✅- - - - - -- - - - - -返回的操作运行ID createActionRun

用法:

npx zapier-sdk get-action-run <run>

list-action-input-field-choices

获取动态下拉输入字段的可用选项

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -操作键(例如,send_message或find_row)
<input-field>string✅- - - - - -- - - - - -获取选项的输入字段键
--connectionstring, number❌- - - - - -- - - - - -连接别名或连接ID (UUID或正整数)。与连接映射中的键匹配的字符串将根据它进行解析;否则直接作为连接ID使用。与connectionId互斥。
--inputsobject❌- - - - - -- - - - - -可能影响可用选项的当前输入值
--pagenumber❌- - - - - -- - - - - -分页结果的页码
--page-sizenumber❌- - - - - -- - - - - -每页的选择数
--max-itemsnumber❌- - - - - -- - - - - -在所有页面中返回的最大项目总数
--cursorstring❌- - - - - -- - - - - -起始光标

用法:

npx zapier-sdk list-action-input-field-choices <app> <action-type> <action> <input-field> [--connection] [--inputs] [--page] [--page-size] [--max-items] [--cursor]

list-action-input-fields

获取特定操作所需的输入字段

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -操作键(例如,send_message或find_row)
--connectionstring, number❌- - - - - -- - - - - -连接别名或连接ID (UUID或正整数)。与连接映射中的键匹配的字符串将根据它进行解析;否则直接作为连接ID使用。与connectionId互斥。
--inputsobject❌- - - - - -- - - - - -可能影响可用字段的当前输入值
--page-sizenumber❌- - - - - -- - - - - -每页输入字段的数量
--max-itemsnumber❌- - - - - -- - - - - -在所有页面中返回的最大项目总数
--cursorstring❌- - - - - -- - - - - -起始光标

用法:

npx zapier-sdk list-action-input-fields <app> <action-type> <action> [--connection] [--inputs] [--page-size] [--max-items] [--cursor]

list-actions

列出特定应用程序的所有操作

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -要列出的操作的应用键(例如,‘SlackCLIAPI’或‘github’之类的slug)
--action-typestring❌- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter按类型筛选操作
--page-sizenumber❌- - - - - -- - - - - -每页的操作数
--max-itemsnumber❌- - - - - -- - - - - -在所有页面中返回的最大项目总数
--cursorstring❌- - - - - -- - - - - -起始光标

用法:

npx zapier-sdk list-actions <app> [--action-type] [--page-size] [--max-items] [--cursor]

run-action

使用给定的输入执行一个操作并等待其结果。每个结果页都包含meta.id中的操作运行ID。

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)
<action-type>string✅- - - - - -read, read_bulk, write, run, search, search_or_write, search_and_write, filter与动作定义的类型匹配的动作类型
<action>string✅- - - - - -- - - - - -操作键(例如,send_message或find_row)
--connectionstring, number❌- - - - - -- - - - - -连接别名或连接ID (UUID或正整数)。与连接映射中的键匹配的字符串将根据它进行解析;否则直接作为连接ID使用。与connectionId互斥。
--inputsobject❌- - - - - -- - - - - -输入操作的参数
--timeout-secondsnumber❌- - - - - -- - - - - -等待动作完成的最大时间(以秒为单位)(默认:180)
--idempotency-keystring❌- - - - - -- - - - - -使重试运行安全的键。在72小时内使用相同键的另一次运行返回原始运行,而不是开始一个新的运行,即使它的输入不同,所以每次不同的运行使用一个新的键。经过分页的运行伴随着从该密钥和该页派生的密钥发送,因此一个密钥覆盖每个页面,重新尝试一个页面会重播该页的运行。
--page-sizenumber❌- - - - - -- - - - - -每页的结果数
--max-itemsnumber❌- - - - - -- - - - - -在所有页面中返回的最大项目总数
--cursorstring❌- - - - - -- - - - - -起始光标

用法:

npx zapier-sdk run-action <app> <action-type> <action> [--connection] [--inputs] [--timeout-seconds] [--idempotency-key] [--page-size] [--max-items] [--cursor]

应用程序

应用程序是一种与Zapier连接的网络服务,就像Gmail或Slack一样。使用这些键来查找应用程序和其他方法用来引用它们的键。

get-app

获取特定应用程序的详细信息

选项:

选项类型要求默认的可能的值描述
<app>string✅- - - - - -- - - - - -应用程序代码段(例如,‘github’),实现名称(例如,‘SlackCLIAPI’),或版本号(例如,‘[email protected]’)

用法:

npx zapier-sdk get-app <app>

list-apps

列出所有可选过滤的可用应用程序

选项:

选项类型要求默认的可能的值描述
--searchstring❌- - - - - -- - - - - -搜索词过滤应用程序的名称
--page-sizenumber❌- - - - - -- - - - - -每页的应用程序数。上游API可能会对此加以限制,并拒绝超过其限制的值。
--appsarray❌- - - - - -- - - - - -通过应用键过滤应用程序(例如,‘SlackCLIAPI’或‘github’)
--max-itemsnumber❌- - - - - -- - - - - -在所有页面中返回的最大项目总数
--cursorstring❌- - - - - -- - - - - -起始光标

用法:

npx zapier-sdk list-apps [--search] [--page-size] [--apps] [--max-items] [--cursor]

客户端凭证

SDK客户端凭证是一个客户端ID和客户端密钥,用于向Zapier SDK验证您的代码,与验证应用程序的连接分开。使用这些来创建、列出和撤销它们。

create-client-credentials

为经过身份验证的用户创建新的客户端凭据

选项:

选项类型要求默认的可能的值描述
' <

版本与发布记录

@zapier/zapier-sdk-cli 共发布 312 个版本,首次发布于 2025/07/09;过去 12 个月发布了 266 个版本。

版本发布日期距今
0.89.3latest2026/11/03今天
0.89.22026/11/03今天
0.89.12026/11/03今天
0.89.02026/10/313 天前
0.88.02026/10/295 天前
0.87.42026/10/2212 天前

关于 @zapier/zapier-sdk-cli 的常见问题

@zapier/zapier-sdk-cli 是什么?

Zapier SDK的命令行接口

如何安装 @zapier/zapier-sdk-cli?

在项目目录运行 npm install @zapier/zapier-sdk-cli,或使用 pnpm add / yarn add / bun add。它还提供命令行工具 zapier-sdk、zapier-sdk-cli、zapier-sdk-experimental,可以用 npx zapier-sdk 直接运行。

@zapier/zapier-sdk-cli 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@zapier/zapier-sdk-cli 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@zapier/zapier-sdk-cli 可以商用吗?

@zapier/zapier-sdk-cli 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中,请阅读该文件确认可否商用。以上为概括,不构成法律意见,请以许可原文为准。

@zapier/zapier-sdk-cli 还在维护吗?

最新版本 0.89.3 发布于 2026/11/03(今天);至今共发布 312 个版本,其中过去 12 个月发布了 266 个;首次发布于 2025/07/09。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。