リフォーム会社が見積を出したあとのお客様とのメール・LINE・電話のやり取りを n8n で集め、検討の段階で分けて、営業のフォローの順を毎週作る
見積を出したあと契約に至っていない案件について、お客様とのメール・LINE・電話のメモを n8n で案件ごとに集めます。AIが毎週、検討の段階に分け、見積の有効期限と金額を合わせて、営業担当ごとのフォローの順の一覧を作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 不動産/小売/建設
- 対象部門
- 営業
- 対象業務
- 分類・仕分け/集計・分析
- 主な課題
- 判断に時間がかかる/営業フォローが追いつかない/属人化している
- AIで行う処理
- 分類
- 主な効果
- 判断支援/工数削減/機会損失防止
- 導入難易度
- ★★★☆☆
- 実装レベル
- 本格構成
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 毎週月曜に、営業が自分の返事待ちの案件を見積の台帳で確かめる
- 1件ずつ、Gmail のやり取り、LINE のトーク、商談メモを開いて読み返す
- お客様が何を気にしているか、他社の話が出ているかを思い出す
- 誰に今週連絡するかを決め、手帳か付箋に書く
- 連絡したら商談メモに書く
- 自動LINE 公式アカウントにお客様から届いたメッセージを、n8n の Webhook で受けて案件ごとに記録する
- 自動毎週月曜の朝6時に n8n が動き、見積の台帳から返事待ちの案件を取る
- 自動案件ごとに、見積を送った後のメール、LINE のメッセージ、商談メモを集め、時刻の順に並べる
- 自動見積の後にお客様からの連絡が1件も無い案件は、プログラムが「反応なし」にする
- 自動残りの案件を Text Classifier が検討の段階に分け、Basic LLM Chain が根拠の一文と次の一手の候補を書く
- 自動プログラムが、段階・見積の有効期限・金額・最後の連絡からの日数で、営業担当ごとのフォローの順を作る
- 自動一覧を見積の台帳の「今週のフォロー」のシートに書き、営業担当ごとにメールで知らせる
- 人営業が一覧を見て、段階が合っているかを確かめ、連絡する。段階を直したら一覧に書く
各工程の詳しい説明を読む
- 毎週月曜に、営業が自分の返事待ちの案件を見積の台帳で確かめる
- 1件ずつ、Gmail のやり取り、LINE のトーク、商談メモを開いて読み返す
- お客様が何を気にしているか、他社の話が出ているかを思い出す
- 誰に今週連絡するかを決め、手帳か付箋に書く
- 連絡したら商談メモに書く
(a)やり取りが3つに分かれている。 メールで見積を送り、LINE で「お風呂の色は選べますか」と来て、電話で「主人と相談します」と言われた案件は、3つを開かないと今の状況が分かりません。
(b)誰にいつ連絡するかが記憶しだい。 優先の決め方は営業ごとに違い、金額の大きい案件ばかり追う人もいれば、話しやすいお客様に何度も連絡する人もいます。
(c)有効期限と他社の動きに気づくのが遅い。 見積の有効期限が切れてから「まだ有効ですか」と聞かれたり、LINE で「他社さんはこの金額でした」と来ていたのを見落としたりします。見送りの兆しに気づいたときには、他社と契約が済んでいます。
- 【自動】 LINE 公式アカウントにお客様から届いたメッセージを、n8n の Webhook で受けて案件ごとに記録する
- 【自動】 毎週月曜の朝6時に n8n が動き、見積の台帳から返事待ちの案件を取る
- 【自動】 案件ごとに、見積を送った後のメール、LINE のメッセージ、商談メモを集め、時刻の順に並べる
- 【自動】 見積の後にお客様からの連絡が1件も無い案件は、プログラムが「反応なし」にする
- 【自動】 残りの案件を Text Classifier が検討の段階に分け、Basic LLM Chain が根拠の一文と次の一手の候補を書く
- 【自動】 プログラムが、段階・見積の有効期限・金額・最後の連絡からの日数で、営業担当ごとのフォローの順を作る
- 【自動】 一覧を見積の台帳の「今週のフォロー」のシートに書き、営業担当ごとにメールで知らせる
- 【人】 営業が一覧を見て、段階が合っているかを確かめ、連絡する。段階を直したら一覧に書く
4番目と6番目をプログラムに置いているのが、この構成の要です。 返事が無いことと、順の決め方はAIに任せません。AIがするのは、お客様の言葉から段階を読むことだけです。 順の決め方を規則にしておけば、営業部で「有効期限の近いものを先に」と決め直したときに、規則を1か所直すだけで済みます。
8番目で、連絡するのは営業です。 下書きのメールも作りません。検討中のお客様への連絡は、言い方1つで印象が変わります。 一覧が示すのは、誰に、何の段階で、何を気にしているかまでです。
02今回想定するシステム構成
【受け口】Webhook ノード(LINE 公式アカウントの Webhook) │ x-line-signature を Crypto ノードで照らす → webhookEventId で重複を除く ▼ Data Table「line_messages」── お客様の ID・案件・本文・時刻 【トリガー】Schedule Trigger(毎週月曜 6:00、タイムゾーン Asia/Tokyo) ▼ n8n ├─ Google Sheets(Get Row(s))── 見積の台帳の返事待ちの案件 ├─ Gmail(Get Many)── 案件のお客様のアドレスとのやり取り(見積の送信日以降) ├─ Data Table ── その案件の LINE のメッセージ ├─ Google Sheets ── 商談メモ ├─ Code ── 時刻の順に並べる/反応なしの判定/前回からの増分の印 ▼ Text Classifier + Anthropic Chat Model ── 検討の段階(Other の出口あり) ▼ Basic LLM Chain + Anthropic Chat Model ── 根拠の一文と次の一手の候補 ▼ Code ── 段階・有効期限・金額・日数でフォローの順 ▼ Google Sheets(Append Row)── 「今週のフォロー」のシート Gmail ── 営業担当ごとの一覧の知らせ
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | n8n(Webhook、Crypto、Schedule Trigger、Text Classifier、Basic LLM Chain、Code、Google Sheets、Gmail) | Make、Zapier、Power Automate |
| 生成AI | Claude(n8n の Anthropic Chat Model から) | ChatGPT(OpenAI)、Gemini |
| お客様とのやり取り | Gmail、LINE 公式アカウント(Messaging API の Webhook)、商談メモ | 顧客管理のシステム |
| 台帳 | 共有のスプレッドシート(Google Sheets) | 顧客管理のシステム |
新しく入れるのは n8n と Claude の API、LINE 公式アカウントの Messaging API の Webhook の設定です。 最初の準備は、見積の台帳に「お客様のメールアドレス」「LINE のユーザー ID」「見積の送信日」「有効期限」「担当」の列をそろえることです。 この5つが無いと、3つの経路のやり取りを案件に結び付けられません。
分類の部分は、n8n の Text Classifier ノードです。 段階の名前と説明を並べると、モデルがどれかに分けます。「Allow Multiple Classes To Be True」を切って1つだけ選ばせ、「When No Clear Match」を「Output on Extra, 'Other' Branch」にします。既定の「Discard Item」のままだと、どれにも当てはまらない案件が黙って一覧から消えます。
03どうやって実装するのか
処理の起点を決める
起点は2つです。 LINE のメッセージの受け口と、毎週月曜の定時です。
LINE は、お客様のメッセージが届くたびに Webhook で n8n に送られます。 n8n の Webhook ノードには、エディタで待ち受けている間だけ動くテスト用の URL と、ワークフローを公開(publish)したときに登録される本番の URL があります。LINE Developers コンソールに登録するのは本番の URL です。 テスト用の URL を登録したままにすると、エディタを閉じた後のメッセージが届きません。
LINE の公式ページは、Webhook の再送(既定は無効)を有効にすると同じイベントが複数回届くことがあり、webhookEventId で重複を見分けるよう案内しています。再送を有効にしていなくても、受けた直後に webhookEventId で引いて、あれば止めます。 再送のときは届く順が前後することもあるので、並べるときは timestamp を使います。
毎週の分類は月曜の朝6時です。 n8n の Schedule Trigger は、ワークフローにタイムゾーンが無ければインスタンスの設定を使い、自分で立てた n8n の既定は America/New York です。ワークフローの設定で Asia/Tokyo にしないと、日曜の夕方に動きます。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 返事待ちの案件 | 案件番号、お客様の名前、メールアドレス、LINE のユーザー ID、工事の種類、金額、見積の送信日、有効期限、担当 | 見積の台帳 |
| メール | 見積の送信日以降の、お客様のアドレスとのやり取りの本文と日時、送り手(自社かお客様か) | Gmail |
| LINE | お客様からのメッセージの本文と日時 | Data Table(Webhook で記録したもの) |
| 商談メモ | 電話・訪問の日時と、営業が書いた内容 | 商談メモのシート |
| 前週の分類 | 段階と、営業が直した段階 | 「今週のフォロー」のシートの前週分 |
質を決めるのは、商談メモです。 電話で聞いた「主人と相談します」「来年の春でいい」は、メモに書かれていなければどこにも残りません。メモが「電話した」だけだと、AIはその週の段階を読めません。 メモには、お客様の言葉を短くそのまま書く決まりにします。
前週の分類を入れるのは、段階の変化を見るためです。 「比較中」から「見送りの兆し」に変わった案件は、金額が小さくても先に連絡します。
データの取得方法を決める
| 経路 | 取り方 | 気をつけること |
|---|---|---|
| メール | Gmail ノードの Message の Get Many を、from: と to: にお客様のアドレス、after: に見積の送信日を入れた検索で取る | Simplify を切って本文を取る。Simplify では見出しの情報だけになる |
| LINE | Data Table から、案件の LINE のユーザー ID で行を取る | Webhook で受けたものだけ。過去のトークは取れない |
| 商談メモ | Google Sheets の Get Row(s) で、案件番号で取る | 日付の書式をそろえる |
| 見積の台帳 | Google Sheets の Get Row(s) で、状態が「返事待ち」の行 | 有効期限の空欄に注意 |
Gmail ノードの Simplify は既定で有効で、そのままだと件名や差出人などの見出しだけが返ります。 本文で段階を読むので、Simplify を切ります。
LINE は、Webhook を設定した日から後のメッセージしか集まりません。 それより前のトークは、LINE の画面で営業が読むしかありません。始める前に返事待ちだった案件は、最初の数週間、LINE の分が欠けていると考えてください。
LINE の公式ページが1対1のトークで届くとしているのは、お客様がメッセージを送ったとき・取り消したとき・友だち追加したとき・ブロックしたときなどのイベントです。自社から送ったメッセージを受け口で受ける記載は無いので、営業が LINE で答えた内容は商談メモに短く書きます。 そうしないと、AIには「お客様が質問して、返事が無いまま」に見えます。
| LINE のイベント | この構成での扱い |
|---|---|
| メッセージ(message) | 本文を Data Table に記録する。画像・スタンプは種類だけを記録する |
| 取り消し(unsend) | 記録した同じメッセージを Data Table から消す |
| ブロック(unfollow) | 案件に「ブロック」の印を付ける。AIに回さず、営業に知らせる |
| 友だち追加(follow) | 台帳との結び付けの候補として記録する |
取り消しの扱いは、LINE の公式ページが求めていることです。 お客様が送信を取り消したメッセージは、今後見られたり使われたりしないよう、管理の画面の表示を取り消し、保存したものを消すよう勧めています。取り消された「他社さんは〇〇円でした」を AIが読んで「比較中」にすれば、お客様の意図に反した使い方になります。
AIへ渡す前に整形する
- LINE の署名を照らす … Webhook ノードで Raw Body を受け、Crypto ノードの Hmac(SHA256、チャネルシークレット)で計算した値を
x-line-signatureと比べる。合わなければ記録しない - 時刻の順に並べる … メール・LINE・商談メモを1本の時系列にし、行の頭に「お客様」「自社」「電話のメモ」を付ける
- 反応なしの判定 … 見積の送信日の後に、お客様からのメール・LINE・電話のメモが1件も無ければ「反応なし」にして、AIに回さない
- 前週からの増分の印 … 前回の分類の後に増えたやり取りに「新」を付ける
- 長さを絞る … 1案件あたり直近の20件まで。見積の本文や添付は渡さない
- 個人の情報を伏せる … 電話番号、住所の番地、家族の名前を伏せる
1番目の署名の照らし合わせを省かないでください。 LINE の公式ページは、Webhook の受け口には LINE 以外から悪意のあるリクエストが届きうるので、処理の前に署名を確かめるよう求めています。署名は、Webhook の本文をチャネルシークレットで HMAC-SHA256 にかけたものです。本文を JSON として読み直してから計算すると一致しないので、Raw Body のまま計算します。
3番目は、第1章で書いたとおりです。 お客様の言葉が1つも無い案件を AIに渡すと、自社のメールの文面を読んで段階を決めてしまいます。
AIに処理させる
させるのは2つです。 案件ごとに検討の段階を1つ選ぶことと、その根拠になったお客様の言葉を1つ写し、次の一手の候補を短く書くことです。
| 段階 | どういうとき | 次の一手の候補 |
|---|---|---|
| 前向き | 日程・色・仕様・工事中の暮らしについての質問がある | 日程の候補を出す、仕様の確認の訪問 |
| 比較中 | 他社の見積・金額・提案に触れている | 施工の範囲と保証の違いの説明 |
| 予算の見直し | 金額が高い、もう少し抑えたい、分割の相談がある | 仕様を下げた見積、補助の制度の案内の要否を確かめる |
| 時期待ち | 「〜月以降」「ボーナスの後」「来年」など時期を示している | その時期の少し前に連絡する日を決める |
| 家族の相談待ち | 「家族と相談」「主人に聞いてから」で止まっている | 家族がそろう日に説明の場を提案する |
| 見送りの兆し | 「今回は見送り」「他社に決めた」「しばらく考えたい」 | 理由を伺い、記録して閉じるか |
1案件に1つだけ選ばせます。 比較中で予算の見直しでもある、という案件はあります。ただ、2つ選ばせると営業の次の一手が決まりません。 指示で「最も新しいお客様の言葉で決める」と順を決めておきます。
| させないこと | 理由 |
|---|---|
| 反応なしの案件の段階 | お客様の言葉が無い。プログラムが日数で決める |
| フォローの順 | 規則で決める。営業部で決め直せるように |
| 契約の見込みの点数 | 点数では次の一手が決まらない |
| 値引きの提案 | 値引きは営業と上長が決める |
| お客様への文面の作成 | 連絡は営業が行う |
指示内容を固定する
Text Classifier の段階の説明と、System Prompt Template に入れる指示です。
あなたはリフォーム会社の営業部で、見積を出したあとのお客様の検討の段階を整理する立場です。
下の【やり取り】は、見積を送った後のメール・LINE・電話のメモを時刻の順に並べたものです。
行の頭の「お客様」「自社」「電話のメモ」で、誰の言葉かが分かります。
【段階】
{categories}
【厳守事項】
- 段階は「お客様」の行と「電話のメモ」に書かれたお客様の言葉だけで決めてください。
「自社」の行の内容(見積の説明、お礼、日程の提案)を根拠にしないでください。
- お客様の言葉が複数の段階に当てはまるときは、最も新しい言葉で決めてください。
- 「新」の印が付いた行があれば、その行を優先して読んでください。
- やり取りに書かれていない事情を推測しないでください。
返事が遅いことや、言葉づかいが丁寧なことを、前向き・見送りの根拠にしないでください。
- どの段階にも当てはまると言い切れないときは、無理に選ばないでください。
Basic LLM Chain に渡す、根拠と次の一手の指示です。
【段階】{stage} と分けた案件について、次の2つを書いてください。
1. quote … 段階の根拠にしたお客様の言葉を、【やり取り】からそのまま1つ写してください。
言い換えたり、まとめたりしないでください。お客様の言葉が見つからなければ空にしてください。
2. next_action … 営業が次にすることの候補を、【段階】の表の候補から1つ選び、
この案件に合わせて30字以内で書いてください。
値引きの提案、契約を急がせる言い方は書かないでください。
【やり取り】{timeline}
【工事の種類】{work_type}
「自社の行を根拠にしない」を最初に書くのが要点です。 時系列には自社の丁寧なメールが多く並び、何も言わないとAIはその調子に引っ張られます。根拠をお客様の言葉に限ると、段階の読みが営業の実感に近づきます。
根拠をそのまま写させるのも同じ理由です。 営業は、AIの要約ではなくお客様の言葉を見て、段階が合っているかを判断します。言い換えた根拠は、合っているかを確かめられません。 写したはずの言葉が本当に時系列にあるかは、後段の Code ノードで文字列として照らします(第7章「例外処理」)。指示で「そのまま」と書いても、句読点を足したり語尾を整えたりすることがあるためです。
出力形式を固定する
Text Classifier は段階ごとの出口に案件を流し、Basic LLM Chain は次の JSON を返します。 プログラムが前後の値を足して、1案件1行の形にそろえます。
{
"estimate_id": "R-2026-0412",
"owner": "営業担当の名前",
"stage": "positive | comparing | budget | timing | family | dropping | no_response | other",
"stage_source": "classifier | rule",
"previous_stage": "comparing",
"quote": "",
"next_action": "",
"valid_until": "2026-11-10",
"amount": 1850000,
"days_since_last_contact": 9,
"priority": 1
}
1つ目の理由は、stage_source で反応なしを分けられることです。 rule はプログラムが日数で決めたもの、classifier はAIが読んだものです。段階の正しさを見直すときは、classifier だけを見ます。
2つ目は、previous_stage で変化が分かることです。 順の規則は、段階に加えて「前週から悪い方へ変わった」を上に上げます。
3つ目は、priority を規則で付けることです。 規則は次のとおりで、営業部で決め直せます。
| 順 | 条件 |
|---|---|
| 1 | 有効期限まで7日以内 |
| 2 | 前週から「見送りの兆し」か「比較中」に変わった |
| 3 | 「前向き」で、お客様の質問に自社がまだ答えていない |
| 4 | 「反応なし」で、最後の連絡から14日以上 |
| 5 | それ以外は、金額の大きい順 |
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| LINE 公式アカウント | Webhook ノード(本番の URL)と Crypto ノード | お客様のメッセージを受け、署名を照らす |
| Gmail | Message の Get Many(Simplify を切る) | 見積の送信日以降のやり取り |
| 見積の台帳・商談メモ | Google Sheets の Get Row(s) | 返事待ちの案件とメモ |
| Claude | Anthropic Chat Model | 段階の分類と、根拠・次の一手 |
| 「今週のフォロー」のシート | Google Sheets の Append Row | 1案件1行の一覧 |
| 営業担当への知らせ | Gmail の Send | 担当ごとの一覧へのリンクと件数 |
見積の台帳の既存の行は書き換えません。 分類の結果は「今週のフォロー」という別のシートに足します。案件の状態(返事待ち・契約・失注)を変えるのは営業です。
人が確認する
- 月曜の朝、一覧の上から見る … 順の1〜3の案件は、
quoteを読み、段階が合っているかを確かめる - 段階を直したら書く … 一覧の「直した段階」の欄に書く。次の週の
previous_stageには直した段階が使われる - Other の案件を見る … どの段階にも当てはまらなかった案件は、営業が段階を決める
- 見送りの兆しは上長と見る … 理由を伺うか、閉じるかを決める
2番目を省かないでください。 直した段階が次の週に引き継がれないと、毎週同じ取り違えが一覧に並びます。
目標は、300件をならして1件3分です。 段階が合っている案件は根拠を読んで数十秒、直す案件と Other は数分かかります。
例外に対処する
| 起きること | 対応 |
|---|---|
| LINE の署名が合わない | 記録しない。続くときはチャネルシークレットの再発行を疑う |
| LINE のユーザー ID が台帳に無い | 案件に結び付けられない。「未結び付け」の一覧に出し、営業が台帳に足す |
| 同じお客様に返事待ちの見積が2件 | 工事の種類で分けられなければ、両方の案件に同じやり取りを付け、営業に知らせる |
| メールの宛先が家族の別のアドレス | 台帳にアドレスを足すまで、メールの分が欠ける |
| 商談メモが空 | 電話の分が欠けたまま分類する。一覧に「メモなし」の印を付ける |
| Text Classifier が Other に出す | 一覧に Other として載せ、営業が決める |
| Claude の応答が返らない | 前週の段階のまま一覧に載せ、「今週は未分類」の印を付ける |
| 有効期限が空 | 順の1の判定ができない。一覧に「期限なし」の印を付ける |
quote がやり取りに見つからない | Code ノードで時系列に同じ文字列があるかを照らし、無ければ根拠を空にして「要確認」の印を付ける |
下の2行で、黙って一覧から落とさないことが大事です。 分類できなかった案件ほど、営業が見るべき案件です。印を付けて載せれば、営業が自分で判断できます。
記録を残す
- LINE の Webhook の受信の記録(
webhookEventId、受けた時刻、署名の結果) - 毎週の分類に渡した時系列(伏せ字にした後のもの)
- 段階・根拠・次の一手と、
stage_source - 営業が直した段階と、直した理由
- 順の規則の版と、変えた日
- その後、契約・失注になった日と、失注の理由
最後の行が、段階の分け方を見直す材料になります。 「比較中」と分けた案件のうち、どれだけが契約になったか、どの段階から失注が多いかが分かれば、段階の説明や順の規則を直せます。
04実装レベルの3段階
半自動化で、①の読み返しは時系列を1本読むだけになります。 ②と③は残ります。本格構成で②と③が一覧の確認に変わり、1件3分になります。この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の時系列を1か月見ると、商談メモの書き方がそろっていない営業や、台帳に LINE のユーザー ID が無い案件が先に分かります。そこを直してから分類を足すほうが、Other が減ります。
05工数削減シミュレーション
導入後 300件 × 3分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 水回り・外壁・内装などのリフォームで、営業が1人あたり十数件の見積の返事待ちを抱えている会社。お客様とのやり取りがメール・LINE 公式アカウント・電話に分かれ、誰にいつ連絡するかを営業がそれぞれの記憶とメモで決めているため、有効期限の切れた見積や、他社に決まりかけている案件への連絡が遅れている場合。
- 見積の返事待ちが常に数件で、営業が全件を覚えていられる場合。お客様とのやり取りを記録として残していない場合(先に残す仕組みを作る)。お客様への連絡そのものを自動で送りたい場合や、値引きの判断までを自動にしたい場合は、この構成では扱いません。
07最小構成で試す方法
- 先月までに契約か失注が決まった案件から30件を選ぶ(契約と失注を半分ずつ)
- その30件について、見積の後のメール・LINE・商談メモを時刻の順に1つの文章にまとめる
- 手元の Claude の画面に1件ずつ貼り、第7章の段階のどれかを選ばせ、根拠のお客様の言葉を写させる
- 選んだ段階を、その後の結果(契約か失注か)と、当時の営業の見立てと突き合わせる
結果が分かっている案件で試してください。 試したいのは、お客様の言葉から段階を読めるかと、失注した案件で「見送りの兆し」や「比較中」を早めに拾えていたかです。
| 出てきた内容 | 判断 |
|---|---|
| 失注した案件で、決まる前に「比較中」「見送りの兆し」を拾えた | n8n の組み立てに進む |
| 自社のメールを根拠に「前向き」にした | 指示の書き方で直る。構成は有効 |
| 商談メモが「電話した」だけで読めない | メモの書き方が先。 AIの問題ではない |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 当てはまらない案件が一覧から消える | Text Classifier の「When No Clear Match」を Other の出口に変える |
| 反応なしの案件が「前向き」になる | お客様の言葉が無ければプログラムで「反応なし」にし、AIに渡さない |
| 自社のメールの調子で段階が決まる | 行の頭に誰の言葉かを付け、自社の行を根拠にしないと指示する |
| LINE のメッセージが届かない | 本番の URL を登録し、ワークフローを公開する |
| LINE の署名が一致しない | Raw Body のまま HMAC-SHA256 を計算する |
| 同じメッセージが2回記録される | webhookEventId で重複を除く |
| メールの本文が取れない | Gmail ノードの Simplify を切る |
| 月曜の朝に動かない | ワークフローのタイムゾーンを Asia/Tokyo にする |
| 営業が直した段階が翌週に消える | 直した段階を次の週の previous_stage に使う |
| 取り消されたメッセージで段階が決まる | unsend のイベントで記録から消す |
| ブロックされた案件に連絡し続ける | unfollow のイベントで印を付け、営業に知らせる |
上の3行が、分類の質を決めます。 どれもAIに渡すものと渡さないものの線引きの話で、指示を工夫するより、渡す前の整理で効きます。下の2行は、お客様の意思を記録の側で尊重できているかの話です。 取り消しとブロックは、どちらもお客様がはっきり示した意思なので、AIの分類より先に扱います。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: お客様の氏名・メールアドレス・LINE のユーザー ID、住まいと工事の内容、見積の金額、家族の事情や予算についての発言です。
- 利用目的を確かめる … お客様とのやり取りを、見積の後のフォローのために整理して使うことが、自社のプライバシーポリシーの利用目的に含まれているかを確かめます
- AIに渡す範囲を絞る … 1案件あたり直近の20件までにし、電話番号・住所の番地・家族の名前を伏せます。見積の本文や図面は渡しません
- LINE の受け口を守る … 署名を照らさないメッセージは記録しません。チャネルシークレットは n8n の資格情報に置きます。お客様が取り消したメッセージは、記録からも消します
- 段階をお客様の評価に使わない … 段階は営業の次の一手を決めるためのもので、「見送りの兆しが多いお客様」の一覧を作って別の目的に使いません
- 連絡は営業が行う … 一覧は連絡の順を示すだけで、メールや LINE の送信はしません
- 営業ごとの成績の評価に使わない … 段階の分布を営業の評価に結び付けると、商談メモの書き方がゆがみます
誤りが起きた場合のリスクは、見送りの兆しを見落とすことと、検討中のお客様に急がせる連絡をしてしまうことの2つです。 前者は根拠の引用と営業の確認で、後者は文面を作らない設計で守ります。
10まず何から始めるか
1週目:台帳の列と商談メモの書き方を決める
見積の台帳に、お客様のメールアドレス・LINE のユーザー ID・見積の送信日・有効期限・担当の列をそろえます。商談メモは「日時・経路・お客様の言葉を短くそのまま」の書き方に決めます。
2週目:30件で試す
契約と失注が決まった30件で、手元の Claude の画面に段階を分けさせます。失注した案件で、決まる前に比較中や見送りの兆しを拾えていたかを最優先で見ます。
3週目:LINE の受け口と時系列のまとめを作る
LINE の Webhook を n8n の本番の URL に向け、署名を照らして Data Table に記録します。毎週月曜に3つの経路のやり取りを案件ごとの時系列にまとめ、反応なしを判定して一覧にします。この時点では分類は入れません。
4週目:分類を足す
Text Classifier と根拠の一文を足し、一覧を営業に配るだけにして、1週間、自分の見立てと見比べてもらいます。
2か月目: 順の規則を足し、営業担当ごとの知らせを始めます。営業が直した段階の件数を毎週数えます。3か月目以降: 契約・失注の結果と段階を突き合わせ、段階の説明と順の規則を直します。営業が直す件数が落ち着き、有効期限の切れた見積への連絡が無くなった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
Webhook の受け口に LINE 以外からのリクエストが届きうるので処理の前に署名を確かめること。Webhook の再送が既定で無効で、有効にすると同じイベントが複数回届きうり webhookEventId で見分けること、順が前後しうり timestamp で確かめること。1対1のトークで届くイベント(message・unsend・follow・unfollow など)。送信の取り消しを受けたら、表示を取り消し保存したものを消すよう勧めていること | LINE Developers: Receive messages (webhook) | 2026-10-29 |
署名がチャネルシークレットを鍵に Webhook の本文を HMAC-SHA256 にかけたもので、x-line-signature ヘッダーに入ること。チャネルシークレットの再発行 | LINE Developers: Verify webhook signature | 2026-10-29 |
| Webhook ノードのテスト用と本番の URL(本番は公開時に登録される)、Raw Body のオプション | n8n Docs: Webhook | 2026-10-29 |
| Crypto ノードの Hmac の操作と、Hmac Secret の資格情報 | n8n Docs: Crypto | 2026-10-29 |
Schedule Trigger のタイムゾーン(自分で立てた n8n の既定は America/New York)と、公開して初めて動くこと | n8n Docs: Schedule Trigger | 2026-10-29 |
| Text Classifier の段階の名前と説明、「Allow Multiple Classes To Be True」、「When No Clear Match」の既定が Discard Item で Other の出口に変えられること | n8n Docs: Text Classifier | 2026-10-29 |
| Anthropic Chat Model の出力の長さ・温度・Prompt Caching | n8n Docs: Anthropic Chat Model | 2026-10-29 |
| Gmail ノードの Message の Get Many と、Simplify が既定で有効で見出しの情報だけを返すこと | n8n Docs: Gmail の Message operations | 2026-10-29 |
| Data Table の行の Insert・Get・Upsert | n8n Docs: Data Table | 2026-10-29 |
| Google Sheets ノードの Get Row(s) と Append Row | n8n Docs: Google Sheets の Sheet operations | 2026-10-29 |
お客様とのやり取りの利用目的と保存期間は、自社のプライバシーポリシーと営業部の決まりで決めてください。 本記事は LINE と n8n の公式ページで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-2289)についてのご相談はこちらから。
