Media > AI活用ユースケース > カスタマーサポート > 運転代行の事業者が Web・LINE の予約を Make で受け、迎えの場所・行き先・車種を整えて配車の候補と料金の目安を出す

運転代行の事業者が Web・LINE の予約を Make で受け、迎えの場所・行き先・車種を整えて配車の候補と料金の目安を出す

実装ステータス:構成例 技術的に実現可能な構成として設計したもの。自社未検証

運転代行の事業者に Web と LINE で届く予約・依頼を Make で受け、迎えの場所・行き先・時刻・車種を取り出します。掲示している料金の表から料金の目安を、待機している班の表から配車の候補を出し、利用者への返事を下書きします。

サマリー
生成AI
ChatGPT/Claude/Gemini
連携・自動化
Make/n8n/Power Automate/Zapier
対象業界
その他/宿泊/飲食
対象部門
カスタマーサポート/営業
対象業務
データ入力・転記/問い合わせ対応
主な課題
人手が足りない/問い合わせが多い/確認ミスが多い
AIで行う処理
抽出
主な効果
入力漏れ削減/対応スピード向上/工数削減
導入難易度
★★☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
条件付き
現在工数
80h/月
AI導入後
24h/月
想定削減
70%
年間削減
672h
モデル条件による試算値です。実在企業の実績ではありません。

01導入前 / 導入後の業務フロー

導入前(Before)
  1. 配車係が Web のフォームの通知メールと LINE のトーク画面を開き、依頼を読む
  2. 迎えの場所・行き先・希望の時刻・車種・同乗の人数を拾う。書かれていなければ聞き返す
  3. 迎えの場所と行き先を区域に直し、料金の表で料金の目安を出す
  4. 班の待機の表を見て、迎えに間に合う班を探す
  5. 受付台帳に書き込み、利用者に料金の目安と到着の目安を返す
  6. 班に無線か電話で配車を伝える
導入後(After)
  1. 自動Web のフォームの送信(Webhook)と、LINE の公式アカウントへのメッセージ(Watch Events)をきっかけに、Make のシナリオが動く
  2. 自動LINE の依頼には、受け付けたことを知らせる決まった文をすぐに返す
  3. 自動受付台帳を引き、同じ依頼をすでに扱っていれば止める
  4. 自動Claude API が、依頼の文から迎えの場所・行き先・希望の時刻・車種・同乗の人数・依頼した人の立場を取り出し、区域の表の候補に結び付ける
  5. 自動ワークフローが、区域の組み合わせと時刻から料金の表で料金の目安を出し、車の決まりの表で受けられる車かを確かめる
  6. 自動班の待機の表から、迎えの区域で待機している班と、まもなく空く班を候補として並べる
  7. 自動受付台帳に「仮」の行を書き、利用者への返事(料金の目安・聞き返し)を下書きする
  8. 人配車係が台帳の画面で候補から班を選び、下書きを確かめて送る
  9. 人配車係が班に配車を伝え、到着した運転する人が料金と条件を利用者に説明する
各工程の詳しい説明を読む
  1. 配車係が Web のフォームの通知メールと LINE のトーク画面を開き、依頼を読む
  2. 迎えの場所・行き先・希望の時刻・車種・同乗の人数を拾う。書かれていなければ聞き返す
  3. 迎えの場所と行き先を区域に直し、料金の表で料金の目安を出す
  4. 班の待機の表を見て、迎えに間に合う班を探す
  5. 受付台帳に書き込み、利用者に料金の目安と到着の目安を返す
  6. 班に無線か電話で配車を伝える

(a)週末の夜に依頼が重なり、返事が遅れる。 配車係2名が電話を受けている間、LINE の依頼は読まれずにたまります。 返事が来ない利用者は別の事業者に頼み、迎えに行ってから「もう別のを呼んだ」と言われます。

(b)行き先と車種を聞き漏らす。 「駅前の〇〇まで迎えに」とだけ書かれた依頼は、行き先が分からないので料金の目安が出せません。 車種を聞き忘れると、迎えに行ってからマニュアルの車だと分かります。

(c)料金の目安の答え方が人によって違う。 区域の境の町を、どちらの区域で数えるかが配車係によって違います。掲示している料金と違う目安を伝えると、降りるときにもめます。

