Zapier SDK

Let your agent call actions across 9,000+ apps while Zapier holds the OAuth keys.

Source repo
zapier/sdk
Stars
★ 253
Last updated
1mo ago
License
MIT

At a glance

Works with
Portable with changesCodex · Claude CodeClaude.ai (Partial support)
You'll need
Node.jsnpm@zapier/zapier-sdk@zapier/zapier-sdk-clitypescriptShell / CLINetwork accessLocal filesystem
Typical use
An automation engineer connecting several SaaS tools who does not want to register and refresh OAuth apps per vendor — create connections once, then chain Notion, Gmail, Google Sheets, and Airtable calls.
Main limitation
Core operation depends on the Zapier platform: connections, credentials, and the action catalog are all hosted there, with no self-hosted path

What does this agent do, and when should you use it?

Zapier SDK gives programs access to Zapier's app ecosystem through the npm package @zapier/zapier-sdk, and this repo bundles the SDK's docs, verified examples, and installable agent skills. The execution model is local-first: you authenticate once with npx zapier-sdk login, create an OAuth connection per app with create-connection, then invoke a catalog action with run-action; Zapier stores the credentials and resolves action schemas at runtime, so your code never touches a token. Beyond the SDK and CLI, the repo ships an agentskills.io-conformant zapier-sdk skill, a read-only zapier-sdk-explorer subagent that resolves exact app/action/field IDs, and an examples corpus indexed by app, domain, and pattern. It can be installed as a plugin into Claude Code, OpenAI Codex, and GitHub Copilot CLI, or cloned and referenced from rules files for other assistants. The boundary is clear: your code is portable, but connections and the action catalog live in Zapier.

The repository documents and distributes @zapier/zapier-sdk (runtime) and @zapier/zapier-sdk-cli (companion CLI). The flow: install both packages, run npx zapier-sdk login to store credentials locally, then let createZapierSdk() pick them up automatically. list-connections shows existing grants, create-connection <app> opens a browser to authorize an app such as notion, gmail, google-sheets, or airtable, and run-action <app> <action> --inputs '{...}' executes a catalog action and returns JSON — for example notion search page_by_title, gmail search message, google-sheets search lookup_row, airtable search findRecord. The examples directory is indexed three ways: by-app for single authenticated calls, by-domain READMEs that map a business domain to relevant examples, and by-pattern for end-to-end shapes like notify-on-event, data-sync, lead-routing, and scheduled-report. Every action key in the corpus is checked against listActions before inclusion. skills/zapier-sdk follows the agentskills.io spec, the zapier-sdk-explorer subagent investigates the live catalog before code is written, and sdk.fetch is the escape hatch for arbitrary HTTP APIs.

  1. An automation engineer connecting several SaaS tools who does not want to register and refresh OAuth apps per vendor — create connections once, then chain Notion, Gmail, Google Sheets, and Airtable calls.
  2. A developer configuring a coding assistant so it validates real action keys with zapier-sdk-explorer before generating SDK code, instead of inventing method names.
  3. A sales-ops or growth team doing lead routing: look up an Airtable record with findRecord by email and forward results to the next system.
  4. A reporting workflow that pulls rows from Google Sheets via lookup_row or messages from Gmail via search message and summarizes them on a schedule (the scheduled-report pattern).
  5. A support or ops person who wants a fast terminal check against an existing connection, e.g. Gmail query-syntax searches for messages from a specific sender.
  6. A team building its own agent runtime that loads the agentskills.io-conformant zapier-sdk skill as its tool-calling layer.

How do you install or deploy this agent?

Prerequisites: Node.js and npm (both the SDK and CLI are npm packages) and network access to Zapier.

1) Install the runtime SDK and dev dependencies (README commands as written):

npm install @zapier/zapier-sdk
npm install -D @zapier/zapier-sdk-cli @types/node typescript

2) Optional: install as a plugin for an AI coding assistant (commands reproduced from the README, including its spelling):
Claude Code:

/plugin marketplace add zapier/marketplace
/plugin install sdk@zapier

OpenAI Codex:

codex plugin marketplace add zapier/marketplace
codex plugin add sdk@zapier

GitHub Copilot CLI:

copilot plugin marketplace add zapier/marketplace
copilot plugin install sdk@zapier

