OpenClaw Gmail連携:secure-gmailスキルで実現するメール自動分類とスマート返信

午前1時、私は画面に表示された「未読メール:327」という数字を見つめていました。
またしても眠れぬ夜です。コーヒーの飲み過ぎではありません。その赤い数字を見るたびに心拍数が上がるからです。進捗を急かすクライアント、「至急」と書かれた上司からの転送メール、そしてプロモーションメールが入り乱れています。「緊急」マークがついた3通を開いてみると、2通はセール広告、1通は先週の議事録でした。
Gmailのスマート分類も試しましたし、Zapierも使ってみました。しかし、無料枠はすぐになくなるし、重要なメールが「プロモーション」に入ってしまうこともありました。何より、自分のメールデータをクラウドの自動化プラットフォームに預けることに不安を感じていました。
そんなある晩、GitHubで偶然見つけたのが OpenClaw でした。
なぜZapierではなくOpenClawなのか?
正直に言うと、最初は私も疑っていました。「また新しいAIツールか?」と。
しかしドキュメントを10分ほど読んで、3つの点に惹かれました:
第一に、データが完全にローカルにあること。OpenClawは自分のPC上で動作し、GmailのOAuthトークンもメール内容もクラウドサーバーには送信されません。顧客の機密情報を扱う私にとって、これは決定的な要素でした。2026年のClawHavoc事件を覚えていますか?悪意のあるスキルによって多くのAPIキーが盗まれた事件です。データがローカルにあれば、少なくともリスクは半減します。
第二に、コストが可視化できること。Zapierはタスク数課金ですが、私は毎日100通以上のメールを処理するので、すぐに上限に達してしまいます。OpenClawならClaude APIを直接叩くので、Sonnet 3.5を使っても1通$0.02程度。月額$60もあれば十分で、プラットフォーム手数料もありません。
第三に、真のカスタマイズ性。Zapierのような「If This Then That」の単純なロジックではなく、TypeScriptで自由にロジックを書けます。例えば「上司の『時間ある?』は実は『明日までに提出せよ』という意味だ」といった暗黙の了解も、コードで表現できるのです。
もちろん、OAuthの設定やコードを書く手間はあります。しかし、SaaSにお金を払い続けるより、自分でシステムを掌握できる満足感の方が遥かに大きいです。
OAuth 2.0設定:ハマらないためのガイド
GmailのOAuth設定は、Google Cloud Consoleの複雑さもあって、最初は戸惑うかもしれません。
私が踏んだ地雷を避けるためのステップバイステップガイドです:
ステップ1:Google Cloud プロジェクトの作成
Google Cloud Consoleを開き、右上の「プロジェクトの作成」をクリックします。名前は適当に「OpenClaw Email Assistant」などでOK。作成後、必ずそのプロジェクトに切り替えてください(私はこれを忘れて時間を無駄にしました)。
ステップ2:Gmail APIの有効化
左側のメニューから「APIとサービス」→「APIとサービスの有効化」を選択。「Gmail API」を検索して、「有効にする」をクリックします。
ステップ3:OAuth同意画面の設定
「APIとサービス」→「OAuth同意画面」へ。「外部(External)」を選択します(個人利用でも、Google Workspace組織外ならこれを選びます)。
入力項目:
- アプリ名:My Email Assistantなど
- ユーザーサポートメール:自分のGmailアドレス
- デベロッパーの連絡先情報:自分のメールアドレス
そして重要なのが「スコープ」の追加です。以下を必ずチェックしてください:
https://www.googleapis.com/auth/gmail.readonly(閲覧)https://www.googleapis.com/auth/gmail.modify(既読/アーカイブ操作)https://www.googleapis.com/auth/gmail.compose(下書き作成)
私は最初 readonly だけにしてしまい、後でアーカイブ機能が動かずに再設定する羽目になりました。
ステップ4:OAuthクライアントの作成
「認証情報」ページ → 「認証情報の作成」→ 「OAuthクライアントID」。
アプリケーションの種類は「デスクトップアプリ」を選択。
作成すると「クライアントID」と「クライアントシークレット」が表示されます。すぐにコピーして保存してください。
OpenClawの .env ファイルなどに設定します:
GMAIL_CLIENT_ID=あなたのクライアントID.apps.googleusercontent.com
GMAIL_CLIENT_SECRET=あなたのクライアントシークレットステップ5:初回認証
OpenClawのGmailスキルを実行すると、ブラウザが開いて認証を求められます。「Google hasn’t verified this app(Googleはこのアプリを確認していません)」という警告が出ますが、テストモードなので正常です。
「詳細(Advanced)」→「[アプリ名]に移動(安全ではない)」をクリックして許可します。
成功するとトークンがローカル(通常 ~/.openclaw/tokens/gmail.json)に保存されます。このファイルは絶対にGitHubなどにアップロードしないでください。.gitignore に追加必須です。
secure-gmailスキルの開発:カオスから秩序へ
OAuth設定が終われば、楽しいコーディングの時間です。
私は secure-gmail というスキルを作成しました。主な機能は以下の4つです。
機能1:メール自動分類
Gmail標準の分類では不十分でした。私は以下の4つのタグで分類することにしました:Work(仕事)/ Personal(個人)/ Marketing(マーケティング)/ Important(重要)。
async function categorizeEmail(email: GmailMessage): Promise<string[]> {
const prompt = `
あなたはメール分類アシスタントです。以下のメール内容に基づき、該当するカテゴリを選択してください(複数可):
送信者: ${email.from}
件名: ${email.subject}
本文冒頭200文字: ${email.body.substring(0, 200)}
カテゴリオプション:
- work: 仕事関連(プロジェクト、会議、クライアント連絡など)
- personal: 個人メール(友人、家族、私事)
- marketing: マーケティング(プロモーション、広告、ニュースレター)
- important: 重要かつ緊急("緊急"、"今日中"、"締切"などのキーワード、または上司/重要顧客から)
カテゴリタグのみをカンマ区切りで返してください。例: work,important
`;
const response = await callClaudeAPI(prompt);
return response.split(',').map(tag => tag.trim());
}ヒント:本文全体ではなく冒頭200文字だけを渡すことで、トークン消費を抑えつつ十分な精度が得られます。
機能2:スマート下書き生成
「承知いたしました」「ありがとうございます」といった定型文を打つのに飽きていませんか?
私は3種類のテンプレートを用意しました。
1. クイック返信(単純な確認用)
「礼儀正しく、かつ短潔に(50字以内)。『了解』『はい』だけの素っ気ない返事は避けること。」
2. 詳細返信(説明が必要な場合)
コンテキスト(要点)を入力し、それを元にAIが丁寧なメール文面を構成します。
「まずは感謝を述べ、質問に一つずつ答え、次のアクションの日程を明確にする。」
3. お断りメール(これが一番助かる!)
「相手の依頼を丁寧に断るメールを作成してください。感謝と理解を示しつつ、客観的な理由を説明し(『忙しい』とは言わず)、可能なら代替案を提示してください。」
AIが書くお断りメールは、私が書くより角が立たないことが多いです。「素晴らしいご提案ですが、現在はリソースが不足しており…」と、絶妙なトーンで書いてくれます。
機能3:優先順位付け
分類だけでなく、読むべき順番も知りたいですよね。0〜10点のスコアリングシステムを導入しました。
function calculatePriority(email: GmailMessage, categories: string[]): number {
let score = 5; // 基礎点
if (categories.includes('important')) score += 3;
if (categories.includes('work')) score += 2;
if (categories.includes('marketing')) score -= 3;
if (email.unread) score += 1;
// 24時間以内のメールは加点(鮮度重視)
const hoursSinceReceived = (Date.now() - email.receivedAt) / 3600000;
if (hoursSinceReceived < 24) score += 1;
// VIPリスト(上司や重要顧客)からのメールは高得点
const vipSenders = ['boss@company.com', 'bigclient@corp.com'];
if (vipSenders.some(vip => email.from.includes(vip))) score += 3;
return Math.max(0, Math.min(10, score));
}これで毎朝、「Priority 10: [上司] Q1予算について」がリストの一番上に表示されるようになりました。
機能4:パーソナライズ調整
AIも完璧ではありません。「至急(Urgent)」という言葉を乱用するクライアントのメールを毎回「重要」と判定されては困ります。
そこで custom-rules.json で調整できるようにしました。
{
"senderRules": {
"nervous-client@company.com": {
"ignoreKeywords": ["urgent", "asap"],
"priorityModifier": -1
}
}
}これで、特定の相手からの「至急」は無視し、優先度を下げるという処理が可能になります。
セキュリティ強化:ClawHavocを教訓に
2026年3月のインシデントは忘れてはいけません。サードパーティのスキルがOAuthトークンを盗み出した事例です。
私のセキュリティチェックリスト:
- コード監査:コミュニティのスキルを使う場合は、必ずコードを確認します。
fetchやaxiosで不審なドメインにデータを送っていないか?googleapis.comとanthropic.com以外の通信は警戒すべきです。 - 最小権限:OAuthスコープは必要最低限に。
gmail.send(送信権限)は外しました。下書き作成(compose)までにしておけば、万が一乗っ取られても勝手にメールを送られることはありません。 - トークン暗号化:保存するトークンファイルは、Node.jsの
cryptoモジュールを使ってAES-256-CBC等で暗号化し、復号キーは環境変数で管理します。平文で保存しないのが鉄則です。 - ログ監査:OpenClawのログを定期的にgrepして、怪しい外部通信がないかチェックします。
実践での最適化とコスト
スタイルの調整
AIの文章が硬すぎる? プロンプトに自分の過去のメールを数通「サンプル」として与え、「私の口調を真似て」と指示すると驚くほど自然になります。「お世話になります」から「こんにちは!」へ、自分のスタイルに合わせて調整しましょう。
パフォーマンスとコスト
100通のメールを1通ずつAPIに投げていては時間がかかります。
バッチ処理を導入し、30〜40通分の情報をまとめて1回のプロンプトで分類させることで、処理時間を5分から1分未満に短縮しました。
また、モデルの使い分けも有効です。
- マーケティングメールの判定 → 安価な Haiku
- 通常の仕事メール → Sonnet 3.5
- 重要かつ複雑な返信 → Opus
この工夫により、月額コストは$80から$45まで削減できました。
一ヶ月後の変化
今、未読メールは12通しかありません。残りの300通以上は、自動的に分類・処理済みです。
毎朝2時間かかっていたメール処理が、30分に短縮されました。浮いた時間で新しい技術(Rustなど)を学ぶ余裕もできました。何より、メールボックスを開くときのストレスがなくなりました。
OpenClawは魔法ではありませんが、自分のための、安全で制御可能な自動化システムを構築できる強力なツールです。データは手元に、コードは自分の管理下に。これこそが、あるべきAIアシスタントの姿ではないでしょうか。
OpenClaw Gmail連携 完全ガイド
OAuth設定からスキル開発、自動化までメール管理を一変させるステップ
⏱️ Estimated time: 4 hr
- 1
Step1: Google Cloud Project設定
Google Cloud Consoleでプロジェクトを作成。
Gmail APIを有効化し、OAuth同意画面(外部)を設定。
スコープには gmail.readonly, gmail.modify, gmail.compose を指定。 - 2
Step2: OAuth認証情報取得
OAuthクライアントID(デスクトップアプリ)を作成。
クライアントIDとシークレットを .env ファイルに保存。
初回実行時にブラウザで認証し、トークンをローカル生成。 - 3
Step3: 分類スキル開発
4つのタグ(Work, Personal, Marketing, Important)を定義。
メール冒頭200文字を使用し、Claudeに分類させるプロンプトを作成。
JSON形式等で結果を受け取るロジックを実装。 - 4
Step4: スマート機能実装
返信タイプ別(クイック、詳細、拒絶)のプロンプトテンプレートを用意。
スコアリングロジック(VIP加点、時間減衰など)で優先度計算を実装。 - 5
Step5: セキュリティと最適化
トークンファイルの暗号化保存を実装。
モデルの使い分け(Haiku/Sonnet/Opus)によるコスト削減。
バッチ処理によるAPI呼び出し回数の削減。
FAQ
ZapierやMake.comよりOpenClawが良い理由は?
1. データセキュリティ:すべての処理がローカルで行われ、トークンやメール内容が外部クラウドに保存されません。
2. コスト:API直接利用のため、大量のタスクを処理しても月額固定費がかからず、単価も安価です。
3. 柔軟性:コードベースでロジックを書けるため、複雑な条件分岐やパーソナライズが可能です。
OAuth設定でよくある失敗は?
AIが重要メールを見落とさないか心配です。
1. プロンプト最適化:VIPリストやキーワードによる明示的な指示。
2. 個別ルール:特定の送信者に対する例外ルールの適用。
3. VIP強制加点:上司や重要顧客のアドレスは無条件で高スコアを付与し、AIの判断ミスをカバーします。
コストはどれくらいかかりますか?
トークンのセキュリティはどうすればいいですか?
AIの文章が自分らしくない場合は?
5 min read · 公開日: 2026年2月5日 · 更新日: 2026年2月5日
関連記事
AIにドキュメントを読ませる:OpenClawブラウザ自動化実践ガイド

AIにドキュメントを読ませる:OpenClawブラウザ自動化実践ガイド
OpenClawアーキテクチャ徹底解説:3層設計の技術原理と拡張実践

OpenClawアーキテクチャ徹底解説:3層設計の技術原理と拡張実践
OpenClaw設定完全ガイド:openclaw.jsonの徹底解説とベストプラクティス


コメント
GitHubアカウントでログインしてコメントできます