Zapier SDK
Let your agent call actions across 9,000+ apps while Zapier holds the OAuth keys.
- Source repo
- zapier/sdk
- Stars
- ★ 269
- Last updated
- 25d ago
- License
- MIT
- FA score
- 55/100 · Major gaps
At a glance
- How it runs
- Works with
- Portable with changesCodex · Claude CodeClaude.ai (Partial support)
- Cost
- Free tier plus a paid hosted plan
- Setup effort
- Medium · a few setup steps
- You'll need
- 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.
- Not a fit if
- Teams that need fully offline or self-hosted operation: connections, credentials, and the action catalog all live in Zapier's cloud
- Teams that cannot send data through a third-party SaaS: OAuth grants and action calls all go through Zapier
- Teams onboarding many apps at once: each app needs its own create-connection plus a manual browser OAuth step
- Source review
- 55/100 · Major gaps
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.
- 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.
- 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.
- 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.
- 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).
- 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.
- 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 typescript2) 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@zapierOpenAI Codex:
codex plugin marketplace add zapier/marketplace
codex plugin add sdk@zapierGitHub Copilot CLI:
copilot plugin marketplace add zapier/marketplace
copilot plugin install sdk@zapier3) For assistants without agentskills.io support:
git clone https://github.com/zapier/sdk.gitThen 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-profileAdd 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 airtableRun 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?
- 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
- 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 | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Zapier SDK This agent | 55 · Major gaps | CLIFreemium | ★ 269 | 25d ago | — | Codex · Claude Code |
| Uni-CLI | 83 · Good | CLIFree | ★ 228 | 5d ago | TypeScript | ChatGPT · Codex · Claude Code |
| OSS Autopilot | 80 · Good | Agent plugin / skillFree | ★ 28 | today | TypeScript | Claude Code · Claude.ai |
| ZCF - Zero-Config Code Flow | 71 · Some gaps | CLIFree + model costs | ★ 6.1k | 10d ago | TypeScript | Codex · Claude Code |
How does FollowAgents rate this agent?
Why each dimension lost points
The README and AGENTS.md say Zapier holds OAuth grants, connections are created with user authorization, and user tokens should not be stored; this supports the data-flow and sensitive-credential scores. Browser authorization requires user participation. Deductions: examples can cause external app changes, but the packet does not establish per-action confirmation, permission scope, revocation, or recovery guidance across the product. Dependency security is only evidenced by CI install steps, with no audit or vulnerability-response evidence. Repository identity and a security contact are stated, but publisher identity is not independently verified by the supplied material.
The packet describes structural checks, workflow typechecks, CLI/SDK smoke steps, and an optional live-catalog audit. Deductions: README and skill references differ in specific filenames and usage details, and the audit skips when credentials are unavailable; this static review cannot establish that checks passed. Failure and recovery guidance is limited, mostly to a nonzero-exit note for profile lookup.
The skill distinguishes SDK code, one-off CLI use, MCP tool calling, and durable workflows, and names scenarios and trigger phrases. AGENTS.md says to inspect dynamic inputs against a live connection and identifies raw HTTP as an escape hatch. Deductions: environment guidance focuses on Node/TypeScript and several coding assistants, with limited coverage of other runtimes or out-of-scope cases.
The README, skill references, and examples are organized by app, domain, and workflow pattern, with install, authentication, connection, and example entry points. The MIT license text is present. Deductions: version details are scattered and no changelog is included in the packet; maintenance responsibility is only partly described through contribution guidance, repository references, and a security email; known limitations cover only some dynamic fields and human OAuth steps.
The repository offers copyable commands, TypeScript examples, and live action discovery guidance that can reduce guessing about app keys, action keys, and input shapes. Deductions: examples include search, send, or write operations against external services, so value depends on the user's connections and action permissions; no time or operating-cost evidence is supplied.
Setup and architecture claims point to repository materials; the README identifies a demo transcript source, and AGENTS.md identifies an audit script and describes CI action-key checks. Deductions: the supplied packet omits the audit script, transcript contents, and full examples, preventing cross-source validation; CI configuration evidences intended checks, not successful execution.
- Before running an example, verify the target app, connection, and inputs; write or send actions may change user data or deliver content externally.
- An OAuth connection grants Zapier access to the relevant app; review its scope and revoke it through Zapier or the app when no longer needed.
- This assessment uses only the supplied static material; it does not verify the live catalog, CI results, or runtime behavior.
FAQ
Do I need to register and store OAuth credentials for each app myself?
What runtime does it need?
What happens if a call fails because the action key is wrong?
How does this relate to Zapier MCP?
What are the licensing and cost boundaries?
Thanks — we use this to improve the page.