npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@zapier/zapier-sdk-cli

v0.53.1

Published

Command line interface for Zapier SDK

Readme

@zapier/zapier-sdk-cli

Table of Contents

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-interactive

Installation

For existing projects.

If you already have a project and want to add the CLI as a dependency:

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

Walkthrough

# 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 123

Global 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-profile

login

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 logout

signup

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-experimental binary, pass --experimental to zapier-sdk, or set ZAPIER_EXPERIMENTAL=true in 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