(d)店からの依頼と本人の依頼が混ざる。 店が取り次いだ依頼に本人の電話番号が無く、到着しても誰が利用者か分からないことがあります。

  1. 【自動】 Web のフォームの送信(Webhook)と、LINE の公式アカウントへのメッセージ(Watch Events)をきっかけに、Make のシナリオが動く
  2. 【自動】 LINE の依頼には、受け付けたことを知らせる決まった文をすぐに返す
  3. 【自動】 受付台帳を引き、同じ依頼をすでに扱っていれば止める
  4. 【自動】 Claude API が、依頼の文から迎えの場所・行き先・希望の時刻・車種・同乗の人数・依頼した人の立場を取り出し、区域の表の候補に結び付ける
  5. 【自動】 ワークフローが、区域の組み合わせと時刻から料金の表で料金の目安を出し、車の決まりの表で受けられる車かを確かめる
  6. 【自動】 班の待機の表から、迎えの区域で待機している班と、まもなく空く班を候補として並べる
  7. 【自動】 受付台帳に「仮」の行を書き、利用者への返事(料金の目安・聞き返し)を下書きする
  8. 【人】 配車係が台帳の画面で候補から班を選び、下書きを確かめて送る
  9. 【人】 配車係が班に配車を伝え、到着した運転する人が料金と条件を利用者に説明する

5番目と6番目を表で決めているのが、この設計の分かれ目です。 AIが返すのは「どこから、どこへ、何時に、どんな車で」だけで、料金の目安と配車の候補は表の値から出ます。 料金を改定しても、直すのは料金の表だけです。

8番目で班を人が選ぶのも、意図してのことです。 班の位置は待機の表の上の値で、実際には帰り道の途中だったり、前の利用者が支払いでもめていたりします。 候補までを機械が出し、決めるのは無線で班の様子を知っている配車係です。

02今回想定するシステム構成

構成図
予約・依頼(自社サイトのフォーム/LINE の公式アカウント)
   ▼【トリガー】Webhooks:Custom webhook / LINE:Watch Events
Make のシナリオ(Process data in order を有効)
   ├──▶ HTTP:Make a request(LINE の応答メッセージで受付の知らせ)
   ├──▶ Google Sheets:Search Rows(受付台帳・区域の表・車の決まりの表)
   ├──▶ Claude API(HTTP:Make a request):迎え・行き先・時刻・車種・人数の取り出し
   ├──▶ 料金の目安の計算と、班の候補の抽出
   ├──▶ Router
   │      ├ 配車係がすぐ見る(受けない車・区域外・店からの依頼で本人の連絡先が無い)
   │      ├ 聞き返し(行き先・車種・時刻が書かれていない)
   │      ├ そのまま案内できる
   │      └ フォールバック → 配車係へ
   └──▶ Google Sheets:Add a Row(受付台帳の仮の行と返事の下書き)
配車係が台帳で班を選び「送る」に印 → Google Sheets:Watch Changes → HTTP:Make a request(LINE のプッシュメッセージ)
役割想定する製品代替候補
ワークフローMake(シナリオ。Webhooks、LINE、HTTP、Google Sheets、ルーター)Zapier、n8n、Power Automate
生成AIClaude API(Messages API、構造化出力)OpenAI API、Gemini API
保管Google スプレッドシート(受付台帳・区域の表・料金の表・車の決まりの表・班の待機の表)Airtable
連絡LINE の公式アカウント(Messaging API)自社サイトのフォームの返信メール

新しく足すのは、シナリオと、区域の表と車の決まりの表だけです。 料金の表と班の待機の表は、いまのスプレッドシートを使います。この構成が書き込むのは、受付台帳の行と、LINE の受付の知らせと、配車係が「送る」に印を付けた返事だけです。

Web のフォームは Webhooks で受けます。 Make の公式のページでは、即時の Webhook のシナリオは既定で並列に処理され、シナリオの設定で Process data in order を選ぶと、前の実行が終わるまで次を始めないとされています。週末の夜に依頼が重なったとき、同じ班を2件の候補に並べないよう、この設定を入れます。受け取れる要求は10秒あたり300件までで、超えると 429 が返るとされています。

