Gmail × スプレッドシート × カレンダーを連携させてみた【gws実践編】

Gmail × スプレッドシート × カレンダーを連携させてみた【gws実践編】

記事
IT・テクノロジー
前回の記事ではGoogle Workspace CLIツール「gws」の基本操作を紹介しました。今回はいよいよ、サービス間の連携を実際に組んでみます。

【今回やったこと】


・Gmailの請求メール → スプレッドシートに自動転記
・メール本文からAIが金額・日付・取引先を自動抽出
・ドメイン更新メール → カレンダーに期限を自動登録
・スプレッドシートのデータ → レポートメールを自動送信
・重複防止(同じメールを2回処理しない)
・エラー発生時に通知

【Gmail → スプレッドシート自動転記】


請求メールをスプレッドシートに自動で記録する仕組みです。

まず、Gmailで対象メールにラベル(例: invoice)を付けておきます。gws でラベル付きメールを取得し、本文を読み取り、スプレッドシートに行を追加します。

取得 → 読み取り → 追記、この3ステップをプログラムでつなぐだけです。

【AIによるメール内容の自動抽出】


ここがGASとの最大の差別化ポイントです。

請求メールのフォーマットは送信元ごとにバラバラです。正規表現でひとつずつ対応していたらキリがありません。

そこでAI(LLM)にメール本文を渡して「日付、金額、取引先、説明を抽出して」と指示するだけで、フォーマットに関係なく正確にデータを取り出せます。

実際にAnthropicの請求メール(英語、Stripe経由)を処理した結果がこちらです。

・日付: 2026-03-14
・取引先: Anthropic, PBC
・レシート番号: 2XXX-2XXX-2XXX
・金額: $100.00
・内容: Max plan - 5x

年をまたぐ期間表記(Dec 31, 2025 – Jan 31, 2026)も正しく解釈しました。正規表現では対応が難しいケースです。

GASからAIを呼び出すのは非常に手間がかかりますが、gws + サーバーサイドのプログラムなら数行で実現できます。

【Gmail → カレンダー自動登録】


ドメイン更新の案内メールから、期限日と請求予定日を読み取ってカレンダーに自動登録しました。

さくらインターネットからのドメイン更新メール(日本語)を処理した結果です。

・ドメイン: example.jp
・有効期限: 2026-05-31
・請求予定日: 2026-04-10

この情報をもとに、カレンダーに2件の予定を自動作成しました。

・[ドメイン更新] example.jp 有効期限 → 5月31日
・[ドメイン請求] example.jp 請求案内 → 4月10日

メールを見落としても、カレンダーに期限が入っていれば安心です。

【スプレッドシート → レポートメール自動送信】


スプレッドシートに記録した支出データを読み取り、レポートメールを自動生成・送信しました。

月次支出レポートの例です。

・Anthropic: Max Plan 5x — $100 (支払済み)
・さくらインターネット: ドメイン example.jp — ¥3,982 (保留)
・Vultr: VPS Tokyo — ¥1,500 (支払済み)
・合計: 3件(支払済み: 2件)

テンプレートを用意しておけば、毎月自動でレポートメールが届く仕組みが作れます。

【重複防止】


同じメールを2回処理して二重登録されては困ります。

スプレッドシートにメールのID(message ID)を一緒に記録しておき、次回処理時に「このIDは処理済みか?」をチェックします。処理済みならスキップ。

2回実行しても安全、という安心感は運用において非常に重要です。

【エラー時の通知】


認証切れやAPI エラーが起きた場合は、即座に通知が飛ぶようにしています。

通知先はSlack、Discord、LINE、メールなど自由に選べます。GASのように「いつの間にか止まっていた」ということがありません。

実際のエラー通知の例です。

・Service: Sheets
・Operation: read
・Status: 404
・Error: Requested entity was not found.

何がどこで失敗したか一目瞭然です。

【定期実行】


これらの処理はサーバー上で自動的に定期実行されます。15分ごと、1時間ごと、毎日、毎月初など、用途に応じて自由に設定可能です。

GASのトリガーのような6分制限や1時間最小単位の縛りはありません。

【まとめ】


今回テストした連携です。

・Gmail → Sheets: 請求メールの自動転記(AI抽出)
・Gmail → Calendar: 期限メールからカレンダー自動登録
・Sheets → Gmail: レポートメール自動送信
・重複防止: message IDによるチェック
・エラー通知: 失敗時に即座にアラート
・定期実行: 分単位でスケジュール可能

GASでは実現が難しい、あるいは非常に手間がかかる処理が、gws を使えば自然に組めることが確認できました。

特にAIによるメール内容の自動抽出は、フォーマットが異なるメールを扱う業務では大きな武器になります。

次回は、これらの仕組みを実際の業務で1週間運用してみた結果を報告する予定です。


サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら