背景
クライアントの社内では、問い合わせフォームから届くメールを毎朝手作業で仕分けしていました。営業・サポート・請求の3部門に振り分けるだけでも、担当者が30〜40分を費やしていたため、自動化のご依頼をいただきました。
使った技術
今回のシステムは以下の構成で動いています。
Google Apps Script(GAS): Gmail の受信トレイを定期ポーリング
Claude API(claude-haiku-4-5): 件名と本文から問い合わせカテゴリを判定
Gmail ラベル + Slack 通知: 分類結果を自動でラベリングし担当者に通知
システムの仕組み
GAS のトリガーで5分ごとに未読メールをチェックし、件名と本文の冒頭200文字を Claude API に渡します。プロンプトでは「営業・サポート・請求・その他」の4カテゴリのどれかを返すよう指示し、レスポンスに応じて Gmail ラベルを付与。同時に Slack の対応チャンネルに通知を送ります。
実装のポイント
Claude API のレスポンスはシンプルな1単語(カテゴリ名)のみ返すようプロンプトを設計しました。長文レスポンスをパースするよりも確実で、トークン消費も最小限になります。また、判定に迷うケースは「その他」として人間が確認するフローにしています。
結果
導入後は仕分け作業がほぼゼロになり、担当者の朝の業務が大幅に改善されました。誤分類率は約3%で、これは「その他」カテゴリで人間がカバーするため実運用上の問題はありません。月のAPI費用は数百円程度に収まっています。