メール処理に毎日1時間以上かけていませんか?
ビジネスパーソンが1日に受信するメールの平均数は50〜100通と言われています。その中から重要なメールを見つけ出し、適切に対応するだけで毎日1時間以上の時間を消費しています。年間に換算すると250時間以上——約30日分の労働時間をメール処理に費やしている計算です。
この無駄を解消するのがAIメール自動仕分けシステムです。ChatGPT APIとGASを連携させることで、受信メールをAIが自動分類し、優先度を判定し、重要なメールだけを即座に通知する仕組みを構築できます。
AIメール仕分けの仕組み
AIメール仕分けシステムの基本アーキテクチャは以下の通りです。
- GASが定期的にGmailの新着メールを取得(5分〜30分間隔)
- メールの件名・本文をChatGPT APIに送信して分類を依頼
- AIが「緊急対応」「要返信」「情報共有」「不要」の4段階に分類
- 分類結果に応じてGmailラベルを自動付与
- 「緊急対応」のメールはSlackに即時通知
実装手順:準備編
ChatGPT APIキーの取得
OpenAIのWebサイトでアカウントを作成し、APIキーを発行します。GPT-4o-miniモデルを使えば、1通あたりの分類コストは約0.01円以下で、月間3,000通を処理しても30円程度と非常に経済的です。
Gmailラベルの事前作成
分類先となるラベルをGmailに事前作成します。「AI/緊急対応」「AI/要返信」「AI/情報共有」「AI/不要」の4つを作成し、それぞれに色を設定しておくと視覚的にわかりやすくなります。
実装手順:GASコーディング編
GASエディタで新しいプロジェクトを作成し、以下の3つの関数を実装します。
- fetchNewEmails():未処理の新着メールを取得する関数
- classifyWithAI(subject, body):ChatGPT APIにメール内容を送信して分類結果を受け取る関数
- applyLabelAndNotify(thread, category):分類結果に応じてラベル付与とSlack通知を行う関数
これら3つの関数をメイン関数processEmails()で順番に呼び出す構成にします。GASのトリガーでprocessEmails()を5分おきに実行するよう設定すれば、メール受信からAI分類まで自動で処理されます。
運用のコツと注意点
- 最初の1週間は「判定結果の確認」に徹する:AIの判定精度を確認し、プロンプトを調整する
- 誤判定パターンをフィードバック:特定の送信元や件名パターンで誤判定が多い場合、プロンプトに例外ルールを追加
- APIコストの監視:OpenAIのダッシュボードで日次コストを定期的にチェック
- 個人情報の取り扱い:社外秘の情報を含むメールの扱いについて、社内ルールを確認する
よくある質問
Q. AIメール仕分けの精度はどれくらいですか?
A. 初期設定では80〜85%の精度ですが、プロンプトを業務内容に合わせてチューニングすることで95%以上の精度に向上できます。1〜2週間の運用でフィードバックを反映すれば、ほぼ完璧な分類が実現します。
Q. 社外秘のメールをAIに送信しても大丈夫ですか?
A. OpenAIのAPIはデフォルトでデータをモデル学習に使用しません(API利用規約による)。ただし、機密性の高い情報を扱う場合は、Azure OpenAI Serviceなどのエンタープライズ向けサービスの利用や、社内ポリシーの確認を推奨します。
Q. GASの実行時間制限に引っかかりませんか?
A. GASは1回の実行で最大6分(無料アカウントは90秒)の制限があります。大量のメールを処理する場合は、バッチサイズを10〜20通に制限し、5分間隔のトリガーで分割処理する方法で対応できます。
この記事が参考になったら、ランキング応援お願いします!
