# Mail

大学キャリア課向け情報提供メール配信システム

AIが書いたとは誰も思わないメールを、数回のクリックで全担当顧客へ一斉配信する仕組みを構築した。

工数削減 99%
開発期間 30日
開発費用 ¥750,000

01_BACKGROUND

人材紹介会社で大学キャリア課を担当する営業職が、担当校数の増加とともに個別フォローの質が低下していた。以前の部署でメールによる定期接触で顧客信頼を積み上げていた先輩の姿を見て、自分も同様の取り組みを始めようとした。しかし壁は一枚目から立ちはだかった。

数十時間の試行錯誤を経ても、客先に出せる品質のメールは一本も完成しなかった。
「メールを送れば関係構築できると思っていた。そもそもメールが書けなかっただけで。」

原稿を書くスキルがなく、AIで補おうと数十時間を費やした。しかし単一のメルマガから1件ピックアップする程度の情報量では、キャリア課職員にとって価値ある内容にならない。スキル不足と情報の薄さ、双方の壁が解決を阻んでいた。

02_APPROACH

業務を3工程に分解した。「何を送るか(情報収集・選定)」「どう書くか(原稿生成)」「誰に送るか(配信)」を完全に切り離し、それぞれを自動化した。SerpAPIで5カテゴリのニュースをリアルタイム収集し、Gemini AIが価値ある記事を選定・要約する。原稿生成はエピソードパターンを複数用意し、毎回異なるトーンで仕上がる設計にした。Webアプリから数回のクリックで全担当顧客へ一斉送信できる。マルチユーザー対応により複数の営業担当者が独立して運用できる。

03_RESULT

「書けない」という問題を消去した。この営業マンは今、数回のクリックで全担当顧客に質の高いメールを数分で届けられる。先方から感謝の返信が届き、電話の折り返し率が上がり、イベント案内は満席になる。情報を届けることが、そのまま信頼の積み上げになっている。

BEFORE
数十時間AIで試行錯誤しても、顧客に出せる品質のメールは1本も完成しなかった
AFTER
数回のクリックで全担当顧客へ一斉配信。先方から感謝返信、イベント満席が続く
BEFORE
数十時間の試行錯誤コスト / 送れたメール:0本
AFTER
開発費¥750,000 / 30日で本番稼働

SYSTEM_ARCHITECTURE

// Webアプリ(index.html) collectNewsForUI() // ブラウザから5カテゴリを選択して実行 → SerpAPI // カテゴリごとにランダムクエリで最新ニュースを収集 → _selectAndSummarizeWithGemini() // Geminiが記事を選定・要約・選定理由を付与 → _writeNewsToSheet() // 収集結果をニュース収集シートに記録(ユーザーごとに分離) generateDraftForUI() // 収集ニュースを選択してワンクリックで原稿生成 → _rollEpisodePattern() // 複数のエピソードパターンをランダム選択(毎回異なるトーンに) → _buildDraftPrompt() // カテゴリ・要約・パターンを組み合わせてプロンプトを動的生成 → _callGemini() // Gemini APIで本文を生成 → _formatBody() // GAS側で書き出し・フッター・署名を付与(AIに任せない設計) → _writeDraftToSheet() // 原稿を原稿シートに保存・直近10件を表示 sendMailForUI() // 原稿を選択して全担当顧客へ一斉送信 → GmailApp.sendEmail() // 宛先リストを順次処理・送信 → ログシート記録 // 送信日時・会社名・氏名・メアドを自動記録 → 送信メールシート記録 // 件名・本文を保存(送信履歴の管理) getSignature() / saveSignature() // ユーザーごとの署名を設定シートで個別管理 initSheets() // シート未作成時に自動初期化(ヘッダー・書式を一括設定) // マルチユーザー設計 Session.getActiveUser() // ログインユーザーのメールで全データを分離 // 他ユーザーのニュース・原稿・ログには一切アクセス不可 // 複数の営業担当者が同一Webアプリを独立して運用可能 トリガー:Webアプリ(手動操作) // 組織内ユーザー全員がブラウザからアクセス可能
> START_CONSULTING _