CodexやClaudeでGoogleスプレッドシートを操作する方法:MCP・API・Webhook連携の実践例

CodexやClaudeがMCP API Webhookを通じてGoogleスプレッドシートへ処理結果を反映する様子を表すアイキャッチ画像 AIツール
スポンサーリンク

CodexやClaudeでGoogleスプレッドシートを操作する方法:MCP・API・Webhook連携の実践例

CodexやClaudeを使うと、Googleスプレッドシートを「人が開いて入力する表」から「AIエージェントや外部ツールの処理結果を自動で反映する業務データベース」に近づけられます。ポイントは、Sheets API、MCP、Webhook、GASを用途に応じて使い分けることです。

Google Sheets Codex Claude MCP/API/Webhook

この記事では、CodexやClaudeでGoogleスプレッドシートを操作する方法を、MCP・Google Sheets API・Webhook・Google Apps Scriptの4つの観点から、実務で使える形で解説します。

前提:本記事は2026年5月17日時点のGoogle公式ドキュメント、Google Apps Script公式ドキュメント、MCP公式情報をもとにしています。認証方式、API仕様、MCP対応状況は変わる可能性があるため、実装前に最新情報を確認してください。

CodexやClaudeでGoogleスプレッドシートは操作できる?

結論から言うと、できます。ただし、CodexやClaudeが何も設定せずに任意のGoogleスプレッドシートを直接操作できるわけではありません。AIからSheetsへ安全にアクセスするための連携手段が必要です。

主な方法は次の3つです。

方法 向いている人 得意なこと 注意点
Google Sheets API 開発者 読み取り、追記、更新、検索、本番アプリ連携 OAuthやサービスアカウントなど認証設定が必要
MCP AIエージェント活用者 AIが必要に応じてシートを読み書きする MCPサーバーの信頼性と権限管理が重要
Webhook + GAS / Zapier / Make / n8n ノーコード・業務自動化ユーザー 外部ツールのイベントをシートへ反映 署名検証、重複登録、エラー時の再送設計が必要

迷ったら:まず試すならGASやMake、本番アプリならSheets API、CodexやClaudeに作業として任せたいならMCP、という選び方がわかりやすいです。

まず理解したい全体像

Googleスプレッドシート連携では、AI、外部ツール、Webhook、API、MCPの役割を分けて考えると整理しやすくなります。

要素 役割
Codex / Claude AIエージェントとして処理内容を考える、コードを書く、シートを読んで分析する 問い合わせ分類、集計、改善案作成
Google Sheets 業務データを保存・共有する場所 問い合わせ一覧、処理ログ、注文管理、タスク管理
Sheets API プログラムからシートを読み書きする公式API values.append、values.update、values.get
Webhook 外部ツールでイベントが起きたら通知する フォーム送信、決済完了、生成処理完了
MCP AIエージェントが外部ツールを使うための接続規格 AIがSheetsを読み、必要に応じて行を更新する
GAS Google側で動く簡易サーバー・自動化処理 Webhook受信、行追加、通知、整形

つまり、外部ツールの処理結果をスプレッドシートに反映するには、「イベントを受け取る」「AIやコードで整形する」「Sheetsへ書き込む」という流れを作ります。

方法1:Google Sheets APIで操作する

Google Sheets APIは、Googleが公式に提供しているスプレッドシート操作用APIです。プログラムからセルの値を取得したり、行を追加したり、既存セルを更新したりできます。

開発者が本番アプリとして安定運用したい場合は、Sheets APIが最も正攻法です。Codexにコードを書かせる場合も、Sheets APIを使う構成は扱いやすいです。

Sheets APIでできること

  • シートの値を読み取る
  • 新しい行を追記する
  • 特定セルや範囲を更新する
  • 複数行をまとめて書き込む
  • 処理結果やログを記録する

たとえば、外部ツールの処理結果を1行追加するなら、spreadsheets.values.append のようなAPIを使います。既存行を更新するなら、spreadsheets.values.update が候補になります。

Sheets APIが向いているケース

  • Webアプリからシートへ安定して書き込みたい
  • AI処理結果をログとして蓄積したい
  • 認証や権限をきちんと管理したい
  • Node.js、Python、GAS以外のバックエンドから操作したい
  • 本番環境で運用したい

注意点