LINE は Make の LINE のアプリの Watch Events で受けます。 公式のページでは、LINE Developers のコンソールで Messaging API のチャネルを作り、Make が出した Webhook の URL をチャネルの Webhook URL に入れて、Webhook の利用を有効にする手順が示されています。公式のページには返信のモジュールの説明が無いので、 返信は HTTP のアプリの Make a request で LINE の Messaging API を直接呼びます。

03どうやって実装するのか

Step1

処理の起点を決める

自社サイトの予約フォームの送信と、LINE の公式アカウントに届いたメッセージの2つを起点にします。 どちらも即時に動かします。運転代行の依頼は「いま店を出たい」が多く、15分おきの見回りでは間に合いません。

LINE の依頼には、AIを呼ぶ前に受付の知らせを返します。 LINE の Messaging API の公式のリファレンスでは、応答メッセージに使う応答トークンは1回しか使えず、Webhook を受けてから1分以内に使う必要があり、1分を超えると動く保証は無いとされています。AIの呼び出しと台帳の読み書きを先にすると1分を超えるおそれがあるので、シナリオの最初で「受け付けました。配車係から料金の目安と到着の目安をお送りします」という決まった文を返します。 応答メッセージは、公式の料金のページでメッセージ数に数えない送り方とされています。

料金の目安と配車の返事は、配車係が台帳で「送る」に印を付けたときに送ります。 台帳の印は Google Sheets の Watch Changes で拾います。公式のページでは、Watch Changes は Google スプレッドシートの画面で人が編集した変更だけを拾い、スクリプトや API での変更、新しく足された行は拾わないとされています。配車係が画面で印を付ける運用に合います。この返事はプッシュメッセージで送り、メッセージ数に数えられます。

Step2

入力データを集める

データ中身取得元
依頼フォームの項目(迎えの場所・行き先・希望の時刻・車種・人数・電話番号・メモ)/LINE のメッセージの本文・ユーザーの ID・受信の時刻Webhook/LINE
区域の表区域の番号、町名の一覧、駅・主な店・ホテルの名前、境の町の扱い区域の表のシート
車の決まりの表受けない車の条件(マニュアル・車体の長さ・業務用・車検切れ)、配車係へ回す条件車の決まりの表のシート
料金の表迎えの区域と行き先の区域ごとの基本の料金、深夜の加算、待ち時間の加算料金の表のシート
班の待機の表班の番号、いまの状態(待機・移動中・利用者を送り中)、待機の区域、空く見込みの時刻班の待機の表のシート

質を決めるのは、区域の表の「主な店・ホテルの名前」の列です。 依頼の多くは住所ではなく、「〇〇駅前の△△(店名)」で迎えの場所を書きます。取次ぎの多い店とホテルを区域の表に載せておくと、AIは店名から区域の候補を挙げられます。 載っていない店は候補が出ず、配車係へ回ります。

境の町の扱いも、表に書いておきます。 同じ町名でも、国道の東と西で区域が違う町があります。「境の町」の印のある町は、AIに区域を選ばせず、配車係へ回します。

Step3

データの取得方法を決める

取るものどこからどうやって
フォームの依頼自社サイトのフォームCustom webhook(項目を JSON で受ける)
LINE の依頼LINE の公式アカウントWatch Events(メッセージのイベント)
区域・車の決まり区域の表・車の決まりの表Search Rows(全件を読む)
料金料金の表Search Rows(迎えの区域と行き先の区域で引く)
班の候補班の待機の表Search Rows(待機の区域と状態で引く)
同じ利用者の直近の依頼受付台帳Search Rows(LINE のユーザーの ID か電話番号)

LINE の依頼は、1つの依頼が何通かに分かれて届きます。 「今から迎えお願いします」「〇〇駅前です」「行き先は△△町」と3通に分かれることがよくあります。同じユーザーの ID から5分以内に届いたメッセージは、受付台帳の同じ行にまとめ、最後の1通から1分待っても続きが無ければ AI を呼びます。 1通ずつ AI を呼ぶと、行き先の無い依頼として聞き返してしまいます。

班の待機の表は、班が無線で知らせたことを配車係が書き込んで保っています。 シナリオは表を読むだけで、班の状態を書き換えません。

