@zapier/zapier-sdk-cli
v0.53.1
Published
Command line interface for Zapier SDK
Readme
@zapier/zapier-sdk-cli
Table of Contents
- Quick Start
- Installation
- Walkthrough
- Global Options
- Available Commands
- Accounts
- Actions
- Apps
- Client Credentials
- Code Workflows (Experimental)
- Connections
- HTTP Requests
- Tables
- Triggers (Experimental)
ack-trigger-inbox-messagescreate-trigger-inboxdelete-trigger-inboxdrain-trigger-inboxensure-trigger-inboxget-trigger-inboxget-trigger-input-fields-schemalease-trigger-inbox-messageslist-trigger-inbox-messageslist-trigger-inboxeslist-trigger-input-field-choiceslist-trigger-input-fieldslist-triggerspause-trigger-inboxrelease-trigger-inbox-messagesresume-trigger-inboxupdate-trigger-inboxwatch-trigger-inbox
- Utilities
Quick Start
For new projects.
Bootstrap a new project with everything you need to start integrating thousands of apps through 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-interactiveInstallation
For existing projects.
If you already have a project and want to add the CLI as a dependency:
npm install -D @zapier/zapier-sdk-cliWalkthrough
# 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 fetch "https://gmail.googleapis.com/gmail/v1/users/me/labels" --connection-id 123Global Options
These options are available for all commands:
| Option | Short | Description |
| -------------------------------------- | ----- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| --version | -V | Display version number |
| --help | -h | Display help for command |
| --credentials <token> | | Authentication token. |
| --credentials-client-id <id> | | OAuth client ID for authentication. |
| --credentials-client-secret <secret> | | OAuth client secret for authentication. |
| --credentials-base-url <url> | | Override authentication base URL. |
| --debug | | Enable debug logging. |
| --base-url <url> | | Base URL for Zapier API endpoints. |
| --tracking-base-url <url> | | Base URL for Zapier tracking endpoints. |
| --max-network-retries <count> | | Max retries for rate-limited requests (default: 3). |
| --max-network-retry-delay-ms <ms> | | Max delay in ms to wait for retry (default: 60000). |
| --max-concurrent-requests <count> | | Max concurrent in-flight HTTP requests (default: 200, max: 10000). |
| --approval-timeout-ms <ms> | | Timeout in ms for approval polling. Default: 600000 (10 min). |
| --max-approval-retries | | Maximum number of sequential approval rounds per request (one per gating policy) before giving up. Default: 2. |
| --approval-mode | | Approval flow behavior. "poll" creates the approval, opens it in a browser, polls until resolved, and retries the original request. "throw" creates the approval and throws a ZapierApprovalError with the approval URL so the caller can surface it. "disabled" throws a ZapierApprovalError on approval-required responses without creating an approval. Resolution order is: explicit option, then ZAPIER_APPROVAL_MODE, then the default behavior (poll for interactive TTY, throw otherwise). |
| --can-include-shared-connections | | Allow listing shared connections. |
| --can-include-shared-tables | | Allow listing shared tables. |
| --can-delete-tables | | Allow deleting tables. |
| --json | | Output raw JSON instead of formatted results |
Available Commands
The CLI automatically generates commands from the SDK registry. All SDK functions are available as CLI commands using kebab-case naming.
Accounts
get-profile
Get current user's profile information
Usage:
npx zapier-sdk get-profilelogin
Log in to Zapier to access your account
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------- | --------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| --timeout | string | ❌ | — | — | Login timeout in seconds (default: 300) |
| --use-approvals | boolean | ❌ | — | — | Require approvals for actions performed with these credentials |
| --non-interactive | boolean | ❌ | — | — | Skip interactive prompts. Uses defaults where possible; errors instead of prompting when input is required. Useful in CI, piped output, or environments where TTY detection is unreliable. |
Usage:
npx zapier-sdk login [--timeout] [--use-approvals] [--non-interactive]logout
Log out of your Zapier account
Usage:
npx zapier-sdk logoutsignup
Set up Zapier account access and SDK credentials
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------- | --------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| --timeout | string | ❌ | — | — | Signup timeout in seconds (default: 300) |
| --use-approvals | boolean | ❌ | — | — | Require approvals for actions performed with these credentials |
| --non-interactive | boolean | ❌ | — | — | Skip interactive prompts. Uses defaults where possible; errors instead of prompting when input is required. Useful in CI, piped output, or environments where TTY detection is unreliable. |
| --headless | boolean | ❌ | — | — | Use when signing up from a machine that has no browser. Prints a signup link to open elsewhere, then accepts the pasted loopback callback URL. |
Usage:
npx zapier-sdk signup [--timeout] [--use-approvals] [--non-interactive] [--headless]Actions
get-action
Get detailed information about a specific action
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| <app> | string | ✅ | — | — | App slug (e.g., 'github'), implementation name (e.g., 'SlackCLIAPI'), or versioned ID (e.g., '[email protected]') |
| <action-type> | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| <action> | string | ✅ | — | — | Action key (e.g., 'send_message' or 'find_row') |
Usage:
npx zapier-sdk get-action <app> <action-type> <action>get-action-input-fields-schema
Get the JSON Schema representation of input fields for an action. Returns a JSON Schema object describing the structure, types, and validation rules for the action's input parameters.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <app> | string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') to get the input schema for |
| <action-type> | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| <action> | string | ✅ | — | — | Action key to get the input schema for |
| --connection | string, number | ❌ | — | — | Connection alias or connection ID (UUID or positive integer). Strings that match a key in the connections map are resolved against it; otherwise the value is used as a connection ID directly. Mutually exclusive with connectionId. |
| --inputs | object | ❌ | — | — | Current input values that may affect the schema (e.g., when fields depend on other field values) |
Usage:
npx zapier-sdk get-action-input-fields-schema <app> <action-type> <action> [--connection] [--inputs]list-action-input-field-choices
Get the available choices for a dynamic dropdown input field
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <app> | string | ✅ | — | — | App slug (e.g., 'github'), implementation name (e.g., 'SlackCLIAPI'), or versioned ID (e.g., '[email protected]') |
| <action-type> | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| <action> | string | ✅ | — | — | Action key (e.g., 'send_message' or 'find_row') |
| <input-field> | string | ✅ | — | — | Input field key to get choices for |
| --connection | string, number | ❌ | — | — | Connection alias or connection ID (UUID or positive integer). Strings that match a key in the connections map are resolved against it; otherwise the value is used as a connection ID directly. Mutually exclusive with connectionId. |
| --inputs | object | ❌ | — | — | Current input values that may affect available choices |
| --page | number | ❌ | — | — | Page number for paginated results |
| --page-size | number | ❌ | — | — | Number of choices per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
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
Get the input fields required for a specific action
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <app> | string | ✅ | — | — | App slug (e.g., 'github'), implementation name (e.g., 'SlackCLIAPI'), or versioned ID (e.g., '[email protected]') |
| <action-type> | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| <action> | string | ✅ | — | — | Action key (e.g., 'send_message' or 'find_row') |
| --connection | string, number | ❌ | — | — | Connection alias or connection ID (UUID or positive integer). Strings that match a key in the connections map are resolved against it; otherwise the value is used as a connection ID directly. Mutually exclusive with connectionId. |
| --inputs | object | ❌ | — | — | Current input values that may affect available fields |
| --page-size | number | ❌ | — | — | Number of input fields per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
npx zapier-sdk list-action-input-fields <app> <action-type> <action> [--connection] [--inputs] [--page-size] [--max-items] [--cursor]list-actions
List all actions for a specific app
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| <app> | string | ✅ | — | — | App key of actions to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --action-type | string | ❌ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Filter actions by type |
| --page-size | number | ❌ | — | — | Number of actions per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
npx zapier-sdk list-actions <app> [--action-type] [--page-size] [--max-items] [--cursor]run-action
Execute an action with the given inputs
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <app> | string | ✅ | — | — | App slug (e.g., 'github'), implementation name (e.g., 'SlackCLIAPI'), or versioned ID (e.g., '[email protected]') |
| <action-type> | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| <action> | string | ✅ | — | — | Action key (e.g., 'send_message' or 'find_row') |
| --connection | string, number | ❌ | — | — | Connection alias or connection ID (UUID or positive integer). Strings that match a key in the connections map are resolved against it; otherwise the value is used as a connection ID directly. Mutually exclusive with connectionId. |
| --inputs | object | ❌ | — | — | Input parameters for the action |
| --timeout-ms | number | ❌ | — | — | Maximum time to wait for action completion in milliseconds (default: 180000) |
| --page-size | number | ❌ | — | — | Number of results per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
npx zapier-sdk run-action <app> <action-type> <action> [--connection] [--inputs] [--timeout-ms] [--page-size] [--max-items] [--cursor]Apps
get-app
Get detailed information about a specific app
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------- | -------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------------------------------------ |
| <app> | string | ✅ | — | — | App slug (e.g., 'github'), implementation name (e.g., 'SlackCLIAPI'), or versioned ID (e.g., '[email protected]') |
Usage:
npx zapier-sdk get-app <app>list-apps
List all available apps with optional filtering
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------------------------- |
| --search | string | ❌ | — | — | Search term to filter apps by name |
| --page-size | number | ❌ | — | — | Number of apps per page |
| --apps | array | ❌ | — | — | Filter apps by app keys (e.g., 'SlackCLIAPI' or slug like 'github') |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
npx zapier-sdk list-apps [--search] [--page-size] [--apps] [--max-items] [--cursor]Client Credentials
create-client-credentials
Create new client credentials for the authenticated user
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------ | -------- | -------- | -------------- | --------------- | ---------------------------------------------- |
| <name> | string | ✅ | — | — | Human-readable name for the client credentials |
| --allowed-scopes | array | ❌ | ["external"] | — | Scopes to allow for these credentials |
Usage:
npx zapier-sdk create-client-credentials <name> [--allowed-scopes]delete-client-credentials
Delete client credentials by client ID
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------- |
| <client-id> | string | ✅ | — | — | The client ID of the client credentials to delete |
Usage:
npx zapier-sdk delete-client-credentials <client-id>list-client-credentials
List client credentials for the authenticated user
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ---------------------------------------------- |
| --page-size | number | ❌ | — | — | Number of credentials per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |
Usage:
npx zapier-sdk list-client-credentials [--page-size] [--max-items] [--cursor]Code Workflows (Experimental)
ℹ️ Experimental. Run commands via the
zapier-sdk-experimentalbinary, pass--experimentaltozapier-sdk, or setZAPIER_EXPERIMENTAL=truein the environment. Flags and behavior may change between versions.
cancel-durable-run 🧪 experimental
Cancel a run-once durable run in initialized or started status. Returns 409 if the run is already terminal.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------- | -------- | -------- | ------- | --------------- | -------------- |
| <run> | string | ✅ | — | — | Durable run ID |
Usage:
npx zapier-sdk cancel-durable-run <run>create-workflow 🧪 experimental
Create a durable workflow container. Starts disabled with no version; publish a version to add code.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | --------------- | ------------------------------------- |
| <name> | string | ✅ | — | — | Workflow name |
| --description | string | ❌ | — | — | Optional description for the workflow |
Usage:
npx zapier-sdk create-workflow <name> [--description]delete-workflow 🧪 experimental
Delete a durable workflow. Throws ZapierNotFoundError if the workflow doesn't exist; callers wanting idempotency should catch that themselves.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | ------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
Usage:
npx zapier-sdk delete-workflow <workflow>disable-workflow 🧪 experimental
Disable a durable workflow so it stops accepting triggers
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | ------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
Usage:
npx zapier-sdk disable-workflow <workflow>enable-workflow 🧪 experimental
Enable a durable workflow so it accepts triggers
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | ------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
Usage:
npx zapier-sdk enable-workflow <workflow>get-durable-run 🧪 experimental
Get the full state of a run-once durable run, including its operations journal
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------- | -------- | -------- | ------- | --------------- | -------------- |
| <run> | string | ✅ | — | — | Durable run ID |
Usage:
npx zapier-sdk get-durable-run <run>get-trigger-run 🧪 experimental
Get the workflow run associated with a deployed workflow's trigger. Useful immediately after firing a trigger, when you have the trigger ID but not yet the run ID.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ----------- | -------- | -------- | ------- | --------------- | ------------------- |
| <trigger> | string | ✅ | — | — | Workflow trigger ID |
Usage:
npx zapier-sdk get-trigger-run <trigger>get-workflow 🧪 experimental
Get a durable workflow with its current version details and trigger claim status
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | ------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
Usage:
npx zapier-sdk get-workflow <workflow>get-workflow-run 🧪 experimental
Get the current state of a workflow run (a triggered execution of a deployed workflow)
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------- |
| <run> | string | ✅ | — | — | Workflow run ID |
| --workflow | string | ❌ | — | — | Parent workflow ID — used only to scope the CLI run-id picker; ignored by the API call. |
Usage:
npx zapier-sdk get-workflow-run <run> [--workflow]get-workflow-version 🧪 experimental
Get full details of a workflow version including source files
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | -------- | -------- | ------- | --------------- | ------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| <version> | string | ✅ | — | — | Workflow version ID |
Usage:
npx zapier-sdk get-workflow-version <workflow> <version>list-durable-runs 🧪 experimental
List run-once durable runs for the authenticated account, newest first
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ---------------------------------------------- |
| --page-size | number | ❌ | — | — | Number of runs per page (max 100) |
| --cursor | string | ❌ | — | — | Pagination cursor |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
Usage:
npx zapier-sdk list-durable-runs [--page-size] [--cursor] [--max-items]list-workflow-runs 🧪 experimental
List workflow runs (triggered executions) for a specific deployed workflow, newest first
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | --------------------------------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| --page-size | number | ❌ | — | — | Number of runs per page (max 100) |
| --cursor | string | ❌ | — | — | Pagination cursor |
| --max-items | number | ❌ | — | — | Maximum total runs to return across all pages |
Usage:
npx zapier-sdk list-workflow-runs <workflow> [--page-size] [--cursor] [--max-items]list-workflow-versions 🧪 experimental
List published versions for a workflow, newest first
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| --page-size | number | ❌ | — | — | Number of versions per page (max 100) |
| --cursor | string | ❌ | — | — | Pagination cursor |
| --max-items | number | ❌ | — | — | Maximum total versions to return across all pages |
Usage:
npx zapier-sdk list-workflow-versions <workflow> [--page-size] [--cursor] [--max-items]list-workflows 🧪 experimental
List all active durable workflows for the authenticated account
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | -------------------------------------------------------------------------------------------- |
| --page-size | number | ❌ | — | — | Number of workflows per page (server-side pagination forthcoming; ignored until then) |
| --max-items | number | ❌ | — | — | Maximum total workflows to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from for pagination (server-side pagination forthcoming; ignored until then) |
Usage:
npx zapier-sdk list-workflows [--page-size] [--max-items] [--cursor]publish-workflow-version 🧪 experimental
Publish a new version of a durable workflow. Enables the workflow by default.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------------------- | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| <source_files> | object | ✅ | — | — | Source files keyed by filename → contents |
| --dependencies | object | ❌ | — | — | Optional npm package dependencies |
| --zapier_durable_version | string | ❌ | — | — | Exact semver of @zapier/zapier-durable to use (e.g. "1.2.3"). Defaults to server-configured version if omitted. |
| --enabled | boolean | ❌ | — | — | Enable the workflow after publishing. Defaults to true; pass false to publish without enabling. |
Usage:
npx zapier-sdk publish-workflow-version <workflow> <source_files> [--dependencies] [--zapier_durable_version] [--enabled]run-durable 🧪 experimental
Run a workflow source file as a run-once durable run on sdkdurableapi (no deployed workflow required). Returns the run ID immediately; poll via getDurableRun for terminal status.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------------------- | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------- |
| <source_files> | object | ✅ | — | — | Source files keyed by filename → contents |
| --input | unknown | ❌ | — | — | Input data passed to the run |
| --dependencies | object | ❌ | — | — | Optional npm package dependencies |
| --zapier_durable_version | string | ❌ | — | — | Exact semver of @zapier/zapier-durable to use (e.g. "1.2.3"). Defaults to server-configured version if omitted. |
| --connections | object | ❌ | — | — | Named connection aliases. Maps alias names to Zapier connection IDs. |
| --app_versions | object | ❌ | — | — | Pinned app versions. Maps app keys (slugs) to implementation names and versions. |
| --private | boolean | ❌ | — | — | Only the creating user can see the run (default false) |
Usage:
npx zapier-sdk run-durable <source_files> [--input] [--dependencies] [--zapier_durable_version] [--connections] [--app_versions] [--private]trigger-workflow 🧪 experimental
Look up a workflow's trigger URL and fire it manually. The trigger endpoint is tokenized (the URL contains a secret) and takes no auth header, so the SDK uses a raw fetch rather than the api plugin.
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------ | --------- | -------- | ------- | --------------- | -------------------------------------------------------------------------------------------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| --input | unknown | ❌ | — | — | JSON payload delivered as the trigger body. Sent as application/json; omit to fire with an empty body. |
Usage:
npx zapier-sdk trigger-workflow <workflow> [--input]update-workflow 🧪 experimental
Update a durable workflow's name and/or description
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | --------------- | ----------------------------------------------------- |
| <workflow> | string | ✅ | — | — | Durable workflow ID |
| --name | string | ❌ | — | — | New name for the workflow |
| --description | string | ❌ | — | — | New description for the workflow (pass null to clear) |
Usage:
npx zapier-sdk update-workflow <workflow> [--name] [--description]Connections
find-first-connection
Find the first connection matching the criteria
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------ | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [app] | string | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --search | string | ❌ | — | — | Search term to filter connections by title |
| --title | string | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
| --owner | string | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
| --account | string | ❌ | — | — | Account to filter by |
| --include-shared | boolean | ❌ | — | — | Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections. |
| --expired | boolean | ❌ | — | — | Show only expired connections (default: only non-expired connections are returned) |
Usage:
npx zapier-sdk find-first-connection [app] [--search] [--title] [--owner] [--account] [--include-shared] [--expired]find-unique-connection
Find a unique connection matching the criteria
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------ | --------- | -------- | ------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
| [app] | string | ❌ | — | — | App key of connections to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --search | string | ❌ | — | — | Search term to filter connections by title |
| --title | string | ❌ | — | — | Filter connections by exact title match (searches first, then filters locally) |
| --owner | string | ❌ | — | — | Filter by owner, 'me' for your own connections or a specific user ID |
| --account | string | ❌ | — | — | Account to filter by |
| --include-shared | boolean | ❌ | — | — | Include connections shared with you. By default, only your own connections are returned (owner=me). Set to true to also include shared connections. |
| --expired | boolean | ❌ | — | — | Show only expired connections (default: only non-expired connections are returned) |
Usage:
npx zapier-sdk find-unique-connection [app] [--search] [--title] [--owner] [--account] [--include-shared] [--expired]get-connection
Execute getConnection
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------- | ---------------- | -------- | ------- | --------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| --connection | string, number | ❌ | — | — | Connection alias or connection ID (UUID or positive integer). Strings that match a key in the connections map are resolved against it; otherwise the value is used as a connection ID directly. |
Usage:
npx zapier-sdk get-connection [--connection]list-connections
List available connections with optional filtering
Options:
| Option