3) For assistants without agentskills.io support:

git clone https://github.com/zapier/sdk.git

Then reference skills/zapier-sdk/SKILL.md from .cursorrules, AGENTS.md, or .github/copilot-instructions.md.

4) Authenticate with npx zapier-sdk login; credentials are stored on your machine and reused by createZapierSdk().

How do you use this agent?

Authenticate and check the profile:

npx zapier-sdk login
npx zapier-sdk get-profile

Add app connections (each opens a browser for OAuth):

npx zapier-sdk list-connections
npx zapier-sdk create-connection notion
npx zapier-sdk create-connection gmail
npx zapier-sdk create-connection google-sheets
npx zapier-sdk create-connection airtable

Run actions (JSON output):

npx zapier-sdk run-action notion search page_by_title --inputs '{"title":"Meeting Notes","exact_match":"no"}'
npx zapier-sdk run-action gmail search message --inputs '{"query":"from:[email protected]"}'
npx zapier-sdk run-action google-sheets search lookup_row --inputs '{"spreadsheet":"<sheet-id>","worksheet":"<tab-id>","lookup_key":"Email","lookup_value":"[email protected]"}'
npx zapier-sdk run-action airtable search findRecord --inputs '{"applicationId":"<base-id>","tableName":"Leads","searchByField":"Email","searchByValue":"[email protected]"}'

In code, call createZapierSdk() to reuse stored credentials, and use sdk.fetch for HTTP APIs without a first-class action. Browse examples/by-app/ for single-call patterns, docs.zapier.com/sdk/reference for the full method reference, and skills/zapier-sdk/references/cli-commands.md for the full CLI inventory.

What are this agent's strengths and limitations?

Pros
  • Zapier holds the OAuth grants, so you skip registering per-vendor OAuth apps and your code never sees a token
  • Example action keys are verified against listActions, giving the agent canonical, copy-paste-ready patterns
  • Ships both a runtime npm package and a CLI, so you can prototype with run-action and then move into code
  • Includes an agentskills.io-conformant skill plus a read-only zapier-sdk-explorer subagent that resolves exact app/action/field IDs first
  • Examples are indexed by app, domain, and pattern, covering one-off calls and multi-step automations
  • sdk.fetch provides a documented escape hatch for arbitrary HTTP APIs with no first-class action
Limitations
  • Core operation depends on the Zapier platform: connections, credentials, and the action catalog are all hosted there, with no self-hosted path
  • Requires Node.js and network access, and using the service is governed separately by Zapier's terms of service
  • The repository covers client code, docs, and examples only — the Zapier service itself is not open source
  • Pricing and rate limits are not stated in the repo; you must check zapier.com/sdk
  • Every app connection needs its own create-connection call and an interactive browser OAuth step, which is manual at scale
  • Worked examples require real spreadsheet, worksheet, or base IDs before they run successfully

How does this agent compare with similar options?

The repository names Zapier MCP (github.com/zapier/zapier-mcp) as the alternative: if your tool calling goes through the MCP protocol (Cursor, Claude Desktop, Codex), use the MCP server instead of this SDK and CLI.

Key facts side by side with the most closely related agents.

Agent Source review Stars Updated Language Full support on
Zapier SDK This agent 49 · Major gaps ★ 253 1mo ago Codex · Claude Code
OSS Autopilot 83 · Good ★ 16 1d ago TypeScript Claude Code · Claude.ai
Uni-CLI 72 · Some gaps ★ 270 1d ago TypeScript ChatGPT · Codex · Claude Code
ZCF - Zero-Config Code Flow 51 · Major gaps ★ 6.1k 24d ago TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
49/ 100 5-point scale 2.5 / 5
Trust 11/29
Reliability 6/14
Adaptability 10/18
Convention 11/18
Effectiveness 7/13
Verifiability 4/8
Why each dimension lost points
Trust11 / 29 · 1.9/5

README states OAuth tokens are held by Zapier and code never touches them, with sdk.fetch as a controlled escape hatch, so data-flow transparency is adequate (2). However, the repo is a docs/examples corpus: it shows no least-privilege scope declarations, no per-action user confirmation, no sensitive-data handling policy for Gmail queries or sheet rows, and no rollback/revocation examples, so least_privilege, user_confirmation, sensitive_data_handling, and external_effects score 1, and rollback 0. Dependency security pins only CLI 0.65.5 and typescript@5 with no lockfile or audit evidence, so 1. Source attribution is supported by LICENSE and trademark notice, so 2.