Step4

AIへ渡す前に整形する

  1. 重複の確認 … フォームは送信の時刻と電話番号、LINE はユーザーの ID と受信の時刻で受付台帳を引きます
  2. 分かれたメッセージをまとめる … 同じユーザーの ID の5分以内のメッセージを1つの依頼にします
  3. 依頼した人の立場の印 … LINE のユーザーの ID が「取次ぎの店」の一覧にあれば、店からの依頼の印を付けます
  4. AIに渡す範囲を絞る … 電話番号と LINE のユーザーの ID は渡しません。行き先の住所は、番地より後を落として町名までにして渡します
  5. 時刻の基準 … 受信の時刻を渡し、「30分後」「いまから」を時刻に直す基準にします

4番目で番地を落とすのは、行き先がたいてい利用者の自宅だからです。 料金の目安を出すのに要るのは区域で、区域を決めるには町名で足ります。番地まで含んだ住所は、受付台帳にだけ残し、班には配車のときに配車係が伝えます。

Step5

AIに処理させる

させるのは、依頼の文を取り出すことと、区域の表の候補に結び付けることの2つです。

項目させること判断できないときの扱い
迎えの場所書かれた場所を写し、区域の表の町名・駅・店から区域の候補を挙げる候補が無ければ zone を空
行き先同じく写し、区域の候補を挙げる書かれていなければ null
希望の時刻時刻に直す。「いまから」は now幅があれば time_text に写す
車種書かれた車名・AT/MT・業務用かを写す書かれていなければ null
同乗の人数運転してもらう人のほかに乗る人数書かれていなければ null
依頼した人の立場本人/店・ホテルの取次ぎ迷えば unknown

null を返させるのが、この構成でいちばん大事な決まりです。 「家まで」と書かれた依頼で、同じ人の前回の行き先が分かっていても、行き先を補いません。 引っ越しや、その夜は実家へ帰る、ということがあるからです。書かれていない項目は、返事の下書きで聞き返します。

車種は、とくに推し量らせません。 「軽です」とあればオートマチックの車が多いのは確かですが、AT/MT が書かれていなければ null にし、聞き返します。 マニュアルの車を受けない事業者にとって、ここを推し量ると空振りの原因になります。

させないこと理由
料金を答える区域の組み合わせと料金の表で出す
班を選ぶ待機の表で候補を出し、配車係が選ぶ
受けない車かを決める車の決まりの表と照らして決める
到着の時刻を約束する班の様子を知る配車係が決める
利用者の酔いの程度を判断する運転する人が現地で判断する
Step6

指示内容を固定する

あなたは運転代行の事業者の配車係で、Web と LINE で届いた依頼を
受付台帳に起こす担当です。下に渡す依頼の文から項目を取り出し、
区域の表の候補に結び付けてください。
料金、配車する班、到着の時刻は答えないでください。

【取り出す項目】
1. 迎えの場所(pickup):書かれた場所をそのまま写し、
   区域の表の町名・駅・店・ホテルから区域の番号(zone)を選ぶ。
2. 行き先(destination):同じく写し、区域の番号を選ぶ。
3. 希望の時刻(time):受信の時刻を基準に時刻に直す。
   「いまから」「すぐ」は now。「22時ごろ」「宴会が終わったら」の
   ように決められないときは time を空にし、time_text に原文を写す。
4. 車種(vehicle):車名、AT/MT、業務用か、を書かれたとおりに写す。
5. 同乗の人数(passengers):運転してもらう人のほかに乗る人数。
6. 依頼した人の立場(requester):self/venue(店・ホテル)/unknown。

【厳守事項】
- 書かれていない項目は null にする。前回の依頼や一般的な傾向から
  補わない。「家まで」の行き先を補わない。
- AT/MT が書かれていなければ null にする。車名から決めない。
- 区域の表に無い場所は、似た名前の場所に寄せない。zone を空にする。
- 区域の表で「境の町」の印のある町は、zone を空にし boundary を true にする。
- 料金、到着の時刻、配車する班を書かない。
- 酔いの程度や利用者の様子について何も書かない。
- 確かめたいことは questions に、利用者への質問の形で書く。

【区域の表】{zones}
【受信の時刻】{received_at}
【依頼の文】{request}

「前回の依頼から補わない」を書くのは、同じ利用者の依頼を並べて渡すと、AIが前回の行き先で埋めようとするからです。 この構成では直近の依頼は AI に渡さず、配車係の画面にだけ並べます。それでも指示に書いておくのは、依頼の文の中に「いつもの所まで」と書かれることがあるからです。

Step7

出力形式を固定する

次の形の JSON を返させます。

{
  "request_id": "",
  "requester": "self | venue | unknown",
  "pickup": { "text": "駅前の焼き鳥〇〇", "zone": "Z03", "boundary": false },
  "destination": { "text": "△△町", "zone": null, "boundary": true },
  "time": "",
  "time_text": "宴会が終わったら",
  "vehicle": { "text": "軽", "transmission": null, "commercial": null },
  "passengers": 1,
  "questions": ["お車はオートマチックでしょうか。", "お迎えのご希望の時刻を教えてください。"]
}

1つ目の理由は、取り出しと料金・配車を別の層に置けることです。 料金の目安は、pickup.zone と destination.zone で料金の表を引き、時刻で深夜の加算を足してワークフローが出します。振り分けの規則は次のとおりです。

振り分け条件
配車係がすぐ見る車の決まりの表の受けない条件に当たる、区域の外、boundary が true、requester が venue で本人の連絡先が無い
聞き返しdestination.zone・vehicle.transmission・time のどれかが空
そのまま案内できる上のどれにも当たらない

2つ目は、数の確かめをワークフローで行えることです。 同乗の人数が車の定員から1を引いた数を超えないかは、Make の式で確かめます。公式のページでは、構造化出力は数値の minimum・maximum のような制約に対応せず、使うと 400 のエラーになるとされているので、範囲はスキーマに書きません。

3つ目は、選んだ値の照らし方を決めておけることです。 公式のページでは、文字列の enum の大文字・小文字までは保証されないとされています。ルーターで比べる前に、requester を小文字にそろえます。

返事の下書きは、AIの JSON とワークフローの計算から、決まった型に差し込んで作ります。 例えば次のような形です。

【受付の内容】
お迎え:駅前の焼き鳥〇〇(区域3)
行き先:△△町
料金の目安:(配車係が区域を確かめてから入ります)

【お伺いしたいこと】
・お車はオートマチックでしょうか。
・お迎えのご希望の時刻を教えてください。

料金は当社サイトに掲示している料金表によります。
到着した運転者から、料金とご利用の条件をご説明します。

料金の目安の欄は、区域が決まったときだけ数字が入ります。 境の町や区域の表に無い場所のときは、配車係が区域を決めてから数字を入れます。AIに返事の文章そのものを書かせないのは、料金や到着の時刻を文中に書き足すのを防ぐためです。

Step8

システムへ連携する

つなぎ先方式内容
予約フォームWebhooks の Custom webhook依頼の項目を受ける
LINELINE の Watch Events/HTTP の Make a request依頼を受け、応答メッセージとプッシュメッセージを送る
受付台帳Google Sheets の Search Rows/Add a Row/Watch Changes重複を確かめ、仮の行を書き、「送る」の印を拾う
区域・車の決まり・料金・班の待機の表Google Sheets の Search Rows表を読む
Claude APIHTTP の Make a request(Messages API)項目の取り出しと区域の候補

ルーターのルートは、配車係がすぐ見る→聞き返し→そのまま案内できる→フォールバックの順に並べます。 公式のページでは、ルートは同時ではなく1本ずつ順に処理され、どの条件にも当たらないデータはフォールバックのルートが処理するとされています。受けない車の依頼が、料金の目安を添えた案内のルートまで流れないように、配車係がすぐ見るルートを先頭に置きます。

返事の下書きには、料金の目安と一緒に、料金を掲示している自社サイトの場所を書きます。 自動車運転代行業の業務の適正化に関する法律は、事業者が料金を定めて営業所に掲示し公衆の閲覧に供すること、代行運転を提供しようとするときに、利用者が受けようとする内容を確かめたうえで料金や約款の概要などの条件を説明することを定めています。返事の目安は説明の代わりではなく、到着した運転する人が条件を説明します。

Step9

人が確認する

配車係が、すべての返事を確かめてから送ります。 送るのは配車係が台帳で「送る」に印を付けたときだけです。

  1. 配車係がすぐ見る依頼を先に見る … 受けない車、区域の外、境の町、本人の連絡先が無い店からの依頼です。店からの依頼は、店に本人の名前と連絡先を聞き返します
  2. 聞き返しの下書きを確かめる … questions が依頼の文に合っているかを見ます。AT/MT の聞き返しは必ず残します
  3. 班を選ぶ … 候補の班の様子を無線で確かめて選び、到着の目安を下書きに書き足します
  4. 料金の目安を確かめる … 区域の組み合わせが依頼の文と合っているかを見ます
  5. 送る … 台帳の「送る」に印を付けます

店からの依頼は、とくに丁寧に見ます。 依頼した人と乗る人が違うので、到着したときに誰の車かが分かる手がかり(名前・車の色・ナンバーの下4桁)を、店に聞き返してから配車します。

Step10

例外に対処する

起きること対応
1つの依頼が何通にも分かれて届く同じユーザーの ID の5分以内をまとめ、続きが無ければ AI を呼ぶ
応答トークンの1分を過ぎた応答メッセージを送らず、配車係の返事をプッシュメッセージで送る
区域の表に無い店・場所配車係へ。配車係が区域を決め、表に店を書き足す
境の町配車係へ。どちらの区域で数えるかを表の決まりで決める
受けない車配車係へ。お断りの返事は配車係が書く
時刻の変更・取り消しが届く受付台帳の行を引き、配車済なら班へ伝えるよう配車係に知らせる
先の日の予約(宴会の後など)班の候補を出さず、当日の配車の一覧に回す。前日に配車係が班を決める
画像やスタンプだけが届くAI を呼ばず、配車係へ回す
stop_reason が refusal か max_tokensJSON を読まずに配車係へ
Claude API が応答しない受付台帳に「未処理」と書き、配車係が依頼の文を直接読む

上の3行が大半を占めます。 どれもAIの誤りではなく、LINE の使われ方と区域の表の整え方の問題です。 区域の表に無い店が多い週は、取次ぎの多い店から表に書き足します。

Step11

記録を残す

  • 依頼の元の項目と LINE のメッセージの本文(まとめる前の1通ずつ)
  • 返ってきた JSON の全文と stop_reason
  • ワークフローが出した料金の目安と、そのときの料金の表の版
  • 配車係が選んだ班と、候補に並んでいた班
  • 送った返事の本文と送った時刻、配車係が直した箇所
  • 苦情や料金の行き違いがあったときの記録

3つ目で料金の表の版を残すのは、料金を改定した月に「前と言われた額が違う」と言われたときのためです。 同法は、苦情の処理に関する帳簿などを営業所ごとに備え付けることも定めています。行き違いの記録は、この構成のログとは別に、苦情の帳簿にも人が書きます。

04実装レベルの3段階

最小構成:区域の表と依頼を手で Claude の画面に貼り、項目と区域を書かせる / 1件ごとの取り出し
半自動化:上記+Make で依頼を受け、受付の知らせを返し、料金の目安と班の候補を出して返事を下書きする / 受付・取り出し・料金の目安・候補・下書き
本格構成:上記+班がスマートフォンの画面で状態を書き込み、待機の表が自動で保たれる / 班の状態の更新まで

最小構成では件数がさばけません。 週末の夜に1件ずつ貼るのは続きません。取り出しと区域の結び付けを確かめるための段階です。 半自動化で、1件5分が1.5分になり、この段階が本記事の想定です。 依頼の読み取り、区域と料金の目安、班の候補、台帳の記入、返事の下書きが自動になり、人に残るのは、班を選ぶことと、返事を確かめて送ることです。 本格構成は、班の側の運用を変える話です。 待機の表が正しく保たれないうちに候補の精度を上げようとしても、表の値が古ければ候補も古くなります。

05工数削減シミュレーション

