保険代理店が送った満期案内への顧客の返信を「継続・条件の変更希望・解約・質問」に分類し、募集人ごとのフォロー一覧と返信の下書きを作る
保険代理店が送った満期案内に、契約者からメールで返ってくる返信を読み、「継続」「条件の変更希望」「解約」「質問」に分類します。返信を満期管理の台帳の契約と照らし、募集人ごとのフォロー一覧と返信の下書きを作ります。
- 生成AI
- ChatGPT/Claude/Gemini
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- 不動産/保険/金融
- 対象部門
- 営業
- 対象業務
- 分類・仕分け/問い合わせ対応
- 主な課題
- 人手が足りない/営業フォローが追いつかない/期限・対応漏れが起きる
- AIで行う処理
- 分類
- 主な効果
- 対応スピード向上/工数削減/機会損失防止
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- API連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- 営業事務の担当者が共有の受信箱を開き、満期案内への返信を探す
- 件名の案内番号か送信元のメールアドレスで、満期管理の台帳から契約と担当の募集人を調べる
- 本文を読み、継続・変更・解約・質問のどれかを判断して、台帳の「返信」の列に書く
- 担当の募集人へメールを転送し、要点を一言添える
- 契約者へ「受け取りました。担当から連絡します」と返信する
- 募集人が契約者に連絡し、手続きを進める
- 自動15分ごとにシナリオが動き、件名に「満期案内」を含む未読の返信を取り出す
- 自動件名の案内番号で満期管理の台帳を引く。引けなければ送信元のアドレスで引く
- 自動本文から、引用された元の案内文と署名を取り除く
- 【AI】 返信の本文を読み、区分を1つ選び、変更の要素・質問の内容・急ぎの度合いと、根拠にした文を書き出す
- 自動区分と契約の照合の結果から、フォロー一覧に行を足し、担当の募集人と期限を入れる
- 【AI】 区分に合わせた受け取りの返信の下書きを作り、Gmail の下書きに置く
- 自動解約と、照合できなかった返信は、その場で営業事務と担当の募集人のチャットへ知らせる
- 人営業事務がフォロー一覧で区分と照合を確かめ、下書きを直して送る
- 人募集人がフォロー一覧から契約者に連絡し、意向を聞いて手続きを進める
各工程の詳しい説明を読む
- 営業事務の担当者が共有の受信箱を開き、満期案内への返信を探す
- 件名の案内番号か送信元のメールアドレスで、満期管理の台帳から契約と担当の募集人を調べる
- 本文を読み、継続・変更・解約・質問のどれかを判断して、台帳の「返信」の列に書く
- 担当の募集人へメールを転送し、要点を一言添える
- 契約者へ「受け取りました。担当から連絡します」と返信する
- 募集人が契約者に連絡し、手続きを進める
(a)返信が受信箱の中で埋もれる。 共有の受信箱には、保険会社からの連絡、事故の報告、請求書、広告のメールも届きます。満期の集中する月は、返信を見つけるまでに日がかかります。 気づいたときには満期日まで1週間しか無い、ということが起きます。
(b)1通の返信に複数の用件が入っている。 「継続でお願いします。それと、住所が変わりました」のような返信は、継続として処理され、住所の変更が漏れます。 読む人によって、どこまで拾うかが違います。
(c)解約の意向が後回しになる。 「今回は他社にします」という返信は、事務の担当者にとっては手続きの少ない返信に見えます。しかし募集人にとっては、理由を聞き、意向に沿った提案ができる最後の機会です。 転送が翌日に回ると、その機会が減ります。
(d)契約を特定できない返信に時間がかかる。 件名を書き換えた返信、家族のアドレスからの返信、複数の契約を持つ契約者からの返信は、台帳を何度も引き直すことになります。 1件の照合に10分以上かかることがあります。
- 【自動】 15分ごとにシナリオが動き、件名に「満期案内」を含む未読の返信を取り出す
- 【自動】 件名の案内番号で満期管理の台帳を引く。引けなければ送信元のアドレスで引く
- 【自動】 本文から、引用された元の案内文と署名を取り除く
- 【AI】 返信の本文を読み、区分を1つ選び、変更の要素・質問の内容・急ぎの度合いと、根拠にした文を書き出す
- 【自動】 区分と契約の照合の結果から、フォロー一覧に行を足し、担当の募集人と期限を入れる
- 【AI】 区分に合わせた受け取りの返信の下書きを作り、Gmail の下書きに置く
- 【自動】 解約と、照合できなかった返信は、その場で営業事務と担当の募集人のチャットへ知らせる
- 【人】 営業事務がフォロー一覧で区分と照合を確かめ、下書きを直して送る
- 【人】 募集人がフォロー一覧から契約者に連絡し、意向を聞いて手続きを進める
8番目が、この設計の分かれ目です。 営業事務は全件の本文を読み直すのではなく、フォロー一覧で区分と根拠の文を見て、合っているかを確かめます。 本文を開くのは、根拠の文が区分と合わないものと、照合ができなかったものだけです。
7番目で解約だけを先に知らせるのは、意図してのことです。 継続の返信は数日遅れても手続きに間に合いますが、解約の返信は、募集人が早く連絡するほど、理由を聞いて提案できる余地が残ります。
02今回想定するシステム構成
満期案内への返信(共有のアドレスの Gmail) │ ▼【トリガー】15分ごと(Watch emails:件名「満期案内」・未読) Make のシナリオ ├──▶ Google Sheets(Search Rows)で満期管理の台帳を引く │ 案内番号 → 引けなければ送信元のアドレス ├──▶ 本文の前処理(引用・署名の除去、長さの確認) ▼ Claude API(Make an API Call で Messages API を呼ぶ) │ 区分(継続/条件の変更希望/解約/質問/判別できない) │ 変更の要素・質問の内容・急ぎの度合い・根拠の文 │ 構造化出力で決まった形のJSON ▼ Router(区分ごとの経路と、照合できなかったときのフォールバック) ├──▶ Google Sheets(Add a Row)でフォロー一覧に行を足す ├──▶ Claude API で受け取りの返信の下書き → Gmail(Create a draft email) ├──▶ 解約・照合できない返信は社内チャットへ即時通知 └──▶ Gmail(Update email labels)で処理済みのラベルを付ける ▼【人】区分と下書きの確認・送信、募集人からの連絡
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Make | Zapier、n8n、Power Automate |
| 生成AI | Claude API(返信の分類と、要点・根拠の書き出し、下書き) | OpenAI API、Gemini API |
| 台帳 | Google スプレッドシート(満期管理の台帳とフォロー一覧) | Microsoft Lists |
| メール | Gmail(共有のアドレス) | Outlook |
| 通知 | 社内チャット | メール |
新しく足すのは、Make のシナリオと、フォロー一覧のシートだけです。 保険会社の代理店システムには書き込みません。最初の準備作業は、満期案内の件名に案内番号を必ず入れることと、台帳に案内番号の列を持たせることです。 この2つで、照合の大半が1回で済みます。
返信を拾うのは、Make の Gmail の Watch emails です。 新しいメールの受信をきっかけに動くモジュールで、既読・未読での絞り込み、送信元のアドレス、件名の文字列、Gmail の検索の書き方での絞り込みができます。1回の実行で扱う件数の上限は500以下で設定します。件名に「満期案内」を含み、処理済みのラベルが付いていないものだけを拾います。
Claude は、Make の Anthropic Claude アプリから呼びます。 アプリには Create a Prompt と Make an API Call のモジュールがあり、接続には Anthropic のコンソールで取った API キーを使います。アプリの説明には構造化出力の設定が見当たらないため、この構成では Make an API Call で Messages API を直接呼び、output_config.format に JSON スキーマを渡します。 Claude の構造化出力は、制約付きのデコードでスキーマに沿った応答を返し、必須の項目の抜けや型の違いが起きないとされています。
区分ごとの振り分けは、Router で組みます。 Router の経路は並行ではなく順に処理され、前の経路が終わるまで次の経路は処理されないとされています。また、どの経路の条件にも合わないデータは、フォールバックの経路が処理します。 照合できなかった返信と、AIの出力が想定外だったものを、このフォールバックで人へ回します。
03どうやって実装するのか
処理の起点を決める
15分ごとにシナリオを動かし、Gmail の Watch emails で新しい返信を拾います。 Make のシナリオの実行の間隔は、一定の間隔、1回だけ、毎日、平日、毎週、毎月、指定した日、手動から選べ、一定の間隔の既定は15分です。間隔の下限は契約しているプランによります。
1日1回のまとめ処理にしないのは、解約の返信を当日のうちに募集人へ届けたいからです。 第3章の(c)は、ここで解きます。営業時間外の返信は、翌朝の最初の実行で拾われます。
拾う条件は、件名に「満期案内」を含むこと、未読であること、処理済みのラベルが付いていないことの3つです。Gmail の検索の書き方で subject:満期案内 is:unread -label:満期返信済 のように書けます。処理が終わったら、Update email labels で処理済みのラベルを付け、Mark as read で既読にします。ラベルを付けるのは成功したときだけにします。 途中で止まった返信は、次の実行でもう一度拾われます。
件名を書き換えた返信は、この条件では拾えません。 そこで、送信元のアドレスが台帳にある契約者のメールを拾う2本目の条件を、1日2回の別のシナリオで回します。拾い漏れを、照合の側から補う形です。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 返信のメール | 件名、送信元のアドレス、受信日時、本文、添付の有無、スレッドID | Gmail(共有のアドレス) |
| 満期管理の台帳 | 案内番号、証券番号、契約者名、メールアドレス、保険の種類、満期日、担当の募集人 | Google スプレッドシート |
| 過去の返信の記録 | 同じ契約者の前回の満期の返信の区分と、募集人の対応の結果 | フォロー一覧 |
| 区分の定義 | 4つの区分と、それぞれの判断の目安、迷いやすい例 | 営業部で作る表 |
| 下書きの文面の型 | 区分ごとの受け取りの返信の型(担当者名と連絡の目安を差し込む) | 営業部で作る表 |
質を決めるのは、いちばん下の2つです。 区分の定義が無ければ、「保険料が上がった理由を知りたい。高ければ他社にする」という返信が、質問なのか解約なのかが読む人で分かれます。この代理店では、解約を口にしていれば質問の要素があっても解約にする、と決めて表に書きます。 AIもその表を読んで分類します。
AIに渡すのは、返信の本文と、照合した契約の保険の種類と満期日だけです。 証券番号、住所、車両の情報、保険料はAIに渡しません。分類に要らないからです。
データの取得方法を決める
| 取るもの | どこから | どう取るか |
|---|---|---|
| 新しい返信 | 共有のアドレスの受信箱 | Watch emails(Gmail の検索の書き方で絞る) |
| 案内番号 | 件名 | [満期案内 R-2611-00123] の形を正規表現で取り出す |
| 契約と担当の募集人 | 満期管理の台帳 | Search Rows(案内番号で絞る。件数の上限を設定) |
| 照合の予備 | 満期管理の台帳 | Search Rows(送信元のアドレスで絞る) |
| 前回の返信 | フォロー一覧 | Search Rows(証券番号で絞り、直近の1件) |
照合の順は、案内番号が先、メールアドレスが後です。 メールアドレスから引くと、同じ契約者が自動車保険と火災保険を持っているときに複数の契約が当たります。 案内番号は案内1通に1つなので、1件に決まります。
メールアドレスで複数の契約が当たったときは、満期日が今日から90日以内のものに絞ります。 それでも複数残れば、照合を決めずに multiple として人へ回します。AIに契約を選ばせません。 本文に「車の保険」と書いてあっても、2台持っている契約者もいます。
Search Rows の件数の上限は5件にし、超えたら照合を止めます。 アドレスの列が空の行に当たって全件が返る事故を防ぐためです。
AIへ渡す前に整形する
- 引用された元の案内を外す … 返信には、送った満期案内の全文が引用されて付いてきます。「>」で始まる行と、「満期案内」の定型の書き出し以降を切ります
- 署名を外す … 契約者の会社の署名や免責の文を外します。電話番号はフォロー一覧の側に台帳から入れます
- 長さを確かめる … 引用を外した本文が極端に短い(「了解」「OK」だけ)ものも、そのまま分類に回します。短い返信ほど継続であることが多く、外さないでください
- 添付の有無を記録する … 車検証や見積書の写真が付いてくることがあります。添付はAIに渡さず、
has_attachmentとして一覧に出します - 自動応答を外す … 「不在にしています」の自動応答は、件名と本文の定型で見分け、分類に回さずに件数だけ記録します
- 同じスレッドの2通目を見分ける … スレッドIDがフォロー一覧にすでにあれば、新しい行を足さず、既存の行に「追加の返信あり」を付けます
1番目がいちばん効きます。 引用を残したまま渡すと、案内文の中の「ご継続の場合は」「解約をご希望の場合は」という文言を根拠に分類します。契約者が書いたのは「お願いします」の一言だけなのに、根拠の文が案内文になります。
AIに処理させる
させるのは、返信の本文を読んで区分を1つ選び、区分の判断に使った文と、変更・質問の中身を書き出すことです。
| 書き出すもの | 中身 | 書き方 |
|---|---|---|
| 区分 | 継続/条件の変更希望/解約/質問/判別できない | 1つだけ選ぶ |
| 根拠の文 | 区分を決めた本文の文 | 本文から抜き出したまま |
| 変更の要素 | 車両の入替、住所の変更、補償の追加・削減、支払方法、運転者の範囲 など | 書かれていたものだけ。複数可 |
| 質問の内容 | 保険料が変わった理由、補償の範囲、手続きの方法 など | 契約者の言葉を要約 |
| 解約の理由 | 他社への切り替え、車を手放した、引っ越し など | 書かれていなければ「記載なし」 |
| 急ぎの度合い | 高/中/低 | 下の規則で選ぶ |
| 連絡の希望 | 電話がよい、メールで、時間帯の指定 | 書かれていたものだけ |
区分と変更の要素を分けているのが、第3章の(b)への答えです。 「継続でお願いします。住所が変わりました」は、区分が「継続」で、変更の要素に「住所の変更」が入ります。フォロー一覧では、変更の要素が空でない継続を、条件の変更希望と同じ色で出します。
急ぎの度合いの規則は次のとおりです。解約は常に高。 条件の変更希望は、満期日まで30日以内なら高、それ以外は中。質問と継続は、満期日まで14日以内なら中、それ以外は低です。満期日までの日数はワークフローの側で計算して渡し、AIには日付の計算をさせません。
| させないこと | 理由 |
|---|---|
| 契約の特定 | 照合はワークフローが台帳で行う。本文の手がかりから契約を選ばせない |
| 保険料や補償の説明 | 意向の把握と提案・説明は募集人の仕事 |
| 解約の引き止めの文面 | 意向を聞く前に引き止めると、顧客の意向に沿った提案にならない |
| 変更の受付の確定 | 手続きの可否は保険会社の規定と募集人の確認で決まる |
| 区分を2つ選ぶ | 一覧で扱えない。迷いは confidence と根拠で表す |
2行目と3行目は、保険業法との関係で外せません。 保険業法第294条の2は、保険募集人に、顧客の意向を把握し、これに沿った保険契約の締結等の提案、契約の内容の説明、そして顧客の意向と契約の内容が合致していることを顧客が確認する機会の提供を求めています。条件の変更や他社との比較の相談に、AIが補償や保険料を答えると、この手順の外で話が進みます。
指示内容を固定する
Make an API Call で Messages API を呼ぶとき、system に次のように書きます。
あなたは損害保険代理店の営業事務で、満期案内に対して契約者から届いた
返信メールを仕分ける担当です。入力は、引用と署名を取り除いた返信の本文と、
その契約の保険の種類、満期日までの日数です。
【区分(1つだけ選ぶ)】
- continue ..... 今の内容のまま継続したい
- change ....... 継続はするが、何かを変えたい(車両の入替、補償の見直しなど)
- cancel ....... 継続しない、他社にする、解約したい
- question ..... 継続するかを決める前に、聞きたいことがある
- unclear ...... 上のどれとも決められない
解約や他社への切り替えを口にしていれば、質問が含まれていても cancel。
継続を口にしていても、何かを変えたいと書いていれば change。
【厳守事項】
- evidence には、区分を決めた本文の文をそのまま写してください。
元の案内文の言葉を根拠にしないでください。
- 書かれていないことを補わないでください。解約の理由が書かれていなければ
cancel_reason は「記載なし」としてください。
- 変更の要素は、本文に書かれたものだけを change_items に入れてください。
- 保険料・補償の範囲・手続きの可否について、答えや見込みを書かないでください。
- 契約がどれかを推測しないでください。入力にある契約の情報だけを使ってください。
- 急ぎの度合いは、次の規則で選んでください。
cancel は high。change は 満期日まで30日以内なら high、それ以外は medium。
continue と question は 14日以内なら medium、それ以外は low。
- 迷ったときは unclear を選び、confidence を low にしてください。
- 満期の返信ではない(事故の連絡、請求の相談など)と判断したときは、
is_renewal_reply を false にしてください。
【区分の定義と迷いやすい例】{category_table}
【保険の種類】{product_type} 【満期日までの日数】{days_to_expiry}
【返信の本文】{reply_body}
「元の案内文の言葉を根拠にしない」を書くのは、前処理で引用を外しきれない返信があるからです。 契約者が引用の中に書き込む返信(「→継続します」)もあり、引用を全部外すと本文が消えます。根拠の文の側でも縛り、二重に守ります。
事故の連絡を見分けさせるのは、満期案内のスレッドに事故を知らせてくる契約者がいるからです。 is_renewal_reply が false のものは一覧に入れず、事故の受付の担当へ即時に知らせます。
出力形式を固定する
構造化出力で、次の形のJSONを返させます。
{
"is_renewal_reply": true,
"category": "continue | change | cancel | question | unclear",
"confidence": "high | medium | low",
"evidence": [""],
"change_items": ["vehicle | address | coverage | payment | driver_scope | other"],
"question_summary": "",
"cancel_reason": "",
"urgency": "high | medium | low",
"contact_preference": "",
"draft_reply": ""
}
1つ目の理由は、Router の条件を category の値で書けることです。 自由文で返されると、「継続のご意向です」「継続希望」と書き方が揺れ、条件に当たらない返信が出ます。値が決まっていれば、どの経路にも当たらないのは unclear と想定外の出力だけになり、それはフォールバックが拾います。
2つ目は、change_items で一覧の色分けができることです。 continue でも change_items が空でなければ、変更の手続きが要ります。
3つ目は、evidence で確認が速くなることです。 営業事務は本文を開かずに、根拠の文と区分が合っているかを一覧で見られます。
フォロー一覧には、次の列で1行ずつ足します。
| 列 | 中身 |
|---|---|
| 受信日時・案内番号・証券番号 | メールと台帳から |
| 契約者名・保険の種類・満期日 | 台帳から |
| 担当の募集人 | 台帳から |
| 区分・急ぎ・変更の要素 | AIの出力 |
| 根拠の文・質問の要約・解約の理由 | AIの出力 |
| 照合の結果 | matched/by_address/multiple/not_found |
| 状態 | 未確認/下書き送信済/募集人対応中/完了 |
照合の結果の列を持つのは、by_address で照合したものを人が一度見るためです。 家族のアドレスから返信が来ると、別の契約者に当たることがあります。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Gmail(共有のアドレス) | Watch emails、Create a draft email、Update email labels、Mark as read | 返信を拾い、下書きを置き、処理済みにする |
| 満期管理の台帳 | Google Sheets の Search Rows | 案内番号・アドレスで契約を引く |
| フォロー一覧 | Google Sheets の Add a Row、Update a Row | 区分と根拠を書き、状態を更新する |
| Claude API | Anthropic Claude アプリの Make an API Call | 分類と下書き |
| 社内チャット | 通知 | 解約・照合できない返信・事故の連絡を即時に知らせる |
下書きは、Create a draft email で Gmail の下書きに置くだけにします。 送信のモジュールは使いません。下書きには、元の返信のスレッドで返すように、件名に「Re:」を付け、案内番号を残します。
下書きの中身は区分ごとの型に沿わせます。継続は「継続のご意向を承りました。お手続きの書類は担当の◯◯からお送りします」、変更と質問は「ご連絡ありがとうございます。担当の◯◯から、◯営業日以内にお電話またはメールでご連絡します」、解約は「ご連絡ありがとうございます。お手続きのご案内のため、担当の◯◯からご連絡します」です。どの型にも、保険料や補償の答えを入れません。
満期管理の台帳には書き込みません。 台帳は保険会社の代理店システムから作っている写しで、ここを書き換えると、次の取り込みで上書きされるか、写しと元が食い違います。 状態はフォロー一覧の側で持ちます。
人が確認する
- 解約と照合できなかった返信を先に見る … チャットに届いたものから、その日のうちに確かめます
- フォロー一覧で区分と根拠の文を見比べる … 根拠の文が区分と合っていれば次へ。合わないものだけ本文を開きます
by_addressとmultipleの照合を確かめる … 台帳で契約を決め、一覧の行を直します- 下書きを直して送る … 担当者名と連絡の目安を確かめ、送信は営業事務が行います
- 募集人が契約者に連絡する … 意向を聞き、変更・解約・継続の手続きを進め、一覧の状態を更新します
- 区分を直したら記録する … どの区分からどの区分へ直したかを残します
2番目で本文を開く数が、この構成の物差しです。 目標は、240件をならして1件4分です。区分と照合の確認に2分、下書きの確認と送信に2分という見込みです。本文を開く返信が3割を超える月は、区分の定義の表か、前処理の引用の外し方を見直します。
5番目は、この構成の外の仕事です。 募集人が契約者と話して意向を聞く時間は、Before にも After にも入れていません。
例外に対処する
| 起きること | 対応 |
|---|---|
| 件名の案内番号が消えている | 送信元のアドレスで照合し、by_address として人が確かめる |
| アドレスで複数の契約が当たる | 満期日90日以内に絞る。残れば multiple で人へ |
| 台帳に無いアドレスからの返信 | not_found。分類はするが、照合は人が行う |
| 事故の連絡が満期のスレッドに来る | is_renewal_reply が false。事故の受付の担当へ即時通知 |
| 自動応答 | 分類せず件数だけ記録 |
| 同じスレッドに2通目が来る | 既存の行に「追加の返信あり」。区分が変わっていれば人へ |
| 添付だけで本文が無い | unclear にして人へ。添付はAIに渡さない |
| AIの出力が想定外 | Router のフォールバックで人へ。処理済みのラベルは付けない |
| Claude API が応答しない | ラベルを付けずに終わり、次の実行で拾い直す |
| 英語など日本語以外の返信 | 分類はさせるが、confidence が high でなければ人へ |
上から3行目までが、例外の大半を占めます。 どれもAIの問題ではなく、案内の送り方と台帳の整い方の問題です。 案内番号を件名の先頭に置き、「件名を変えずにご返信ください」と案内文に一行入れるだけで、by_address の件数は減ります。
記録を残す
- 返信のメールID、スレッドID、受信日時と、照合の結果
- AIに渡した本文(引用と署名を外した後)と、返ってきたJSONの全文
- 下書きの文面と、人が直して送った文面
- 人が区分を直した記録 … どの区分からどの区分へ、なぜ直したか
- 解約の返信を受けてから、募集人が連絡するまでの時間
- 満期日の時点での最終の結果(継続・変更して継続・解約)
最後の2行が、この構成の物差しです。 解約の返信から連絡までの時間が縮み、連絡した解約のうち、条件を見直して継続になったものがどれだけあるかを並べると、仕分けを急いだ意味が見えます。区分を直した記録は、区分の定義の表を直す材料になります。
04実装レベルの3段階
最小構成では件数がさばけません。 1件ずつ貼るので、240件には使えません。区分の定義を確かめるための段階です。 半自動化で、①から③の大半が無くなります。 返信を探す、台帳を引く、区分を書く、を Make が行います。残るのは、④の受け取りの返信を書く時間です。 本格構成で下書きが出ると、④が確認と送信だけになり、1件4分になります。この段階が本記事の想定です。 段階を飛ばさないでください。 半自動化の一覧を1か月見ると、by_address と multiple の多い契約者と、区分を直すことの多い返信の型が先に分かります。そこを直してから下書きを足すほうが、直す手間が減ります。
05工数削減シミュレーション
導入後 240件 × 4分 ÷ 60 = 16 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自動車保険・火災保険などの契約を数千件以上扱い、満期の2〜3か月前に満期案内をメールで送っている損害保険代理店。返信が共有のメールアドレスに届き、事務の担当者が読んで募集人に振り分けている場合。返信の読み落としや振り分けの遅れで、満期日の直前まで条件の変更や解約の意向に気づかないことがある場合。満期管理の台帳に案内番号・満期日・担当の募集人の列がそろっている場合。賃貸の入居者の家財保険の更新を案内している不動産会社にも当てはまります。
- 満期案内を電話か対面だけで行っていて、メールの返信がほとんど無い場合。扱う契約が数百件で、担当者が全件の返信を毎日読み切れている場合。満期の管理を保険会社のシステムの画面だけで行い、案内番号と担当者を持つ台帳が無い場合。なお、契約内容の変更や解約を受け付けるかどうか、顧客の意向に沿った提案をどうするかの判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の満期案内への返信から、30件を選ぶ(継続・変更・解約・質問が混ざるように選び、用件が2つある返信を数件入れる)
- 引用と署名を手で消し、本文だけにする
- 手元の生成AIの画面に、区分の定義と1件ずつの本文を貼り、「この返信を continue・change・cancel・question・unclear のどれか1つに分け、根拠にした文を本文からそのまま抜き出し、変更したいことが書かれていれば挙げてください。保険の内容には答えないでください」と指示する
- 出てきた区分を、当時の営業事務の判断と比べる
| 出てきた内容 | 判断 |
|---|---|
| 当時の判断と同じ区分が出た | Make でつなぐ段階に進む |
| 用件が2つある返信で、変更の要素を落とした | 指示で直る。区分と変更の要素を分けて出させる |
| 質問と解約で、当時の判断と食い違う | 区分の定義の表が先。 営業部で決め直す |
3行目が出ることは珍しくありません。 失敗ではなく、営業事務のあいだで判断が分かれていたことが見えたということです。その場合は、迷いやすい例を表に足してから、同じ30件で試し直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 引用された案内文を根拠に分類する | 前処理で引用を外し、指示でも案内文の言葉を根拠にしないと書く |
| 「継続+住所変更」の変更が漏れる | 区分と change_items を分けて出させ、一覧で色を分ける |
| 質問か解約かで判断が揺れる | 区分の定義の表で決める。解約を口にしていれば cancel |
| 下書きで保険料や補償に答える | 型に沿わせ、指示で禁じる。答えるのは募集人 |
| アドレスで別の契約に当たる | 案内番号を先に引く。by_address は人が確かめる |
| 件名を変えた返信を拾えない | アドレスで拾う2本目のシナリオを回す |
| 事故の連絡が満期の一覧に埋もれる | is_renewal_reply で外し、事故の受付へ即時通知 |
| 処理途中で止まった返信が二度と拾われない | 処理済みのラベルは成功時だけ付ける |
| 台帳に書き込んで写しが食い違う | 状態はフォロー一覧で持ち、台帳は読むだけ |
| 下書きが自動で送られる | 送信のモジュールを使わない。送信は人 |
上の2行が、この構成の失敗のほとんどです。 どちらも「返信の中のどの文を読んで決めたか」の問題です。根拠の文を必ず書き出させ、一覧で見えるようにしておけば、誤りは確認の段で止まります。
4行目は、下書きの保険料の見込みが送った時点で契約者への説明になる点で重い失敗です。 型と指示の両方で止めてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 契約者の氏名、メールアドレス、保険の種類、満期日、そして返信に書かれた車両の買い替え、引っ越し、家族の事情、事故などの個人の事情です。
- AIに渡す範囲を絞る … 渡すのは引用と署名を外した本文と、保険の種類、満期日までの日数だけです。証券番号、住所、保険料、車両の情報は渡しません
- 添付を渡さない … 車検証や運転免許証の写真が付いてくることがあります。添付は一覧に「あり」と出すだけにし、AIにも外部にも送りません
- 意向の把握と提案は募集人が行う … 保険業法第294条の2は、顧客の意向の把握と、意向に沿った提案、契約の内容の説明、意向と内容が合っていることを顧客が確かめる機会の提供を求めています。この構成が出すのは区分と根拠で、意向を把握したことにはなりません
- 送信を自動にしない … 下書きまでにします。誤った区分の返信を送ると、継続の意向の契約者に解約の手続きを案内することになります
- 生成AIのAPIの利用条件と、保険会社との代理店の委託契約を確かめる … 契約者の情報を外部のサービスに渡してよい範囲は、委託契約と自社の個人情報の取扱いの規程で決まっています
- 保存の期間を決める … AIに渡した本文とJSONを、どれだけの期間残すかを先に決めてください
誤りが起きた場合のリスクは、解約や変更の返信を継続として流すことと、継続の契約者に誤った案内を送ることの2つです。 前者は区分と変更の要素を分けることと根拠の文で止め、後者は送信を人に残すことで止めます。
10まず何から始めるか
1週目:件名と台帳をそろえる
満期案内の件名の先頭に案内番号を入れ、案内文に「件名を変えずにご返信ください」と一行足します。満期管理の台帳に、案内番号の列があることを確かめます。この2つで、照合の大半が1回で済むようになります。
2週目:区分の定義を決め、30件で試す
営業事務と募集人で、4つの区分と迷いやすい例を表にします。第8章の手順で、先月の返信30件を分類させます。当時の判断と食い違ったものを集め、表に足します。
3週目:Make で拾い出しと照合をつなぐ
Watch emails で返信を拾い、台帳で照合し、フォロー一覧に行を足すところまで作ります。この時点ではAIを入れず、拾い漏れと照合の結果だけを1週間見ます。
4週目:分類を足す
Make an API Call で分類を足し、区分と根拠の文を一覧に書きます。解約と照合できない返信のチャットへの通知も足します。
2か月目以降: 受け取りの返信の下書きを足し、1件12分が何分になったかを実測します。解約の返信から募集人の連絡までの時間を毎月並べ、それが1営業日以内に収まるようになった時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| 保険業法第294条の2(顧客の意向の把握等)が、保険募集人等に、顧客の意向を把握し、これに沿った保険契約の締結等の提案、当該保険契約の内容の説明及び顧客の意向と契約の内容が合致していることを顧客が確認する機会の提供を求めていること(法令APIで条文を取得して確認) | e-Gov 法令API: 保険業法 | 2026-10-07 |
| Gmail のモジュールに Watch emails、Create a draft email、Update email labels、Mark as read などがあり、既読・未読、送信元、件名、Gmail の検索の書き方で絞り込めること。1回の実行の件数の上限が500以下であること | Make: Gmail modules | 2026-10-07 |
| シナリオの実行の間隔が、一定の間隔/1回だけ/毎日/平日/毎週/毎月/指定した日/手動から選べ、一定の間隔の既定が15分で、下限がプランによること | Make Help: Schedule a scenario | 2026-10-07 |
| ルーターの経路が並行ではなく順に処理され、前の経路が終わるまで次の経路が処理されないこと。フォールバックの経路が、どの経路の条件にも合わないデータを処理すること | Make Help: Router | 2026-10-07 |
| Google Sheets のモジュールに Search Rows(AND/OR の条件で絞り込み、件数の上限を設定)、Add a Row、Update a Row などがあること | Make: Google Sheets modules | 2026-10-07 |
| Anthropic Claude のアプリに Create a Prompt と Make an API Call などのモジュールがあり、接続に API キーを使うこと。アプリの説明に構造化出力の設定の記載が無いこと | Make: Anthropic Claude | 2026-10-07 |
構造化出力が output_config.format に JSON スキーマを渡す形で、制約付きのデコードによりスキーマに沿った応答を返し、必須の項目の抜けや型の違いが起きないとされていること | Claude: Structured outputs | 2026-10-07 |
契約の変更・解約の手続きと、顧客の意向の把握の方法は、所属する保険会社の規定と自社の募集の手順に従ってください。 本記事は確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0770)についてのご相談はこちらから。