Sheets APIは便利ですが、OAuthやサービスアカウントなどの認証設定が必要です。個人のGoogleアカウントで使うのか、サーバーからサービスアカウントで書き込むのかで設計が変わります。

また、APIキーや認証情報をフロントエンドに直接置くのは避けるべきです。Vercel、Render、Cloudflare Workersなどのサーバー側環境変数で管理しましょう。

方法2:MCPでGoogleスプレッドシートを操作する

MCPを使うと、ClaudeやCodexのようなAIエージェントに「外部ツールとしてスプレッドシートを使わせる」構成を作れます。

たとえば、Google Sheetsを扱えるMCPサーバーを用意し、ClaudeやCodexから接続すると、AIがシート内容を読み取り、必要に応じて行の追加や更新を提案・実行できるようになります。

ここで重要なのは、MCPはGoogle Sheets APIの代替そのものではなく、AIが外部ツールを扱うための接続レイヤーだという点です。MCPサーバーの内部では、Google Sheets APIやGoogle Drive APIを使っている場合があります。

MCPが向いているケース

  • AIにシートを読ませて分析させたい
  • AIに「この行を更新して」「未処理だけ抽出して」と指示したい
  • ClaudeやCodexから業務データを扱いたい
  • 複数の外部ツールをAIエージェントからまとめて使いたい
  • APIの細かい呼び出しをAI側に隠蔽したい

MCPでできる作業例

  • 問い合わせ一覧を読み、カテゴリごとの件数を集計する
  • 未対応行だけを抽出し、優先度を付ける
  • 生成処理のステータスをシートから確認する
  • 処理済みフラグを更新する
  • シート内容をもとにメール文面やレポートを作る

注意:MCPサーバーに書き込み権限を与える場合は慎重に設計しましょう。対象スプレッドシートを限定する、読み取り専用から始める、重要操作には確認を挟む、といった対策が必要です。

方法3:WebhookやGASで外部ツールの処理結果をシートへ反映する

外部ツールの処理結果をGoogleスプレッドシートに反映するなら、WebhookとGoogle Apps Scriptの組み合わせが手軽です。

たとえば、フォーム送信、決済完了、画像生成完了、動画生成完了、GitHub issue作成などのイベントをWebhookで受け取り、GASでシートに追記できます。

Google Apps Scriptでは、Webアプリとして公開したスクリプトに対してHTTP POSTを受ける doPost(e) 関数を作れます。これをWebhook受信口として使うイメージです。

GASでWebhookを受けてSheetsに追記する例

function doPost(e) {
  const sheet = SpreadsheetApp
    .openById('SPREADSHEET_ID')
    .getSheetByName('logs');

  const body = JSON.parse(e.postData.contents);

  sheet.appendRow([
    new Date(),
    body.source || '',
    body.event_type || '',
    body.status || '',
    body.summary || ''
  ]);

  return ContentService
    .createTextOutput(JSON.stringify({ ok: true }))
    .setMimeType(ContentService.MimeType.JSON);
}

このようにしておくと、外部ツールから次のようなJSONを送るだけで、シートにログを残せます。

{
  "source": "image-generator",
  "event_type": "job.completed",
  "status": "success",
  "summary": "アイキャッチ画像の生成が完了しました"
}

GAS/Webhookが向いているケース

  • まず小さく自動化を試したい
  • 外部ツールのイベントをシートに記録したい
  • ノーコードツールからGoogle Sheetsへ書き込みたい
  • 社内の簡易ログやタスク一覧を作りたい
  • Google Workspace内で完結させたい

ただし、Webhook受信口を公開する場合は、認証・署名検証・トークンチェックなどを入れるべきです。誰でもPOSTできる状態にすると、迷惑データや偽データを書き込まれるリスクがあります。

実践例1:問い合わせ内容をAIで分類してスプレッドシートに記録する

最初の実践例として、問い合わせフォームの内容をAIで分類し、Googleスプレッドシートへ記録する流れを考えます。

  1. 問い合わせフォームに入力がある
  2. WebhookでサーバーやGASへ送信される
  3. AI APIで問い合わせ内容を分類・要約する
  4. 分類結果、要約、優先度、担当候補を作る
  5. Google Sheetsへ1行追加する
  6. 必要ならSlackやメールへ通知する
  7. 後からCodexやClaudeでシートを分析する