前提値(モデル条件)
対象人数
4 名
月間件数
960 件
1件あたり現在時間
5 分
1件あたり導入後時間
1.5 分
現在  960件 × 5分 ÷ 60 = 80 時間/月
導入後 960件 × 1.5分 ÷ 60 = 24 時間/月
月間削減時間
56h
削減率
70%
年間削減時間
672h
年間金額換算(時間単価1,800円)
121万円
モデル条件による試算であり、実際の効果は業務内容・運用方法によって異なります。

自社条件で導入効果を整理したい方へ

このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。

AI活用について相談する

06向いている企業・向いていない企業

向いている
  1. 地方都市で運転代行を営み、電話に加えて Web のフォームと LINE で予約や依頼を受けていて、週末の夜に依頼が重なると配車係が電話と画面の両方に追われている事業者。料金を区域ごとの表で定めて掲示していて、迎えの場所と行き先が分かれば料金の目安が決まる場合。飲食店やホテルから客の依頼を取り次いでもらうことが多い場合。
向いていない
  1. 依頼のほとんどが電話で、Web や LINE の依頼が月に数十件の事業者。料金を距離のメーターで決めていて、区域の表で目安を出せない場合(地図の距離を使う設計が別に要ります)。配車の専用システムで受付から配車まで済んでいる場合。なお、配車の確定、料金の確定と説明、酒に酔った利用者への対応の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 先月の金曜と土曜に届いた依頼から30件を選ぶ(店からの依頼、行き先の無い依頼、何通かに分かれた LINE の依頼を混ぜる)
  2. 30件について、配車係が当時どの区域で料金の目安を出し、何を聞き返したかを書き出す
  3. 区域の表と第7章の指示を、手元の Claude の画面に貼る
  4. 30件の依頼を1件ずつ貼り(分かれた LINE はまとめて貼る)、項目と区域を書かせる
  5. 当時の受付台帳と突き合わせ、書かれていない行き先や AT/MT を埋めていないかを確かめる

30件は必ずやってください。 シナリオを組む前に、書かれていない項目を書かれていないと返せるかを確かめます。

出てきた内容判断
当時の聞き返しと同じ項目が null になったシナリオの組み立てに進む
車名から AT と決めた禁止の書き方を指示に足す。構成は有効
店名から区域の候補が出ない区域の表が先。 取次ぎの多い店を書き足す

3行目が出たら、区域の表を先に直してください。 配車係が頭の中で持っていた「この店はこの区域」の対応を表に出すことが、この構成の土台です。

08実装時につまずきやすいポイント

問題対策
「家まで」の行き先を前回の依頼で埋める書かれていなければ null。直近の依頼は AI に渡さない
車名から AT と決めるAT/MT が書かれていなければ聞き返す
分かれた LINE を1通ずつ処理して聞き返す5分以内をまとめ、続きが無ければ AI を呼ぶ
応答メッセージが届かない応答トークンは1分以内・1回だけ。 受付の知らせを最初に送る
同じ班を2件の候補に並べるProcess data in order を有効にし、仮の行を書いてから次へ
境の町の料金の目安がずれる境の町は AI に区域を選ばせず配車係へ
料金を改定したのに古い目安が出る料金の表を1か所にし、版を残す
台帳の「送る」の印が拾われないWatch Changes は画面での人の編集だけを拾う。式や別のシナリオで印を付けない
Venue が返ってルーターから落ちる小文字にそろえてから比べる
店からの依頼で本人が分からない本人の名前と車の手がかりを店に聞き返す

上の2行が、この構成の失敗のほとんどです。 どちらも「書かれていないことを推し量る」ことから起き、違う行き先の料金を伝えるか、受けられない車に班を向かわせる形で表に出ます。

09セキュリティ・AIガバナンス上の注意点

この構成で扱うデータ: 利用者の名前と電話番号、LINE のユーザーの ID、迎えの場所、行き先(多くは自宅の住所)、車種、同乗の人数です。

  1. AIに渡すのは、町名までの場所と依頼の文だけにする … 番地、電話番号、LINE のユーザーの ID は渡しません。料金の目安を出すには区域で足ります
  2. 料金の目安を約束として送らない … 同法は、利用者に料金や約款の概要などの条件を説明し、その説明に従って提供することを求めています。目安は配車係が確かめてから送り、到着した運転する人が条件を説明します
  3. 利用者の様子を AI に判断させない … 酒に酔った利用者への対応は、現地の運転する人が判断します
  4. 受付台帳の保存期間を決める … 自宅の住所と利用の時刻がまとまった台帳です。苦情の対応に要る期間を決め、過ぎたら番地と電話番号を消します
  5. 店からの依頼の連絡先を、店の宣伝に使わない … 取次ぎの店から聞いた本人の連絡先は、その夜の配車にだけ使います

