問い合わせに「15分で返す」を、人を増やさずに成立させる
Webからの問い合わせは、返信が早いほど商談化率が上がります。一方で、機械が勝手に見積や納期を答えてしまうのは論外です。 そこでこの仕組みは 初回のご挨拶は全自動、内容のある2通目は人が承認してから送る というハイブリッド方式を採りました。 さらに、すでに動いている見積アプリ・請求システムとつなぎ、問い合わせから受注までを一本の線にします。
全10画面のうち、実装済み は現在動いているもの、実装予定 はこれから作る完成イメージです。各章の見出しに表示しています。
なぜこの仕組みが要るのか
問い合わせ対応で起きていた3つのことを、そのまま設計要件にしています。
返信までの時間がばらつく
担当者が外出・打合せ中だと、数時間〜翌日になることがある。最初の1通が遅れるほど、他社に流れる。
問い合わせが3つの入口に散る
防災無料相談・見積依頼・お問い合わせの3フォーム。通知メールが受信箱に紛れ、拾い漏れが起きうる。
全自動にはできない
金額・納期・在庫は、条件を確認しないと答えられない。誤った自動回答は、遅い返信より損害が大きい。
結論:初回=自動、2通目=人の承認
初回メッセージは「受け付けました/担当がご連絡します」までの定型。判断が要る内容は、担当者が画面で下書きを直してから送る。速さと正確さを両立させる分担です。
全体の流れ
お客様から見ると「送信 → すぐ返事 → その日のうちに中身のある返事」の2通だけ。裏側では次の3ステップが動いています。
受信・抽出・初回送信
main(受信と送信)/dailyKpi(日次のKPI集計)/healthCheck(死活監視)の3つのトリガーで常時稼働します。
送信専用
差出人を sales2@ にしたいときだけ呼ばれます。アカウントをまたいで送るために、送信機能だけを分けています。
台帳とダッシュボードの土台
リード・送信ログ・KPI・設定・テンプレートを保持。CSV/Excel でそのまま書き出せます。
いつ送るのか
「早ければ早いほどよい」ではなく、深夜に自動返信が届いて不審に思われないよう、営業時間を軸に決めています。
| 項目 | ルール | 備考 |
|---|---|---|
| 営業時間 | 平日 9:00–18:00 | 土日祝は休み |
| 初回メッセージ(営業時間内) | 着信から15分後 | 全自動。担当者の操作は不要 |
| 初回メッセージ(時間外) | 翌営業日 8:30 | 始業前に届き、出社時には対応済み |
| 2通目のSLA | 営業時間内 2時間以内 | 文面では「本日中に」と緩めに表現 |
| KPI | 初回30分以内 100% | あわせて2通目のSLA達成率を計測 |
画面マップ
ツールは10画面で構成します。青字の「実装済み」は現在動いているもの、「実装予定」はこの資料で完成イメージとしてお見せするものです。以降の章で1画面ずつ実際の画面を掲載します。
| 区分 | 画面 | 目的 | 状態 |
|---|---|---|---|
| 対応 | ダッシュボード | 今日の件数と、約束(SLA)を守れているかを確認する | 実装済み |
| 対応 | 承認キュー | 2通目の承認待ちを、SLA残り時間の短い順に片づける | 実装予定 |
| 対応 | リード一覧 | 届いた問い合わせと、初回・2通目の送信状態を一覧する | 実装済み |
| 対応 | 商談パイプライン | 問い合わせから受注までを段階別に見て、止まっている案件を拾う | 実装予定 |
| 連携 | 見積・請求 | 見積アプリで見積を作り、受注したら請求システムへ引き継ぐ | 実装予定 |
| 連携 | 顧客カルテ | 1社ぶんのやり取り・見積・請求を1画面にまとめる | 実装予定 |
| 記録 | 送信ログ | いつ・誰が・どの文面で送ったかを追跡する | 実装予定 |
| 記録 | KPI・稼働モニタ | KPIの推移と、自動処理が止まっていないかを見る | 実装予定 |
| 管理 | テンプレート | フォーム別の文面を画面で編集し、禁止項目を検査する | 実装予定 |
| 管理 | 設定 | 営業時間・送信タイミング・テストモードを変える | 実装済み |
なぜ画面を分けるのか
ダッシュボードは「見る」、承認キューは「片づける」、パイプラインは「止まっている案件を拾う」。目的が違うものを1画面に混ぜると、毎朝どこを見ればいいか分からなくなります。担当者が朝いちばんに開くのは承認キュー1枚、というのが設計の狙いです。
画面① ダッシュボード
実装済み担当者が朝いちばんに開く画面。「今日どれだけ来て、約束を守れているか」だけが見えれば十分、という方針で作っています。
- 1テストモード ON:この表示が出ている間、メールは実際のお客様には届きません。本番切替は、この表示を消す設定変更ひとつだけです。
- 2初回30分以内 送信率:この仕組みの一番の約束。100%を維持できているかを毎日ここで確認します。
- 3未対応(要承認):担当者が今すぐ手を動かすべき件数。ここが0なら、その日の宿題は終わりです。
- 4稼働状況:3つのトリガーが動いた時刻を表示。止まっていれば healthCheck が気づいて通知します。
画面② 承認キュー
実装予定リード一覧とは別に、「2通目の承認待ちだけ」をSLA残り時間の短い順に並べた作業用の画面です。担当者が実務でいちばん長く開くのはこの画面になります。
- 1SLA残り時間順に自動で並ぶ:残り30分を切ると時間表示とバーがオレンジに変わります。上から順に片づければ、SLA未達は起きません。
- 2本日の完了:処理した件数と、そのうちSLAを守れた件数。ここが揃うことが1日の目標になります。
画面③ リード一覧
実装済み届いた問い合わせの一覧。初回が送られたか、2通目がまだかが、行を見るだけで分かるようにしています。
| 受信 | フォーム | 会社名 | お名前 | 初回1 | 2通目2 | 操作3 |
|---|---|---|---|---|---|---|
| 08-28 09:04 | 見積依頼 | ◯◯建設 株式会社 | 山田 様 | 09:19 予約 | 要承認 | |
| 08-28 08:41 | 防災無料相談 | (未入力) | 佐藤 様 | 08:56 送信済 | 要承認 | |
| 08-27 16:12 | お問い合わせ | 株式会社△△商事 | 鈴木 様 | 16:27 送信済 | 17:35 送信済 | |
| 08-26 21:30 | 見積依頼 | □□工業 株式会社 | 高橋 様 | 08-27 08:30 送信済 | 10:02 送信済 |
- 1初回の状態:「09:19 予約」は、まだ送っていないが送信時刻が確定している状態。時間外に届いた分は翌営業日8:30で予約されます。
- 22通目の状態:要承認が付いている行が、担当者の出番です。
- 3下書き確認ボタン:ここを押すと編集画面が開きます。改修予定 現状は表の右端にあり横スクロールしないと見えないため、行のクリックでも開けるようにします。
- 4会社名が空欄でも登録:通知メールの項目抽出は「■項目名の次の行に値が入る」形式に合わせてあり、未入力欄があっても行がずれません。
画面④ 下書き確認・送信
実装済みこの仕組みで唯一、人が必ず通る画面です。文面はすべて自由に書き換えられます。
- 1送信元を都度選択:sales1@ と sales2@ のどちらから出すかを、案件ごとに選びます。sales2@ を選んだときは、sales2@ 側に置いた送信専用GASが実行されます。
- 2もう一方を自動CC:選ばなかったアドレスが必ずCCに入るので、2人のどちらが見ても経緯が追えます。
- 3本文は全文編集可:テンプレートはあくまで下敷き。書き換えても、送信ログには実際に送った文面が残ります。
- 4送信前チェック:禁止項目(第17章)に触れる表現が残っていないかを確認したうえで送信します。二重送信も同時にブロックされます。
画面⑤ 商談パイプライン
実装予定問い合わせが「返信して終わり」にならないよう、受注までの段階を1画面で見えるようにします。止まっている案件を拾うための画面です。
新規2
0日
0日
初回送信済3
1日
2日
3日
ヒアリング中2
6日
9日
見積提出2
¥1,284,000
4日
¥786,000
11日
受注1
¥2,750,000
請求へ
- 1前半は自動、後半は手動:初回送信までは仕組みが動かし、そこから先は担当者がカードを移動。見積を作ると「見積提出」へ自動で移り、金額が載ります。
画面⑥ 見積・請求ツール連携
実装予定すでに動いている見積アプリと請求システムに、このツールをつなぎます。問い合わせ→見積→請求を、担当者が入力し直さずに一本の線にするのが狙いです。
GET /api/quote/{no} → 見積番号・金額・PDFのURL・状態を取得
POST /api/invoice/from-quote → 受注時に請求システムへ引き継ぎ
- 1見積を作る:会社名・ご担当者・要望(拠点数や想定人数)を見積アプリへ渡し、下書きの見積を作成。既存の商品マスタはそのまま使えます。
- 2受注したら請求へ:見積番号・金額・宛先を請求システムへ引き継ぎます。請求書を一から作り直す必要がありません。
- 3つなぎ方は既存と同じ:3システムとも共有シークレットのBearerトークン方式で、認証の作り方を増やしません。
見積の下書きを自動で作る
見積依頼フォームの内容(拠点数・想定人数・希望時期)を見積アプリへ渡し、宛先と要望が入った状態から始められます。
見積PDFを2通目に添付
見積が確定すると、承認キューに「見積書を添付した2通目」の下書きが並びます。送信は従来どおり人の承認後です。
受注→請求を引き継ぐ
受注に動かすと、見積番号・金額・宛先が請求システムへ渡ります。請求書の作り直しと転記ミスがなくなります。
画面⑦ 顧客カルテ
実装予定1社ぶんの情報を1画面に集約します。担当が変わっても、この画面を見ればこれまでの経緯が分かる状態を目指します。
| ご担当 | 山田 様(総務部) |
| 拠点数 | 12 拠点 / 想定 300 名 |
| 流入元 | 見積依頼フォーム |
| 担当者 | 佐々木(sales1@) |
- 1やり取りの履歴:問い合わせ・自動送信・承認送信・見積・請求を1本の時系列に並べます。オレンジは人が関与した出来事です。
- 2基本情報:フォームで受け取った項目をそのまま保持。次回の問い合わせ時は同じ会社に自動で紐づきます。
- 3追客リマインド:返信がないまま3営業日が過ぎた案件を検知し、フォロー文面の下書きを自動で用意します(送信は承認後)。
画面⑧ 送信ログ
実装予定「いつ・誰が・どの文面で送ったか」を後から追える記録です。社内の確認にも、外部への説明にも使えます。
| 送信日時 | 種別 | 宛先 | 送信元 | 結果 | 文面 |
|---|---|---|---|---|---|
| 08-28 09:58 | 2通目 | yamada@example.co.jp | sales1@ | 成功 | |
| 08-28 09:19 | 初回 | yamada@example.co.jp | sales1@ | 成功 | |
| 08-28 08:56 | 初回 | sato@example.jp | sales1@ | 成功 | |
| 08-27 17:35 | 2通目 | suzuki@example.co.jp | sales2@ | 成功 |
- 1結果まで記録:送信の成否を残し、失敗があれば絞り込めます。二重送信・送信不整合の検知もこの記録が土台です。
- 2実際に送った文面を保存:担当者が書き換えた内容がそのまま残るため、「テンプレートではこうだった」という食い違いが起きません。
画面⑨ テンプレート管理
実装予定文面をスプレッドシートではなく画面で編集できるようにします。禁止項目の検査も、保存の前にここで通します。
- 1フォーム別・段階別に持つ:初回・2通目・追客を、3つのフォームごとに用意します。
- 2差し込みタグ:会社名やお名前は{{ }}で差し込み。会社名が空欄のときは自動で行ごと省く扱いにします。
- 3禁止項目チェック:保存時に6項目の表現を検査し、引っかかると保存できません。人が書き換えた文面も送信前に同じ検査を通ります。
画面⑩ KPI・稼働モニタ
実装予定経営報告に使える数字と、仕組みが止まっていないかの確認を1画面にまとめます。ダッシュボードが「今日」なら、こちらは「今月」です。
| 週 | リード | 初回30分 | 2通目SLA | 見積 |
|---|---|---|---|---|
| 08/03週 | 14 | 100% | 100% | 3 |
| 08/10週 | 11 | 100% | 91% | 2 |
| 08/17週 | 19 | 100% | 89% | 5 |
| 08/24週 | 17 | 100% | 92% | 4 |
| 処理 | 最終実行 | 間隔 | 結果 |
|---|---|---|---|
| main | 09:10 | 5分 | 正常 |
| dailyKpi | 08:00 | 1日 | 正常 |
| healthCheck | 09:00 | 1時間 | 正常 |
| quoteSync | 09:05 | 15分 | 正常 |
- 1週次の推移:件数だけでなく、約束を守れた割合と見積に進んだ件数を並べます。CSV/Excelでそのまま報告資料に使えます。
- 2トリガーの実行状況:自動処理の最終実行と間隔を表示。見積連携(quoteSync)もここで監視します。
画面⑪ 設定シート
実装済み動きを決めているのはコードではなく、このスプレッドシートの設定行です。営業時間や送信の遅延は、ここを直せば変わります。
| A / 設定キー | B / 値 | C / 説明 | |
|---|---|---|---|
| 1 | TEST_MODE1 | TRUE | TRUE の間はお客様に届かない |
| 2 | BUSINESS_HOURS | 09:00-18:00 | 平日のみ/土日祝は休み |
| 3 | FIRST_DELAY_MIN | 15 | 営業時間内の初回送信までの分数 |
| 4 | OFFHOUR_SEND_AT | 08:30 | 時間外に着信した分の翌営業日送信時刻 |
| 5 | SECOND_SLA_HOURS2 | 2 | 2通目のSLA(営業時間で計算) |
| 6 | NOTIFY_FROM | form-notify@example.co.jp | 通知メールの差出人(抽出条件) |
| 7 | SENDERS | sales1@ , sales2@ | 送信元の候補/未選択側を自動CC |
| 8 | HEALTH_ALERT_TO | sales1@example.co.jp | 死活監視の通知先 |
| 9 | FOLLOWUP_AFTER_DAYS | 3 | 追客リマインドまでの営業日数(実装予定) |
| 10 | QUOTE_APP_ENDPOINT | (見積アプリのAPI) | 見積連携の接続先(実装予定) |
- 1TEST_MODE:本番移行はこの1セルを FALSE にするだけ。合格基準(第16章)を満たしてから切り替えます。
- 2SECOND_SLA_HOURS:SLAは実時間ではなく営業時間で計算されるため、夜間・休日は時計が止まります。
※ 画面は説明用に再現したものです。実データではありません。
「事故らせない」ための7つの仕掛け
自動でメールを出す以上、いちばん怖いのは誤送信と二重送信、そして黙って止まることです。設計段階で7点を織り込みました。
二重送信ブロック
同じリードに同じ種別のメールは2度出ません。トリガーが重なって動いても、送信済みの記録が先に立ちます。
誤送信ガード
宛先の形式、テスト用アドレス、送信元アカウントの整合を送信直前に検査。1つでも通らなければ止めます。
死活監視(healthCheck)
トリガーが動いているかを定期確認し、止まっていれば管理者へ通知。「気づかないまま止まっていた」を防ぎます。
SLAは営業時間ベース
金曜夜の問い合わせが土曜の朝に「SLA違反」になることはありません。休みの時間は数えません。
性能対策
1回の実行で扱う件数に上限を設け、GASの実行時間内に必ず終わるようにしています。件数が増えても取りこぼしません。
送信不整合の検知
「送ったのに記録がない」「記録はあるのに送れていない」を突き合わせて検出し、再送・訂正の判断材料にします。
本番切替の合格基準
3フォームそれぞれで実際に1件ずつ通り、かつ sales1@ / sales2@ の両方から送信成功すること。これを満たすまで TEST_MODE は FALSE にしません。
自動化が触らない領域
この6項目は、テンプレートにも自動生成文にも入れません。必要な場合は担当者が自分の言葉で書き、責任を持って送ります。
境界を決めておくメリット
「どこまでを機械に任せるか」が先に決まっているので、担当者は迷わず承認できます。外部の方に説明する際も、この6項目が人の判断を通っていることを明示できます。
現在地とこれから
2026年8月28日時点。テストモードのまま、実フォーム経由の検証まで通っています。
| 工程 | 内容 | 状態 |
|---|---|---|
| 受信基盤 | Gmailフィルタ(差出人+件名条件)/ sales1@ 側 GAS 設置 | 完了 |
| 自動実行 | トリガー3種(main / dailyKpi / healthCheck) | 完了 |
| 項目抽出 | 実フォーム経由のテスト合格。会社名が空欄でも崩れない | 完了 |
| API連携 | API_TOKEN 設定・ウェブアプリのデプロイ | 完了 |
| ログイン | Googleログイン(@example.co.jp 限定)/ ダッシュボードで実データ表示 | 完了 |
| 送信テスト | sales1@ からの実送信確認 | 対応中 |
| 送信GAS ② | sales2@ 側の送信専用GASの設置 | これから |
| 公開 | Vercel へのデプロイ(社内から利用可能に) | これから |
| 本番切替 | 合格基準の達成を確認して TEST_MODE を FALSE に | これから |
ロードマップ
この資料に載せた「実装予定」の画面は、次の順で作ります。稼働を止めずに、上から順に足していく前提です。
まず稼働させる
sales1@ からの送信テスト → sales2@ 側の送信GAS → Vercel公開 → 合格基準を満たして TEST_MODE を FALSE に。
運用を軽くする
承認キュー・送信ログ・テンプレート管理・KPI/稼働モニタ。毎日の作業を1画面に集約し、記録を残します。
売上につなげる
商談パイプライン、見積アプリ連携、請求システム連携、顧客カルテと追客リマインド。問い合わせを受注まで運びます。
さらに先
Claude API による文面生成(承認は人のまま)、楽天市場店からの問い合わせ取り込み、拠点別の提案テンプレート。
連携で減る手間
| いまの作業 | 連携後 | 効く場面 |
|---|---|---|
| 問い合わせ内容を見て、見積アプリに会社名・担当者を打ち直す | ボタン1つで見積の下書きが立ち上がる | 見積依頼フォーム(週6件前後) |
| できた見積PDFを探して、メールに添付して文面を書く | 見積PDF付きの2通目が承認キューに並ぶ | 提出のたび |
| 受注後、請求システムで宛先・金額を再入力する | 見積番号ごと引き継がれる | 受注のたび |
| 「あの会社どこまで進んだか」を担当者に聞く | 顧客カルテとパイプラインで分かる | 日常・引き継ぎ時 |
関係者にお願いしたいこと
本番切替の前に、3フォームそれぞれから実際にテスト送信していただける方を各1名お願いします。sales1@ / sales2@ の両方から送信できることが確認できた時点で、TEST_MODE を切り替えます。