Command line interface for Zapier SDK
npm install @zapier/zapier-sdk-cli- Installation
- Quick Start
- Global Options
- Available Commands
- Accounts
- get-profile
- login
- logout
- Actions
- get-action
- get-input-fields-schema
- list-actions
- list-input-field-choices
- list-input-fields
- run-action
- Apps
- get-app
- list-apps
- Authentications
- find-first-authentication
- find-unique-authentication
- get-authentication
- list-authentications
- Client Credentials
- create-client-credentials
- delete-client-credentials
- list-client-credentials
- HTTP Requests
- request
- Utilities
- add
- build-manifest
- bundle-code
- generate-app-types
- get-login-config-path
- mcp
``bash`
npm install -D @zapier/zapier-sdk-cli
`bashSee all available commands
npx zapier-sdk --help
Global Options
These options are available for all commands:
| Option | Short | Description |
| ----------- | ----- | -------------------------------------------- |
|
--version | -v | Display version number |
| --help | -h | Display help for command |
| --debug | | Enable debug logging |
| --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.
$3
####
get-profileGet current user's profile information
Usage:
`bash
npx zapier-sdk get-profile
`####
loginLog in to Zapier to access your account
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ----------- | -------- | -------- | ------- | --------------- | --------------------------------------- |
|
--timeout | string | ❌ | — | — | Login timeout in seconds (default: 300) |Usage:
`bash
npx zapier-sdk login [--timeout]
`####
logoutLog out of your Zapier account
Usage:
`bash
npx zapier-sdk logout
`$3
####
get-actionGet detailed information about a specific action
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------- |
|
| string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') |
| | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| | string | ✅ | — | — | Action key to execute |Usage:
`bash
npx zapier-sdk get-action
`####
get-input-fields-schemaGet 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 |
| --------------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
|
| string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') to get the input schema for |
| | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| | string | ✅ | — | — | Action key to get the input schema for |
| --authentication-id | string, number | ❌ | — | — | Authentication ID to use when fetching the schema. Required if the action needs authentication to determine available fields. |
| --inputs | object | ❌ | — | — | Current input values that may affect the schema (e.g., when fields depend on other field values) |Usage:
`bash
npx zapier-sdk get-input-fields-schema [--authentication-id] [--inputs]
`####
list-actionsList all actions for a specific app
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | -------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
|
| 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:
`bash
npx zapier-sdk list-actions [--action-type] [--page-size] [--max-items] [--cursor]
`####
list-input-field-choicesGet the available choices for a dynamic dropdown input field
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------ |
|
| string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') |
| | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| | string | ✅ | — | — | Action key to execute |
| | string | ✅ | — | — | Input field key to get choices for. |
| --authentication-id | string, number | ❌ | — | — | Authentication ID to use for this action |
| --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:
`bash
npx zapier-sdk list-input-field-choices [--authentication-id] [--inputs] [--page] [--page-size] [--max-items] [--cursor]
`####
list-input-fieldsGet the input fields required for a specific action
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | ----------------------------------------------------- |
|
| string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') |
| | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| | string | ✅ | — | — | Action key to execute |
| --authentication-id | string, number | ❌ | — | — | Authentication ID to use for this action |
| --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:
`bash
npx zapier-sdk list-input-fields [--authentication-id] [--inputs] [--page-size] [--max-items] [--cursor]
`####
run-actionExecute an action with the given inputs
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------------- | ---------------- | -------- | ------- | ---------------------------------------------------------------------------------------------- | --------------------------------------------------- |
|
| string | ✅ | — | — | App key (e.g., 'SlackCLIAPI' or slug like 'github') |
| | string | ✅ | — | read, read_bulk, write, run, search, search_or_write, search_and_write, filter | Action type that matches the action's defined type |
| | string | ✅ | — | — | Action key to execute |
| --authentication-id | string, number | ❌ | — | — | Authentication ID to use for this action |
| --inputs | object | ❌ | — | — | Input parameters for the action |
| --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:
`bash
npx zapier-sdk run-action [--authentication-id] [--inputs] [--page-size] [--max-items] [--cursor]
`$3
####
get-appGet detailed information about a specific app
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ----------- | -------- | -------- | ------- | --------------- | ------------------------------------------------------------------- |
|
| string | ✅ | — | — | App key of app to fetch (e.g., 'SlackCLIAPI' or slug like 'github') |Usage:
`bash
npx zapier-sdk get-app
`####
list-appsList all available apps with optional filtering
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------------------------- |
|
--app-keys | array | ❌ | — | — | Filter apps by app keys (e.g., 'SlackCLIAPI' or slug like 'github') |
| --search | string | ❌ | — | — | Search term to filter apps by name |
| --page-size | number | ❌ | — | — | Number of apps per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |Usage:
`bash
npx zapier-sdk list-apps [--app-keys] [--search] [--page-size] [--max-items] [--cursor]
`$3
####
find-first-authenticationFind the first authentication matching the criteria
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------- | --------- | -------- | ------- | --------------- | ---------------------------------------------------------------------------------- |
|
--app-key | string | ❌ | — | — | App key of authentications to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --search | string | ❌ | — | — | Search term to filter authentications by title |
| --title | string | ❌ | — | — | Filter authentications by exact title match (searches first, then filters locally) |
| --account-id | string | ❌ | — | — | Filter authentications by account ID |
| --owner | string | ❌ | — | — | Filter by owner, 'me' for your own authentications or a specific user ID |
| --is-expired | boolean | ❌ | — | — | Filter by expired status (true = expired only, false = non-expired only) |Usage:
`bash
npx zapier-sdk find-first-authentication [--app-key] [--search] [--title] [--account-id] [--owner] [--is-expired]
`####
find-unique-authenticationFind a unique authentication matching the criteria
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------- | --------- | -------- | ------- | --------------- | ---------------------------------------------------------------------------------- |
|
--app-key | string | ❌ | — | — | App key of authentications to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --search | string | ❌ | — | — | Search term to filter authentications by title |
| --title | string | ❌ | — | — | Filter authentications by exact title match (searches first, then filters locally) |
| --account-id | string | ❌ | — | — | Filter authentications by account ID |
| --owner | string | ❌ | — | — | Filter by owner, 'me' for your own authentications or a specific user ID |
| --is-expired | boolean | ❌ | — | — | Filter by expired status (true = expired only, false = non-expired only) |Usage:
`bash
npx zapier-sdk find-unique-authentication [--app-key] [--search] [--title] [--account-id] [--owner] [--is-expired]
`####
get-authenticationGet a specific authentication by ID
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------------- | -------- | -------- | ------- | --------------- | ----------------------------- |
|
| string | ✅ | — | — | Authentication ID to retrieve |Usage:
`bash
npx zapier-sdk get-authentication
`####
list-authenticationsList available authentications with optional filtering
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ---------------------- | --------- | -------- | ------- | --------------- | ---------------------------------------------------------------------------------- |
|
--app-key | string | ❌ | — | — | App key of authentications to list (e.g., 'SlackCLIAPI' or slug like 'github') |
| --authentication-ids | array | ❌ | — | — | List of authentication IDs to filter by |
| --search | string | ❌ | — | — | Search term to filter authentications by title |
| --title | string | ❌ | — | — | Filter authentications by exact title match (searches first, then filters locally) |
| --account-id | string | ❌ | — | — | Filter authentications by account ID |
| --owner | string | ❌ | — | — | Filter by owner, 'me' for your own authentications or a specific user ID |
| --is-expired | boolean | ❌ | — | — | Filter by expired status (true = expired only, false = non-expired only) |
| --page-size | number | ❌ | — | — | Number of authentications per page |
| --max-items | number | ❌ | — | — | Maximum total items to return across all pages |
| --cursor | string | ❌ | — | — | Cursor to start from |Usage:
`bash
npx zapier-sdk list-authentications [--app-key] [--authentication-ids] [--search] [--title] [--account-id] [--owner] [--is-expired] [--page-size] [--max-items] [--cursor]
`$3
####
create-client-credentialsCreate new client credentials for the authenticated user
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------------ | -------- | -------- | -------------- | --------------- | ---------------------------------------------- |
|
| string | ✅ | — | — | Human-readable name for the client credentials |
| --allowed_scopes | array | ❌ | ["external"] | — | Scopes to allow for these credentials |Usage:
`bash
npx zapier-sdk create-client-credentials [--allowed_scopes]
`####
delete-client-credentialsDelete client credentials by client ID
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------- |
|
| string | ✅ | — | — | The client ID of the client credentials to delete |Usage:
`bash
npx zapier-sdk delete-client-credentials
`####
list-client-credentialsList 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:
`bash
npx zapier-sdk list-client-credentials [--page-size] [--max-items] [--cursor]
`$3
####
requestMake authenticated HTTP requests through Zapier's Relay service
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------------------- | ----------------------- | -------- | ------- | ---------------------------------------------------------- | -------------------------------------------------------------------- |
|
| string | ✅ | — | — | The URL to request (will be proxied through Relay) |
| --method | string | ❌ | — | GET, POST, PUT, DELETE, PATCH, HEAD, OPTIONS | HTTP method |
| --body | string | ❌ | — | — | Request body as a string |
| --authentication-id | string, number | ❌ | — | — | Authentication ID to use for this action |
| --callback-url | string | ❌ | — | — | URL to send async response to (makes request async) |
| --authentication-template | string | ❌ | — | — | Optional JSON string authentication template to bypass Notary lookup |
| --headers | record, custom, array | ❌ | — | — | Request headers |
| --relay-base-url | string | ❌ | — | — | Base URL for Relay service |Usage:
`bash
npx zapier-sdk request [--method] [--body] [--authentication-id] [--callback-url] [--authentication-template] [--headers] [--relay-base-url]
`$3
####
addAdd apps with manifest locking and TypeScript type generation - updates .zapierrc with app versions and generates TypeScript definition files
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ---------------------- | -------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------------------------------- |
|
| array | ✅ | — | — | One or more app keys to add (e.g., 'slack', 'github', 'trello') |
| --authentication-ids | array | ❌ | — | — | Authentication IDs to use for type generation (e.g., ['123', '456']) |
| --config-path | string | ❌ | — | — | Path to Zapier config file (defaults to '.zapierrc', e.g., './custom/.zapierrc') |
| --types-output | string | ❌ | — | — | Directory for TypeScript type files (defaults to (src/lib/.)/zapier/apps/, e.g., './src/types/zapier/') |Usage:
`bash
npx zapier-sdk add [--authentication-ids] [--config-path] [--types-output]
`####
build-manifestBuild manifest entries for apps - can optionally write to disk or just return JSON
Options:
| Option | Type | Required | Default | Possible Values | Description |
| --------------- | --------- | -------- | ------- | --------------- | ------------------------------------------------------------------------------------------------------------ |
|
| array | ✅ | — | — | One or more app keys to build manifest entries for (e.g., 'slack', 'github', 'trello') |
| --skip-write | boolean | ❌ | — | — | If true, returns manifest entries without writing to disk. If false or omitted, writes to the manifest file. |
| --config-path | string | ❌ | — | — | Path to the manifest file. Only used when skipWrite is false or omitted. |Usage:
`bash
npx zapier-sdk build-manifest [--skip-write] [--config-path]
`####
bundle-codeBundle TypeScript code into executable JavaScript
Options:
| Option | Type | Required | Default | Possible Values | Description |
| ---------- | --------- | -------- | ------- | --------------- | -------------------------------------------------------- |
|
| string | ✅ | — | — | Input TypeScript file path to bundle |
| --output | string | ❌ | — | — | Output file path (defaults to input with .js extension) |
| --string | boolean | ❌ | — | — | Return bundled code as string instead of writing to file |
| --minify | boolean | ❌ | — | — | Minify the bundled output |
| --target | string | ❌ | — | — | ECMAScript target version |
| --cjs | boolean | ❌ | — | — | Output CommonJS format instead of ESM |Usage:
`bash
npx zapier-sdk bundle-code [--output] [--string] [--minify] [--target] [--cjs]
`####
generate-app-typesGenerate TypeScript type definitions for apps - can optionally write to disk or just return type strings
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------------------------- | --------- | -------- | ------- | --------------- | -------------------------------------------------------------------------------------------------- |
|
| array | ✅ | — | — | One or more app keys to generate types for (e.g., 'slack', 'github', 'trello') |
| --authentication-ids | array | ❌ | — | — | Authentication IDs to use for type generation (e.g., ['123', '456']) |
| --skip-write | boolean | ❌ | — | — | If true, returns type definitions without writing to disk. If false or omitted, writes type files. |
| --types-output-directory | string | ❌ | — | — | Directory for TypeScript type files. Required when skipWrite is false or omitted. |Usage:
`bash
npx zapier-sdk generate-app-types [--authentication-ids] [--skip-write] [--types-output-directory]
`####
get-login-config-pathShow the path to the login configuration file
Usage:
`bash
npx zapier-sdk get-login-config-path
`####
mcpStart MCP server for Zapier SDK
Options:
| Option | Type | Required | Default | Possible Values | Description |
| -------- | -------- | -------- | ------- | --------------- | --------------------------------------------- |
|
--port | string | ❌ | — | — | Port to listen on (for future HTTP transport) |Usage:
`bash
npx zapier-sdk mcp [--port]
``