以前、このブログで「Claude × GAS × Geminiで作るGmail返信の完全自動化マニュアル」という記事を公開しました。スプレッドシートで返信基準を管理し、15分おきにメールを自動チェックして下書きを作るシステムです。実際に使ってみると、メール対応の負担はかなり減りました。
ただ、あのシステムには一つ前提がありました。「Gmailを開いて、下書きを確認して、送信ボタンを押す」という作業が残ること。結局Gmailは見に行かないといけない。
OpenClawを使い始めてから、この前提が変わりました。
今はDiscordからメールの確認も返信指示もできます。重要なメールが届けば、OpenClawがDiscordで知らせてくれる。正直に言えば、Gmailを直接開く頻度は大幅に減りました。
今回は、OpenClawとGoogleサービスを連携させるためのツール「gogcli」の導入方法と、メール処理を中心とした実際の使い方を解説します。
前回の記事はこちら:OpenClaw講座 第4回:Discord連携|AIエージェントと会話できる環境を構築する
gogcliとは
gogcli(gog)は、Gmail・Googleカレンダー・Googleドライブなど、複数のGoogleサービスをコマンドラインから操作できるツールです。
OpenClawのエージェントは、このgogcliを通じてGoogleサービスにアクセスします。つまり、gogcliを入れることで、OpenClawが「メールを読む」「返信を送る」「カレンダーを確認する」といった操作をできるようになります。
今回はメール操作に絞って解説しますが、セットアップの際にはカレンダーやドライブなど他のAPIもまとめて有効化しておきます。次回(第6回)のスケジュール管理でもそのまま使えるためです。
gogcliのセットアップ
Step 1:gogcliのインストール
ターミナルを開いて、以下のコマンドを実行します。
brew install steipete/tap/gogcli
Homebrewが入っていない場合は、第2回の環境構築ガイドを参照してください。
Step 2:Google Cloud ConsoleでOAuth認証を設定する
gogcliがGoogleサービスにアクセスするには、OAuth認証の設定が必要です。少し手順が多いですが、一度やれば以降は自動でトークンが更新されます。
2-1. Google Cloud Consoleにアクセス
Google Cloud Console(https://console.cloud.google.com/)にアクセスし、Googleアカウントでログインします。プロジェクトがなければ新規作成してください。
2-2. OAuth同意画面の設定
左側のメニューから「APIとサービス」→「OAuth同意画面」を選択します。
- User Typeで「外部」を選択して「作成」
- アプリ名:任意(例:gogcli)
- ユーザーサポートメール:自分のメールアドレス
- デベロッパーの連絡先情報:自分のメールアドレス
- 「保存して次へ」でスコープ設定はスキップ
- テストユーザーに自分のGmailアドレスを追加
- 「保存して次へ」→「ダッシュボードに戻る」
2-3. OAuthクライアントIDの作成
左側のメニューから「APIとサービス」→「認証情報」を選択します。
- 「+ 認証情報を作成」→「OAuthクライアントID」
- アプリケーションの種類:「デスクトップアプリ」を選択
- 名前:任意(例:gogcli)
- 「作成」をクリック
- 「JSONをダウンロード」→ client_secret_XXXXX.json が保存される
このJSONファイルには認証情報が含まれます。外部に公開しないよう注意してください。
2-4. 必要なGoogle APIの有効化
Google Cloud Consoleの「APIとサービス」→「ライブラリ」から、以下のAPIを検索して有効化します。今回使うのはGmail APIだけですが、次回以降の講座でも使うため、まとめて有効化しておくことを推奨します。
- Gmail API
- Google Calendar API
- Google Drive API
- Google Tasks API
- Google Sheets API
- Google Docs API
- Google Contacts API(People API)
- Apps Script API
Step 3:gogcliに認証情報を登録する
ダウンロードしたJSONファイルをgogcliに登録し、Googleアカウントを認証します。
# JSONファイルをgogcliに登録
gog auth credentials ~/Downloads/client_secret_XXXXX.json
# Googleアカウントを追加(ブラウザが自動で開く)
gog auth add your-email@gmail.com
ブラウザが開き、Google認証画面が表示されます。
- 自分のGoogleアカウントを選択
- 「このアプリはGoogleで確認されていません」と表示される場合 →「詳細」→「(安全ではないページ)に移動」をクリック
- 要求される権限を確認し、「許可」をクリック
「認証が完了しました」と表示されれば成功です。自分で作成したOAuthクライアントなので、「安全ではない」という警告は問題ありません。
Step 4:動作確認
認証が完了したら、メール一覧を取得してみます。
# 認証済みアカウントの確認
gog auth list
# メール一覧の取得テスト
gog gmail list
メールの一覧が表示されればセットアップ完了です。
Discordからメールを操作する
gogcliの設定が終わると、OpenClawのエージェントがGmailにアクセスできるようになります。操作はDiscordからチャットで指示するだけです。
実際の使い方
未読メールの確認
「未読メールを5件見せて」
エージェントがgogcliを実行し、未読メールの件名・送信者・受信日時をDiscordに返してくれます。Gmailを開く必要はありません。
メールの返信
「田中さんのメールに『承知しました。明日中に対応します』と返信して」
エージェントが該当メールを特定し、返信を作成します。ここで重要なのは、運用ルールとして「下書きとして保存し、送信前に確認する」フローにしておくことです。この点は後述します。
メールの検索
「先週届いた見積もり関連のメールを探して」
特定の条件でメールを検索し、結果を報告してくれます。
これらの操作は、以前GAS × Geminiで作ったシステムでは「自動で回る仕組み」でした。OpenClawの場合は「会話で指示する」形になります。どちらが優れているという話ではなく、用途が異なります。定型的な処理を決まったルールで回すならGAS版、状況に応じて柔軟に対応したいならOpenClaw版が向いています。
重要メールの自動通知をHEARTBEAT.mdに設定する
「Discordから指示する」だけでは、メールが届いたことに気づけません。ここでHEARTBEAT.mdの出番です。
HEARTBEAT.mdに「メールチェック」を追加することで、エージェントが定期的に未読メールを確認し、重要なものがあればDiscordで通知してくれるようになります。
推奨テンプレート
# HEARTBEAT.md
## 毎回チェック
- 未対応タスクの確認
- 重要な通知の確認
- 未読メールの確認 → 緊急性の高いメール(件名に「至急」「緊急」「URGENT」を含む、または重要な取引先からのメール)があればDiscordで報告
## メール通知ルール
- 件名と送信者のみを報告する。本文は報告しない
- 通知済みのメールは繰り返し報告しない
- 営業メールやニュースレターは通知対象外
## サイレント時間
23:00〜7:30は緊急時のみ通知。
ここで書いているのは「推奨テンプレート」です。実際の運用では、自社の業務に合わせてキーワードや通知条件を調整してください。
HEARTBEAT.mdの書き方や設定変更後の反映方法(openclaw gateway restart)については、第3回で解説しています。
通知だけにとどめる理由
HEARTBEAT.mdには「未読メールがあったら自動で返信を作成する」と書くこともできます。ただし、私はあえて「通知だけ」にしています。
理由は2つあります。
1つ目は、メールの内容を見ずに返信の要否を判断できないケースが多いこと。件名だけでは判断できない微妙なメールは、結局人が読んで指示を出す必要があります。
2つ目は、自動返信の暴走リスクです。第4回のDiscord連携でも触れましたが、OpenClawのエージェント同士が反応し合って無限ループに陥ることがあります。メールの自動送信で同じことが起きたら、取引先に大量のメールが飛ぶ最悪の事態になりかねません。
通知を受け取る → Discordで内容を確認する → 必要なら返信を指示する。この流れが、現時点では最もバランスの取れた運用だと考えています。
能力モードの確認
gogcliを使うには、OpenClawの能力モードが「full」になっている必要があります。第2回の環境構築ガイドで設定済みの方は問題ありませんが、念のため確認しておきましょう。
cat ~/.openclaw/openclaw.json | grep profile
"profile": "messaging" と表示された場合は、以下のコマンドで変更します。
sed -i.bak 's/"profile": "messaging"/"profile": "full"/' ~/.openclaw/openclaw.json
変更後はゲートウェイを再起動してください。
openclaw gateway restart
従量課金に関する注意
2026年4月のAnthropic仕様変更により、Claudeのサブスクリプション(Pro/Max)ではOpenClaw等のサードパーティツールが従量課金に変更されました。
HEARTBEAT.mdでメールチェックを高頻度に設定すると、その分APIコストが発生します。チェック間隔は業務の緊急度に合わせて調整し、不要な頻度にしないことが大切です。
また、コストを抑えたい場合はChatGPT(Codex)をバックエンドにする方法もあります。詳しくは第2回の環境構築ガイドで解説しています。
よくあるトラブルと対処
「このアプリはGoogleで確認されていません」と表示される
Google Cloud ConsoleでOAuth同意画面を設定した際に、テストユーザーとして自分のGmailアドレスを追加し忘れている可能性があります。「APIとサービス」→「OAuth同意画面」→「テストユーザー」で追加してください。
gog gmail list でエラーが出る
Gmail APIが有効化されていない可能性があります。Google Cloud Consoleの「APIとサービス」→「ライブラリ」でGmail APIを検索し、有効になっているか確認してください。
OpenClawのエージェントがgogcliを認識しない
能力モードが「messaging」のままになっていないか確認してください。「full」に変更し、openclaw gateway restart で再起動が必要です。
まとめ
今回はgogcliの導入と、OpenClawでのメール操作について解説しました。
ポイントを整理します。
- gogcliを入れることで、OpenClawがGmail・カレンダー・ドライブなどのGoogleサービスにアクセスできるようになる
- メールの確認・返信はDiscordからチャットで指示できる
- HEARTBEAT.mdに設定を追加すれば、重要メールの自動通知も可能
- 自動送信はリスクが高いため、通知+手動指示の運用を推奨
以前紹介したGAS版の自動返信システムは「決まったルールで自動処理する」仕組みでした。OpenClaw版は「エージェントに話しかけて柔軟に対応する」スタイルです。どちらが合うかは業務の性質によりますが、両方を使い分けている企業もあります。
次回(第6回)では、gogcliの導入が済んでいる前提で「スケジュール管理の完全自動化」を解説します。カレンダーの確認・調整をDiscordから行う方法と、HEARTBEAT.mdでの予定リマインドの設定を取り上げます。
80台以上のOpenClaw導入を支援してきた経験から言えるのは、メール処理の自動化は「全部自動にする」よりも「通知と簡単な操作を自動化して、判断は人がする」くらいのバランスが長続きするということです。
OpenClawを使ったGoogleサービス連携について、自社の業務に合わせたカスタマイズや導入支援をご希望の方は、お気軽にご相談ください。

コメント