はじめまして、もるふぉです。
エンジニアをやりながら、今はほぼコードを書かない開発スタイルに移行しました。
「書けないから書かない」じゃなくて、「書けるから書かなくていい」という話です。
実案件ベースで気づいたことだけ書いています。
よければXもフォローしてもらえると嬉しいです → X(@morphox_ai)
「外部APIと連携したい。でもOAuth実装がまた始まるのか......」と思ったことはありませんか?
ドキュメントを読んで、トークンのリフレッシュ処理を書いて、エラーハンドリングをして——それを連携するサービスの数だけ繰り返す。
あの地味な消耗、もう終わりにできます。
2026年4月7日、Zapier SDKがオープンベータとして公開されました。
CursorやClaude Code、Codexといったコーディングエージェントにnpm install一発で入れるだけで、Zapierが繋がっている8,000以上のアプリにAPIアクセスできるようになります。
Zapier CEOのWade Foster氏が「ここ数年で最も強力なリリース」と言っていて、実際に触ってみると、その意味がわかります。
Zapier SDKとは何か — MCPとの違いから理解する
まず「Zapier SDKって、前からあるZapier MCPと何が違うの?」という疑問があると思います。
ここを整理しないと、どっちを使えばいいのかわからないので、先に説明しますね。
Zapier MCPおさらい:AIクライアントから使うプロトコル
Zapier MCPは、2025年に登場したModel Context Protocol(MCP)対応のサーバーです。
Claude DesktopやChatGPTなどのAIクライアントから、自然言語で「Slackにメッセージ送って」と指示すると、Zapierが裏側で処理してくれる仕組みです。
ノーコードでセットアップできるのがメリットで、非エンジニアでも使えます。
ただし、あくまで「AIクライアントのツール」として動くので、自分のコードから直接呼び出すことはできません。
Zapier SDK:コードからZapierを呼び出すTypeScriptライブラリ
一方、Zapier SDKはTypeScriptライブラリです。
@zapier/zapier-sdkというnpmパッケージをインストールして、コードからZapierのアクションを直接実行できます。
import { createZapierSdk } from "@zapier/zapier-sdk";
const zapier = createZapierSdk();
// Slackの接続情報を取得
const { data: connection } = await zapier.findFirstConnection({
appKey: "slack",
owner: "me",
isExpired: false,
});
// Slackにメッセージを送信
const app = zapier.apps.slack({ connectionId: connection.id });
await app.write.send_channel_message({
inputs: {
channel: "#general",
message: "Zapier SDKから送信しています",
},
});ポイントは、OAuth認証・トークンリフレッシュ・リトライ処理を全部SDKが自動でやってくれることです。
つまり、自分でSlack APIのOAuthフローを実装する必要がありません。
あの「スコープ設定が間違ってた」「リダイレクトURIを登録し忘れた」という消耗がそっくり消えるんです。
使い分けの結論:エージェントに組み込むならSDK
コーディングエージェントに外部API連携を持たせたいなら、SDKのほうが圧倒的に使い勝手がいいです。
型安全だし、エラーハンドリングも自分でコントロールできます。
では、なぜZapier CEOが「ここ数年で最も強力なリリース」と言ったのか——その理由を数字で考えてみましょう。
なぜZapier CEOが「ここ数年で最も強力なリリース」と言ったのか
Wade Foster氏の発言は大げさに聞こえるかもしれませんが、エンジニア視点で考えると、わりと的を射ています。
8,000アプリにAPIアクセスするコストを考える
想像してみてください。
普通、外部サービスとAPIで連携しようとすると、アプリごとにこういう作業が発生します。
- APIドキュメントを読む
- OAuth認証フローを実装する
- トークンのリフレッシュ処理を書く
- エラーハンドリング・リトライロジックを実装する
- APIのバージョンアップに追従する
1つのAPIで半日〜1日かかるとして、8,000アプリ分だと......考えたくないですよね。
SDKはこれを全部抽象化してくれます。
npm install @zapier/zapier-sdkの一行で、8,000アプリ分のコネクタが手に入る。
いわば「全サービスのAPIラッパーを誰かが全部書いてくれた状態」が、コマンド一発で手に入る感覚です。
OAuth地獄とカスタムコネクタ問題が消える
特にOAuth認証は本当に面倒です。
サービスごとにスコープが違う、リダイレクトURIの設定が必要、トークンの有効期限が違う......。
これ、1回経験すると「もう2度とやりたくない」ってなりますよね。
SDKでは、Zapierプラットフォーム側で認証済みの接続(Connection)を使うので、この問題がまるごと消えます。
# 接続済みアプリの一覧を確認
npx zapier-sdk list-connections --owner me --jsonこのコマンドを打つだけで、自分のZapierアカウントに接続済みのアプリが一覧で出てきます。
あとはそのconnectionIdを使ってアクションを実行するだけです。
OAuth実装の「あの消耗」が、コマンド1行に変わっているんです。
コーディングエージェント時代における意味
ここが一番重要なポイントです。
CursorやClaude Codeのようなコーディングエージェントは、コードを書く能力はあるけど、外部サービスにアクセスする「手足」がなかった。
Zapier SDKが入ることで、エージェントが「コードを書く」だけでなく「外部サービスを操作する」ことができるようになります。
例えば、Claude Codeに「GitHubのIssueを取得して、要約をSlackに投稿して」と頼めば、Zapier SDKを通じてGitHubとSlackの両方にアクセスして、タスクを完了できるわけです。
「コードを書くだけのエージェント」から「実際に仕事をこなすエージェント」への変化——これがFoster氏の言う「最も強力なリリース」の本質だと思います。
次は実際のセットアップを見ていきます。5分あれば動くところまでいけます。
Zapier SDKのインストールと初期設定
実際のセットアップ手順を見ていきます。
前提条件とnpm installからログインまで
前提として、Node.js 18以上が必要です。
# SDKのインストール
npm install @zapier/zapier-sdk
# CLIツールと型定義のインストール(開発用)
npm install -D @zapier/zapier-sdk-cli @types/node typescript
# Zapierアカウントでログイン
npx zapier-sdk loginnpx zapier-sdk loginを実行すると、ブラウザが開いてZapierのログイン画面が表示されます。
認証が完了すると、ローカルに認証情報が保存されます。
認証方法は3つ用意されています。
- ブラウザ認証:
npx zapier-sdk login(個人開発向け) - クライアントクレデンシャル:
npx zapier-sdk create-client-credentialsで発行(チーム開発向け) - ダイレクトトークン: 既存のZapierトークンを渡す(パートナーOAuth向け)
個人で試すなら、ブラウザ認証一択です。
コマンド3本で完了します。
接続済みアプリの確認と最初のアクション実行
ログインしたら、まず接続済みアプリを確認しましょう。
# 接続一覧の確認
npx zapier-sdk list-connections --owner me --json
# アプリで使えるアクション一覧
npx zapier-sdk list-actions slack
# アクションを直接実行(CLIから)
npx zapier-sdk run-action slack write send_channel_message \
--connection-id YOUR_CONNECTION_ID \
--inputs '{"channel": "#general", "message": "テストメッセージ"}'CLIからアクションを直接実行できるので、動作確認がすぐにできます。
「本当に動くの?」という確認を、コードを書く前にCLIで済ませられるのはかなりありがたいです。
TypeScriptの型を生成する機能もあります。
# Slack用の型定義を生成
npx zapier-sdk add slackこれを実行すると、Slackで使えるアクションとその入力フィールドの型がTypeScriptとして生成されます。
IDEの補完が効くようになるので、開発体験がかなり良いです。
セットアップはここまでです。次は、コーディングエージェントへの組み込み方を見ていきます。
Claude CodeとCursorでの実践的な使い方
ここからが本題です。
コーディングエージェントにSDKを組み込む方法を見ていきます。
Claude CodeでのMCP設定手順
Claude Codeでは、Zapier SDKをMCPサーバーとして登録できます。
@zapier/zapier-sdk-mcpというパッケージが用意されていて、SDKの全機能をMCPツールとして公開してくれます。
Claude CodeのMCP設定に以下を追加します。
{
"mcpServers": {
"zapier-sdk": {
"command": "npx",
"args": ["zapier-sdk", "mcp"]
}
}
}または、CLIから直接追加することもできます。
claude mcp add zapier-sdk -- npx zapier-sdk mcpこれで、Claude Codeからすべての機能にアクセスできるようになります。
SDKの関数がMCPツールとしてkebab-case命名で公開されるので、list-apps、run-action、list-connectionsといったツールがClaude Codeから使えます。
「Claude Codeが自律的に外部APIを叩く」状態が、設定ファイル数行で実現します。
Cursorでの利用パターン
Cursorの場合は、プロジェクトの.cursor/mcp.jsonに同様の設定を追加します。
{
"mcpServers": {
"zapier-sdk": {
"command": "npx",
"args": ["zapier-sdk", "mcp"]
}
}
}Cursorはディープリンクによるセットアップにも対応しているので、公式ドキュメントから直接追加することも可能です。
コードスニペット例:Slackメッセージ送信を自動化
コーディングエージェントがSDKを使う典型的なパターンを示します。
import { createZapierSdk } from "@zapier/zapier-sdk";
const zapier = createZapierSdk();
// 1. 利用可能な接続を探す
const { data: slackConnection } = await zapier.findFirstConnection({
appKey: "slack",
owner: "me",
isExpired: false,
});
// 2. 利用可能なアクション一覧を取得
const actions = await zapier.listActions({ appKey: "slack" });
for await (const action of actions.items()) {
console.log(`${action.type}:${action.key} - ${action.label}`);
}
// 3. アクションを実行
const result = await zapier.runAction({
appKey: "slack",
actionType: "write",
actionKey: "send_channel_message",
connectionId: slackConnection.id,
inputs: {
channel: "#dev-notifications",
message: "デプロイが完了しました",
},
});
console.log(result);ページネーションにも対応していて、for await...ofでイテレーションできるのが地味にありがたいです。
さらに、Zapier SDKにはfetchメソッドもあって、ZapierのコネクタにないカスタムAPIリクエストも、認証情報を自動注入して送ることができます。
// 認証情報付きのカスタムAPIリクエスト
const response = await zapier.fetch("https://api.example.com/data", {
method: "GET",
connectionId: slackConnection.id,
});「Zapierにないサービスはどうするの?」という疑問も、このfetchメソッドでカバーできます。
ただ、いい話ばかりではありません。ベータ版ならではの注意点もあります。
注意点・制限事項(2026年4月時点)
いい話ばかり書いてきましたが、正直にベータ版の制限についても触れておきます。
ベータ版の制限事項
2026年4月時点で、Zapier SDKはオープンベータの段階です。
以下の点は把握しておく必要があります。
- 安定性: ベータ版なので、APIの破壊的変更が入る可能性がある
- レートリミット: ZapierプランによってAPIリクエストの上限が異なる
- 対応アクション: 全8,000アプリの全アクションが使えるわけではなく、Zapierプラットフォームに登録されているアクションに限られる
- Node.js依存: TypeScriptライブラリなので、Node.js 18以上の環境が必須
「本番でガンガン使う」というよりは、今は「試して感触をつかむ」フェーズです。
ただ、ベータ期間中は無料で使えるので、試すコストは限りなくゼロに近いです。
料金体系と本番利用の見通し
ベータ期間中は無料で利用できます。
ただし、Zapier SDKを通じてアクションを実行すると、Zapierアカウントのタスク数にカウントされる可能性があります。
Zapierの料金プランでは、Freeプランが月100タスク、Professionalプランは年間課金で月あたり$19.99/月、月額課金だと$29.99/月となっています。
本番環境で大量のアクションを実行する場合は、タスク消費量と料金プランの上限に注意してください。
まとめ:エンジニアが今すぐZapier SDKを試すべき理由
ポイントをまとめます。
npm install @zapier/zapier-sdk一発で、8,000以上のアプリにAPIアクセスできる- OAuth認証・トークン管理・リトライを全部SDKが処理してくれる
- Claude CodeやCursorにMCPサーバーとして組み込める
- TypeScript型生成で開発体験が良い
- ベータ期間中は無料
エージェントに外部サービスとの連携能力を持たせることで、「コードを書く」だけだったエージェントが「実際に仕事をする」エージェントになります。
セットアップは5分もかからないので、まずはインストールしてlist-connectionsを叩いてみてください。
自分のZapierアカウントに繋がっているアプリが一覧で出てきた瞬間、「あ、これ全部コードから叩けるのか」と実感できるはずです。
最後まで読んでくれてありがとうございます。
よければXもフォローしてもらえると嬉しいです → X(@morphox_ai)



💬 コメント
ログイン か 会員登録 するとコメントできます