誤りが起きた場合のリスクは、違う料金の目安を伝えることと、受けられない車に班を向かわせることの2つです。 前者は料金を表で出すことと配車係の確かめで、後者は車種を推し量らせないことで防ぎます。どちらもAIの賢さではなく、設計の側で守ります。

10まず何から始めるか

1週目:区域の表を作る

配車係4名で、区域ごとの町名と、取次ぎの多い店・ホテル・駅の名前を書き出します。 境の町には印を付け、どちらの区域で数えるかの決まりを書きます。あわせて車の決まりの表を作ります。

2週目:30件で試す

先月の週末の依頼から30件を選び、手元の Claude の画面に区域の表と一緒に貼ります。行き先と AT/MT を埋めていないかを最優先で見ます。

3週目:受付台帳と班の待機の表を整える

受付台帳に「仮」「送る」「送った」の列を足し、班の待機の表に状態と待機の区域の列を足します。班の状態を無線で聞いたら、すぐに表に書く決まりにします。

4週目:受付から下書きまでをつなぐ

Make で Webhook と LINE の依頼を受け、受付の知らせを返し、料金の目安と班の候補を出して下書きを置くところまで作ります。 Process data in order を有効にし、平日の夜から使い始めます。

2か月目: 台帳の「送る」の印からプッシュメッセージを送る流れを足し、週末の夜に広げます。3か月目以降: 1件5分が何分になったかを実測し、週末の夜の LINE の依頼に、電話を受けながらでも受付の知らせと料金の目安が返せたら、この構成は完成です。


11関連ユースケース

12この仕組みを理解するための記事

13技術仕様の確認日・参考情報

技術仕様確認日:2026-10-27/最終更新:2026-10-27
確認した内容情報源確認日
即時の Webhook のシナリオが既定で並列に処理され、Process data in order で前の実行の完了を待つこと。受け取れる要求が10秒あたり300件までで、超えると 429 になることMake: Webhooks2026-10-27
LINE のアプリに Watch Events があり、Messaging API のチャネルの Webhook URL に Make の URL を入れて Webhook の利用を有効にする手順であること。返信のモジュールの説明が無いことMake: LINE2026-10-27
HTTP のアプリの Make a request が任意のサーバーへ HTTP の要求を送れることMake: HTTP2026-10-27
Google Sheets のアプリに Search Rows・Add a Row・Watch Changes などがあり、Watch Changes が画面で人が編集した変更だけを拾い、スクリプトや API の変更・新しい行を拾わないことMake: Google Sheets modules2026-10-27
ルーターのルートが1本ずつ順に処理され、フォールバックのルートがどの条件にも当たらないデータを処理することMake: Router2026-10-27
応答トークンが1回しか使えず、Webhook を受けてから1分以内に使う必要があること。プッシュメッセージのエンドポイント。応答メッセージがメッセージ数に数えられず、プッシュメッセージが数えられること(料金のページ)LINE Developers: Messaging API reference2026-10-27
構造化出力の数値の minimum・maximum などが 400 になること。stop_reason が refusal・max_tokens のときに出力がスキーマに合わないことがあること。文字列の enum の大文字・小文字が保証されないことClaude: Structured outputs2026-10-27
料金を定めて営業所に掲示し公衆の閲覧に供すること(第11条)。利用者に料金・約款の概要などの条件を説明し、その説明に従って提供すること(第15条)。苦情の処理に関する帳簿などを営業所ごとに備え付けること(第20条)e-Gov 法令API: 自動車運転代行業の業務の適正化に関する法律2026-10-27

料金の説明と配車の判断は、配車係と運転する人が行ってください。 本記事は上記の公式ページで確認できた範囲だけを扱っています。

実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。

自社の業務に使えるAI活用候補を整理します

このユースケース(UC-1963)についてのご相談はこちらから。

AI活用について相談する
目次