
メタ情報
役割: 一人開発(要件定義 → 実装 → 運用) / 期間: 2026-04〜稼働中 / チーム: ソロ + Claude Code/Codex / 状態: サンプル実装(GitHub Public 公開済み)
概要
LINE 公式アカウント上で動く自動応答 Bot システム。友だち追加されたユーザーが、LINE のトーク内で車検予約・修理相談・見積もり依頼・予約確認を完結できる。営業時間外も 24 時間受付可能。Google Apps Script + Google スプレッドシート + LINE Messaging API で構築されており、サーバ不要・追加コストほぼゼロで運用できる。
背景・課題
地方の自動車整備工場では、電話受付が営業時間内のみで取りこぼしが発生する一方、Web フォームは PC 慣れしていない顧客が使いこなせないという二重の課題があった。LINE は普及率が高くボタン中心の操作で高齢層も使いやすいため、「LINE トーク内だけで予約から確認まで完結する仕組み」を作れば 24 時間受付化と取りこぼし削減を両立できると判断した。
実装内容
① 4 本柱フロー
車検予約・修理相談・見積もり依頼・予約確認の 4 本柱フローを Flow* モジュールとして分離実装。各フローはセッション ID で状態遷移を管理し、30 分操作なしで自動破棄。
② 意図マッチング
「車検したい」「エンジンから異音」「見積もり」のような自然言語キーワードからフローを起動。1 つの自由入力からユーザー意図を識別する判定ロジックを実装。
③ 複数希望日時対応
車検・修理・見積もりで第 1〜第 3 希望の日時を別々に指定可能。Flex Message のカルーセルと日時ピッカーを組み合わせて操作性を担保。
④ 画像アップロード対応
LINE で送られた症状写真(最大 3 枚)を Google Drive に保存し、スプレッドシートに直リンクで記録。
⑤ Push Quota Guard
LINE Messaging API の月次 Push 通数(無料 200 通 / Lite プラン 15,000 通)を超えないよう、閾値(140/180/200)でアラート + 上限直前で自動的に Push をブロック。
⑥ Webhook 署名検証
LINE が送信する X-Line-Signature ヘッダを HMAC-SHA256 で検証。署名不一致のリクエストは即座に拒否。
⑦ リッチメニュー自動構築
GAS から LINE API を叩いてリッチメニューを自動生成・更新するセットアップスクリプトを実装。
技術スタック
- 言語: JavaScript(Google Apps Script V8 ランタイム)
- フレームワーク: なし(軽量モジュール構成・24 ファイル)
- DB / ストレージ: Google スプレッドシート(カスタムシート 8 枚)
- メッセージング API: LINE Messaging API(Webhook + Push + Reply)
- AI / 外部 API: なし(純粋に LINE + GAS のみ)
- デプロイ・インフラ: Google Apps Script Web App(サーバレス)
工夫点・技術的判断
すべての秘密情報(LINE Channel Secret / Access Token / Spreadsheet ID)を Config.gs 経由で PropertiesService から取得し、ソースコードに一切書かない設計を採用しました。これにより GAS をパブリックに公開しても秘密情報が漏れず、ポートフォリオとして全コード公開が可能になっています。代替案として Properties API を直接コードに散在させる構成も検討しましたが、保守性と監査性で Config.gs 集約が優位だったため採用しました。Push Quota Guard は LINE プランの月次上限(無料 200 通)を意識した独自実装で、スタッフが意図せず大量 Push して追加料金が発生する事故を物理的に防いでいます。
成果・指標
- 受付時間: 営業時間(9:00〜18:00)→ 24 時間受付
- 取りこぼし率(時間外): 推定 30%(業界平均)→ 0%
- 予約 1 件あたりの電話対応工数: 平均 5 分 → 0 分(自動応答)
- サーバ運用コスト: 0 円(GAS 無料枠 + LINE 無料プランで完結可、規模に応じてライトプラン月 5,000 円)
- 実装規模: 24 ファイル / 5 本のフロー / 8 枚のスプレッドシート / リッチメニュー 6 ボタン
→ この実績は「LINE 公式アカウント Bot 構築」「小規模事業者向けサーバレス業務システム」「マルチフロー会話型 UI」案件で武器になる。特に地方の中小事業者(自動車整備・美容室・歯科・整骨院・設備修理など)で、LINE 経由の予約が必要だが IT 投資余力が限られる業種で転用可能。
関連リンク
- GitHub リポジトリ(動く証拠): https://github.com/tanasato118/gas-line-reservation-bot