シートの列は、たとえば次のようにします。

内容
received_at 受信日時
name 問い合わせ者名
message 原文
category AI分類カテゴリ
summary AI要約
priority 優先度
status 未対応、対応中、完了

この構成なら、問い合わせを受けた瞬間にシートへ整理され、あとからAIエージェントに「未対応で優先度が高いものを抽出して」と指示できます。

実践例2:外部ツールの処理結果をシートに反映する

次に、外部ツールの処理結果をシートに反映する例です。AI画像生成、動画生成、決済、GitHub issue、デプロイ結果などは、ステータス管理をシートで行うとわかりやすいです。

たとえば、画像生成ジョブを管理するシートなら、次のような列にします。

内容
job_id 外部ツール側のジョブID
title 記事タイトルや依頼名
prompt 生成プロンプト
status queued、running、completed、failed
output_url 生成物のURL
updated_at 最終更新日時

Webhookで「job.completed」が届いたら、job_idで該当行を探し、statusをcompletedに更新し、output_urlを入れます。新規行追加ではなく既存行更新をしたい場合は、Sheets APIの更新処理やGAS側の検索処理が必要になります。

どの方法を選ぶべきか

用途別に選ぶなら、次の表が目安です。

目的 おすすめ 理由
手軽に外部ツールの結果をシートへ記録したい Webhook + GAS Google内で完結しやすく、小さく始めやすい
本番アプリから安定して読み書きしたい Google Sheets API 公式APIで、認証やエラー処理を設計しやすい
AIエージェントにシートを読ませて作業させたい MCP AIが外部ツールとしてシートを使える
非エンジニアが自動化したい Zapier / Make / n8n ノーコードでWebhookやSheets連携を組みやすい
複雑な処理やAI分類を入れたい サーバー + Sheets API AI API、DB、キュー、ログを組み合わせやすい

セキュリティと運用の注意点

APIキーや認証情報をシートに書かない

OpenAI APIキー、Googleの認証情報、Webhookのシークレットなどをスプレッドシートに直接書くのは危険です。環境変数、Secret Manager、Apps Scriptのプロパティストアなどで管理しましょう。

サービスアカウントの権限を絞る

Sheets APIでサービスアカウントを使う場合、必要なスプレッドシートだけ共有するのが基本です。Google Drive全体に広い権限を与えるのは避けましょう。

Webhookの署名やトークンを検証する

Webhook受信URLは外部からアクセスされるため、送信元を検証する必要があります。署名検証が難しい場合でも、最低限、共有シークレットやトークンを使ったチェックを入れるべきです。

重複処理に備える

Webhookは同じイベントが複数回届くことがあります。event_idやjob_idを保存し、同じ通知を二重に反映しないようにします。

書き込みログを残す

誰が、いつ、どの行を、どの処理で更新したのかを追えるようにしておくと、誤更新や障害対応が楽になります。AIエージェントに書き込み権限を与える場合は特に重要です。

CodexやClaudeを使うときの実務的な考え方

CodexやClaudeを使う場合、「AIに全部任せる」のではなく、権限と役割を分けるのが現実的です。

  • CodexにはSheets APIやGASのコードを書かせる
  • Claudeにはシート内容の分析や分類ルールの設計をさせる
  • MCPでは読み取り権限から始める
  • 書き込みや削除は確認ステップを入れる
  • 本番反映前にテスト用スプレッドシートで検証する

AIエージェントは作業を速くしてくれますが、シートは業務データの中心になることが多いため、誤更新を防ぐ設計が必要です。

関連して、MCPの記事一覧Webhook関連記事OpenAI Codexの記事一覧も参考になります。

まとめ:SheetsはAI自動化の入口として使いやすい

CodexやClaudeでGoogleスプレッドシートを操作するには、Sheets API、MCP、Webhook、GASなどの連携手段を使います。

外部ツールのイベントをシートに記録したいならWebhook + GAS、本番アプリから安定して操作したいならGoogle Sheets API、AIエージェントにシートを読ませて作業させたいならMCPが向いています。

Googleスプレッドシートは、業務担当者にも見やすく、AIや外部ツールともつなぎやすい便利な場所です。まずは小さなログ記録や問い合わせ分類から始めると、AI自動化の効果を実感しやすいです。

タイトルとURLをコピーしました