{
"name": "zapier",
"description": "The Zapier CLI is a developer-focused way to create and maintain Zapier integrations. See more at https://github.com/zapier/zapier-platform",
"subcommands": [
{
"name": "analytics",
"description": "Show the status of the analytics that are collected. Also used to change what is collected",
"options": [
{
"names": [
"-m",
"--mode"
],
"description": "Choose how much information to share. Anonymous mode drops the OS type and Zapier user id, but keeps command info. Identifying information is used only for debugging purposes",
"takes_arg": true,
"arg": {
"name": "mode",
"suggestions": [
"enabled",
"anonymous",
"disabled"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "build",
"description": "Build a pushable zip from the current directory",
"options": [
{
"names": [
"--disable-dependency-detection"
],
"description": "Disable \"smart\" file inclusion. By default, Zapier only includes files that are required by `index.js`. If you (or your dependencies) require files dynamically (such as with `require(someVar)`), then "
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "convert",
"description": "Convert a Legacy Web Builder app or Visual Builder integration to a CLI integration",
"options": [
{
"names": [
"-v",
"--version"
],
"description": "Convert a specific version. Required when converting a Visual Builder integration",
"takes_arg": true,
"arg": {
"name": "version"
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "integrationId",
"description": "To get the integration/app ID, go to \"https://zapier.com/app/developer\", click on an integration, and copy the number directly after \"/app/\" in the URL"
},
{
"name": "path",
"description": "Relative to your current path - IE: `.` for current directory",
"template": "folders"
}
]
},
{
"name": "delete:integration",
"aliases": [
"delete:app"
],
"description": "Delete your integration (including all versions)",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "delete:version",
"description": "Delete a specific version of your integration",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "version",
"description": "Specify the version to delete. It must have no users or Zaps"
}
]
},
{
"name": "deprecate",
"description": "Mark a non-production version of your integration as deprecated, with removal by a certain date",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "version",
"description": "The version to deprecate"
},
{
"name": "date",
"description": "The date (YYYY-MM-DD) when Zapier will make the specified version unavailable"
}
]
},
{
"name": "describe",
"description": "Describe the current integraiton",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "env:get",
"description": "Get environment variables for a version",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
}
],
"args": [
{
"name": "version",
"description": "The version to get the environment for"
}
]
},
{
"name": "env:set",
"description": "Set environment variables for a version",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "version",
"description": "The version to set the environment for. Values are copied forward when a new version is created, but this command will only ever affect the specified version"
},
{
"name": "key-value pairs...",
"description": "The key-value pairs to set. Keys are case-insensitive. Each pair should be space separated and pairs should be separated by an `=`. For example: `A=123 B=456`",
"is_variadic": true
}
]
},
{
"name": "env:unset",
"description": "Unset environment variables for a version",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "version",
"description": "The version to set the environment for"
},
{
"name": "keys...",
"description": "The keys to unset. Keys are case-insensitive",
"is_variadic": true
}
]
},
{
"name": "history",
"description": "Get the history of your integration",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "init",
"description": "Initialize a new Zapier integration with a project template",
"options": [
{
"names": [
"-t",
"--template"
],
"description": "The template to start your integration with",
"takes_arg": true,
"arg": {
"name": "template",
"suggestions": [
"basic-auth",
"callback",
"custom-auth",
"digest-auth",
"dynamic-dropdown",
"files",
"minimal",
"oauth1-trello",
"oauth2",
"search-or-create",
"session-auth",
"typescript"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "path",
"description": "Where to create the new integration. If the directory doesn't exist, it will be created. If the directory isn't empty, we'll ask for confirmation",
"template": "folders"
}
]
},
{
"name": "integrations",
"aliases": [
"apps"
],
"description": "List integrations you have admin access to",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "link",
"description": "Link the current directory with an existing integration",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "login",
"description": "Configure your `~/.zapierrc` with a deploy key",
"options": [
{
"names": [
"-s",
"--sso"
],
"description": "Use this flag if you log into Zapier a Single Sign-On (SSO) button and don't have a Zapier password"
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "logout",
"description": "Deactivate your active deploy key and reset `~/.zapierrc`",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "logs",
"description": "Print recent logs",
"options": [
{
"names": [
"-v",
"--version"
],
"description": "Filter logs to the specified version",
"takes_arg": true,
"arg": {
"name": "version"
}
},
{
"names": [
"-s",
"--status"
],
"description": "Filter logs to only see errors or successes",
"takes_arg": true,
"arg": {
"name": "status",
"suggestions": [
"any",
"success",
"error"
]
}
},
{
"names": [
"-t",
"--type"
],
"description": "See logs of the specified type",
"takes_arg": true,
"arg": {
"name": "type",
"suggestions": [
"console",
"bundle",
"http"
]
}
},
{
"names": [
"--detailed"
],
"description": "See extra info, like request/response body and headers"
},
{
"names": [
"-u",
"--user"
],
"description": "Only show logs for this user. Defaults to your account",
"takes_arg": true,
"arg": {
"name": "user"
}
},
{
"names": [
"--limit"
],
"description": "Cap the number of logs returned. Max is 50 (also the default)",
"takes_arg": true,
"arg": {
"name": "limit"
}
},
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "migrate",
"description": "Migrate users from one version of your integration to another",
"options": [
{
"names": [
"--user"
],
"description": "Migrate only this user",
"takes_arg": true,
"arg": {
"name": "user"
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "fromVersion",
"description": "The version FROM which to migrate users"
},
{
"name": "toVersion",
"description": "The version TO which to migrate users"
},
{
"name": "percent",
"description": "Percentage (between 1 and 100) of users to migrate"
}
]
},
{
"name": "promote",
"description": "Promote a specific version to public access",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "version",
"description": "The version you want promote"
}
]
},
{
"name": "push",
"description": "Build and upload the current integration",
"options": [
{
"names": [
"--disable-dependency-detection"
],
"description": "Disable \"smart\" file inclusion. By default, Zapier only includes files that are required by `index.js`. If you (or your dependencies) require files dynamically (such as with `require(someVar)`), then "
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "register",
"description": "Register a new integration in your account",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "title",
"description": "Your integrations's public title. Asked interactively if not present"
}
]
},
{
"name": "scaffold",
"description": "Add a starting trigger, create, search, or resource to your integration",
"options": [
{
"names": [
"-d",
"--dest"
],
"description": "Specify the new file's directory. Use this flag when you want to create a different folder structure such as `src/triggers` instead of the default `triggers`. Defaults to `[triggers|searches|creates]/",
"takes_arg": true,
"arg": {
"name": "dest",
"template": "folders"
}
},
{
"names": [
"--test-dest"
],
"description": "Specify the new test file's directory. Use this flag when you want to create a different folder structure such as `src/triggers` instead of the default `triggers`. Defaults to `test/[triggers|searches",
"takes_arg": true,
"arg": {
"name": "test-dest",
"template": "folders"
}
},
{
"names": [
"-e",
"--entry"
],
"description": "Supply the path to your integration's root (`index.js`). Only needed if your `index.js` is in a subfolder, like `src`",
"takes_arg": true,
"arg": {
"name": "entry",
"template": "filepaths"
}
},
{
"names": [
"-f",
"--force"
],
"description": "Should we overwrite an existing trigger/search/create file?"
},
{
"names": [
"--no-help"
],
"description": "When scaffolding, should we skip adding helpful intro comments? Useful if this isn't your first rodeo"
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "actionType",
"suggestions": [
"trigger",
"search",
"create",
"resource"
]
},
{
"name": "noun"
}
]
},
{
"name": "team:add",
"aliases": [
"team:invite"
],
"description": "Add a team member to your integration",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "email",
"description": "The user to be invited. If they don't have a Zapier account, they'll be prompted to create one"
},
{
"name": "role",
"description": "The level the invited team member should be at. Admins can edit everything and get email updates. Subscribers only get email updates",
"suggestions": [
"admin",
"subscriber"
]
},
{
"name": "message",
"description": "A message sent in the email to your team member, if you need to provide context. Wrap the message in quotes to ensure spaces get saved"
}
]
},
{
"name": "team:get",
"aliases": [
"team:list"
],
"description": "Get team members involved with your integration",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "team:remove",
"aliases": [
"team:delete"
],
"description": "Remove a team member from all versions of your integration",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "test",
"description": "Test your integration via the \"test\" script in your \"package.json\"",
"options": [
{
"names": [
"--skip-validate"
],
"description": "Forgo running `zapier validate` before tests are run. This will speed up tests if you're modifying functionality of an existing integration rather than adding new actions"
},
{
"names": [
"--yarn"
],
"description": "Use `yarn` instead of `npm`. This happens automatically if there's a `yarn.lock` file, but you can manually force `yarn` if you run tests from a sub-directory"
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "upload",
"description": "Upload the latest build of your integration to Zapier",
"options": [
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "users:add",
"aliases": [
"users:invite"
],
"description": "Add a user to some or all versions of your integration",
"options": [
{
"names": [
"-f",
"--force"
],
"description": "Skip confirmation. Useful for running programmatically"
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "email",
"description": "The user to be invited. If they don't have a Zapier account, they'll be prompted to create one"
},
{
"name": "version",
"description": "A version string (like 1.2.3). Optional, used only if you want to invite a user to a specific version instead of all versions"
}
]
},
{
"name": "users:get",
"aliases": [
"users:list"
],
"description": "Get a list of users who have been invited to your integration",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "users:links",
"description": "Get a list of links that are used to invite users to your integration",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "users:remove",
"aliases": [
"users:delete"
],
"description": "Remove a user from all versions of your integration",
"options": [
{
"names": [
"-f",
"--force"
],
"description": "Skips confirmation. Useful for running programmatically"
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
],
"args": [
{
"name": "email",
"description": "The user to be removed"
}
]
},
{
"name": "validate",
"description": "Validate your integration",
"options": [
{
"names": [
"--without-style"
],
"description": "Forgo pinging the Zapier server to run further checks"
},
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "versions",
"description": "List the versions of your integration available for use in the Zapier editor",
"options": [
{
"names": [
"-f",
"--format"
],
"description": "Change the way structured data is presented. If \"json\" or \"raw\", you can pipe the output of the command into other tools, such as jq",
"takes_arg": true,
"arg": {
"name": "format",
"suggestions": [
"plain",
"json",
"raw",
"row",
"table"
]
}
},
{
"names": [
"-d",
"--debug"
],
"description": "Show extra debugging output"
}
]
},
{
"name": "help",
"description": "Display help for <%= config.bin %>",
"options": [
{
"names": [
"--all"
],
"description": "See all commands in CLI"
}
],
"args": [
{
"name": "command",
"description": "Command to show help for"
}
]
}
]
}