Reliability6 / 14 · 2.1/5

The README's four-step install/auth/connect/run flow is consistent with package.json scripts and the CI validation workflow, so self-consistency is 2. Dependency availability declares only node>=18 and two npm packages, with no lockfile or compatibility matrix, so 1. Failure messages are limited to CI typecheck/audit steps; no runtime error handling or diagnostic guidance is shown, so 1.

Adaptability10 / 18 · 2.8/5

Targets multiple AI assistants (Claude Code, Codex, Copilot, Cursor) and backend scenarios, so audience_and_scenarios is 2; capability boundaries explain that the SDK handles OAuth and the action catalog with fetch as an escape hatch, so 2. Trigger precision lacks rules for when to invoke which action beyond examples, so 1. Environment fit declares node>=18 and agentskills.io compatibility, so 2.

Convention11 / 18 · 3.1/5

Information architecture is clear: README, three-way examples index, skills, and llms.txt are well organized (3). Install notes are complete but depend on external npm packages and browser OAuth, so 2. Naming stability: action keys are resolved from the live catalog, so example keys may drift, giving 2. Examples exist but there is no FAQ, so 2. Known limitations mention only connections and credentials without a systematic list, so 1. License is full MIT (3). Versioning/changelog is absent; package.json is 0.1.0 and private, so 1. Maintenance responsibility points only to CONTRIBUTING and [email protected], and publisher identity is unverified, so 1.

Effectiveness7 / 13 · 2.7/5

Output usability: examples are copy-paste ready and return JSON, so 2. Marginal value: provides unified access to 9,000+ Zapier apps plus a skill manifest, so 2. Cost benefit: requires a Zapier account, OAuth connections, and potentially paid service, with no cost discussion in the repo, so 1.

Verifiability4 / 8 · 2.5/5

claim_traceability: the README claims example action keys are checked against listActions, corroborated by audit.mjs and CI, so 2. cross_source_corroboration: only in-repo self-attestation, no independent third-party source, so 1. fact_inference_separation: docs distinguish captured output from generators and label it as not a mockup, so 2.

Risks and how to mitigate them
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • The repo is a docs/examples corpus and shows no least-privilege scopes, per-action user confirmation, or rollback/revocation mechanism; actual authorization behavior must be verified on the Zapier platform side.
  • Dependencies pin only CLI 0.65.5 and typescript@5 with no lockfile or dependency audit evidence, so supply-chain risk is not mitigated in-repo.
  • Publisher identity is unverified; maintenance responsibility and update path point only to CONTRIBUTING and [email protected] and need independent confirmation.
  • Example action keys depend on live catalog resolution and may drift as Zapier's catalog changes; no versioned changelog is provided.
  • Usage requires a Zapier account and OAuth connections and may involve paid service; the repo does not discuss cost or quotas.
Evidence confidence: Low Reviewed Sep 18, 2026 Reviewed revision b459897f05ce
See the full review method →

FAQ

Do I need to register and store OAuth credentials for each app myself?
No. Zapier holds the OAuth grants; you create a connection with npx zapier-sdk create-connection <app> and your code never touches a token.
What runtime does it need?
Node.js and npm to install @zapier/zapier-sdk and @zapier/zapier-sdk-cli, plus network access to Zapier at run time; login credentials live on your local filesystem.
What happens if a call fails because the action key is wrong?
The corpus keys are checked against listActions. Resolve the exact app/action/field ID first with the zapier-sdk-explorer subagent or the CLI, then run run-action; if no first-class action exists, use sdk.fetch against the underlying HTTP API.
How does this relate to Zapier MCP?
This repo targets code and CLI usage (npm package, the zapier-sdk CLI, and the agentskills.io skill); Zapier MCP is the MCP-server alternative for tool calling from Cursor, Claude Desktop, or Codex.
What are the licensing and cost boundaries?
MIT covers the repository code only. Using Zapier's service and APIs through the SDK is governed by Zapier's Terms of Service or your other agreement with Zapier; pricing and quotas are on zapier.com/sdk.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents