事故の連絡内容から保険金請求の受付票と必要書類の案内を作る
電話・メール・Webフォームで届く事故の連絡文を入力に、事故日時・場所・状況・相手・けが人・警察への届出・修理先を抜き出して受付票に整えます。足りない項目の質問文と、対応表から引いた必要書類の案内メールまで下書きし、受付票の作成と書類の調べものを減らします。
- 利用ツール
- ChatGPT/Claude/Gemini/Google Apps Script/Make/n8n/Power Automate
- 対象業界
- 保険
- 対象部門
- カスタマーサポート
- 対象業務
- データ入力・転記/問い合わせ対応/書類作成
- 主な課題
- 入力作業が多い/属人化している/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/品質標準化/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 半自動化
- 費用感
- API連携(中)
- 人間の確認
- 必須
01導入前 / 導入後の業務フロー
- 契約者から事故の連絡が、電話・メール・Webフォームで届く
- 電話の場合、担当者が話を聞きながら受付メモを取る
- 契約管理の台帳で契約を探し、保険会社と証券番号を確かめる
- メモやメールを読み、事故日時、場所、状況、相手、けが人、警察への届出、修理先を受付票に書き写す
- 足りない項目に気づいたら、契約者に聞き直す
- 保険会社の案内資料を開き、事故の種類に合った必要書類を調べる
- 必要書類と今後の流れを書いた案内メールを作って送る
- 保険会社の代理店向けシステムに、受付票の内容を転記して事故を報告する
- 事故の連絡が届く(Webフォーム、専用アドレスへのメール、電話の受付メモを社内用フォームで送信)
- 自動連絡文から受付票の項目を抜き出す。書かれていない項目は「不明」とする
- 自動契約一覧と照合し、保険会社と証券番号の候補を付ける
- 自動必須項目表と照らして足りない項目を並べ、質問文を下書きする
- 自動保険会社と事故の種類から、対応表の必要書類を引く
- 自動案内メールの下書きを作る
- 人担当者が原文と受付票を並べて確認し、事故の種類や項目を直す
- 人下書きを確認して送る。足りない項目は電話かメールで聞く
- 人保険会社の代理店向けシステムに事故報告を登録する
- 自動確認後の受付票、送った案内、人が直した箇所を台帳に残す
各工程の詳しい説明を読む
- 契約者から事故の連絡が、電話・メール・Webフォームで届く
- 電話の場合、担当者が話を聞きながら受付メモを取る
- 契約管理の台帳で契約を探し、保険会社と証券番号を確かめる
- メモやメールを読み、事故日時、場所、状況、相手、けが人、警察への届出、修理先を受付票に書き写す
- 足りない項目に気づいたら、契約者に聞き直す
- 保険会社の案内資料を開き、事故の種類に合った必要書類を調べる
- 必要書類と今後の流れを書いた案内メールを作って送る
- 保険会社の代理店向けシステムに、受付票の内容を転記して事故を報告する
問題は4つあります。
(a)聞き漏れで何往復もする。 「相手の連絡先」「警察に届けたか」「修理工場」は抜けやすく、保険会社のシステムに転記する段階で気づいて聞き直します。
(b)必要書類の判断が経験頼み。 4社×事故の種類×「相手がいるか」「けが人がいるか」で書類が変わります。新任は毎回資料を探し、案内が漏れると契約者に書類を二度集めてもらうことになります。
(c)同じ内容を3回書く。 受付票、案内メール、保険会社のシステムに同じ内容を書き、そのたびに日付や証券番号の写し間違いが起きます。
(d)答え方が担当者によってぶれる。 「保険は出ますか」と聞かれたとき、どこまで言うかが人によって違います。
- 事故の連絡が届く(Webフォーム、専用アドレスへのメール、電話の受付メモを社内用フォームで送信)
- 【自動】 連絡文から受付票の項目を抜き出す。書かれていない項目は「不明」とする
- 【自動】 契約一覧と照合し、保険会社と証券番号の候補を付ける
- 【自動】 必須項目表と照らして足りない項目を並べ、質問文を下書きする
- 【自動】 保険会社と事故の種類から、対応表の必要書類を引く
- 【自動】 案内メールの下書きを作る
- 【人】 担当者が原文と受付票を並べて確認し、事故の種類や項目を直す
- 【人】 下書きを確認して送る。足りない項目は電話かメールで聞く
- 【人】 保険会社の代理店向けシステムに事故報告を登録する
- 【自動】 確認後の受付票、送った案内、人が直した箇所を台帳に残す
自動化されるのは「書き写す」「足りない項目を探す」「書類を調べる」「メールの形にする」の4つです。事故の種類の確定、送信、保険会社への報告は人が行います。
02今回想定するシステム構成
事故連絡(Googleフォーム / 専用アドレスのGmail / 電話メモを社内用フォームで) │ ▼【トリガー】フォーム送信時 / 5分ごとの時間主導型(メール) Google Apps Script │ ├──▶ 前処理(引用・署名の除去、契約一覧との照合) │ ├──▶ Gemini API(構造化出力) │ └─ 受付票の項目 / あいまいな点 / 根拠の引用 を JSON で取得 │ ├──▶ 出力の検査(引用が原文にあるか、禁止表現) │ ├──▶ 必須項目表・必要書類の対応表(スプレッドシート) │ └──▶ Gmail に案内メールの下書きを作成 │ ▼ 受付台帳(スプレッドシート)──【人が確認して送信】 │ ▼ 【人】各保険会社の代理店向けシステムへ事故報告
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| 実行環境 | Google Apps Script | Power Automate、Make、n8n |
| 生成AI | Gemini API(構造化出力) | Claude API、OpenAI API |
| 受付窓口 | Googleフォーム、Gmail | Microsoft Forms、Outlook |
| 台帳・対応表 | Googleスプレッドシート | Excel、kintone |
| 保険会社への報告 | 各保険会社の代理店向けシステム(人が登録) | ― |
Google Workspace を使う小規模な代理店を想定しています。 新しいサーバーを立てずに組めます。事故受付の機能を持つ業務システムをすでに使っているなら、その機能で足りるかを先に確認してください。
03どうやって実装するのか
処理の起点を決める
Webフォームと電話: Google Apps Script のインストール可能なトリガーには、Googleフォームの送信で動く「フォーム送信トリガー」があります。契約者向けフォームと、電話の受付メモを貼る社内用フォームの両方に設定します。電話も社内用フォームを通すと、経路を同じ処理に揃えられます。
メール: インストール可能なトリガーの種類に、メール受信で動くものはありません。そこで最短1分間隔で動かせる時間主導型トリガーで、5分ごとに専用アドレスの未処理メールを探します。
インストール可能なトリガーは、作成した人のアカウントで動きます。 誰のアカウントで動かすかを決め、異動や退職で止まらないようにしてください。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| 連絡文 | フォームの回答、メール本文、電話の受付メモ | Googleフォーム、Gmail |
| 契約一覧 | 契約者名、証券番号、保険会社、保険の種類 | 契約管理の台帳から書き出したもの |
| 必須項目表 | 事故の種類ごとに、受付で必ず聞く項目 | 人が管理するスプレッドシート |
| 必要書類の対応表 | 保険会社×事故の種類×条件ごとの書類名 | 人が管理するスプレッドシート |
| 案内メールのひな形 | あいさつ、定型の注意書き、問い合わせ先 | 人が管理するスプレッドシート |
生成AIに渡すのは連絡文と受付日時だけで、表はスクリプトが引きます。 対応表は次の形です(書類の名称と要否は保険会社ごとに異なり、行は例です)。
| 保険会社 | 事故の種類 | 条件 | 書類 |
|---|---|---|---|
| A社 | 自動車 | 相手あり | 事故状況の報告書 |
| A社 | 自動車 | 警察へ届出済み | 交通事故証明書 |
| A社 | 水漏れ | 階下へ被害あり | 被害箇所の写真、修理の見積書 |
交通事故証明書は、警察に届け出た事故について交付されます。 届出がないと交付されないため、「警察への届出」が不明なら早めに確かめます。
データの取得方法を決める
メール: GmailApp の search(query) で Gmail の検索条件に合うスレッドを探し、getMessagesForThread(thread) でメッセージを取り出します。処理したスレッドは台帳に記録し、二重に拾わないようにします。
契約一覧: 契約管理の台帳から日次でスプレッドシートに書き出して参照します。書き出しの可否と形式は利用中のシステムによるため、利用環境に応じた個別確認が必要です。
Gemini API の呼び出し: UrlFetchApp の fetch(url, params) で、method: 'post'、headers(APIキー)、payload(連絡文・指示・JSONスキーマ)を指定して送ります。初回は外部へのリクエストを許可する権限(script.external_request)の承認が必要です。muteHttpExceptions: true にすると失敗時も例外で止まらず応答を受け取れるので、失敗した連絡を落とさず「未処理」として台帳に残せます。
AIへ渡す前に整形する
- 引用と署名の除去 … 返信メールの引用部分にある古い日付を、事故日と取り違えないようにします
- 続報の検出 … 同じスレッドや同じ契約者から数日内に届いたものは、既存の受付への紐付け候補として見せます。自動では統合しません
- 契約の照合 … 証券番号のハイフンや全角・半角を揃えて契約一覧と照合します。AIにはさせません。 候補が1件に絞れなければ人に回します
- けが・通院の記載 … 外部AIに渡してよいかを先に決めます(第13章)。渡さない場合、フォームの「けが人」欄が「いる」の連絡はAI処理から外します。メール本文は事前に見分けられないため、メール経路ごと対象外にするしかありません
- 添付ファイル … 写真や見積書はAIに渡さず、添付の有無だけを記録します
AIに処理させる
| 処理 | 内容 |
|---|---|
| 項目の抜き出し | 事故日時、場所、状況、相手の有無と情報、けが人の有無、警察への届出、修理先 |
| 事故の種類の候補 | 自動車/火災/水漏れ/賠償/その他のどれに近いか(確定は人) |
| 根拠の引用 | 項目ごとに、連絡文のどこから取ったかを原文のまま返す |
| あいまいな点の指摘 | 「昨日の夕方」のような相対的な日時、「家の近く」だけの場所 |
| 質問文の下書き | 足りない項目を契約者に聞く、短く丁寧な質問 |
足りない項目の判定は必須項目表で行います。 事故の種類ごとに聞く項目を表で決め、スクリプトが「不明」の項目と突き合わせます。AIには、決まった項目の質問文だけを2回目の呼び出しで書かせます。聞く項目が担当者やAIの出力でぶれません。
指示内容を固定する
あなたは損害保険代理店の事故受付担当を支援する担当者です。
事故の連絡文を読み、受付票の項目を抜き出してください。
【厳守事項】
- 連絡文に書かれていない項目は「不明」としてください。推測で埋めないでください。
- 補償の対象になるか、保険金が支払われるかを一切書かないでください。
判断するのは保険会社です。
- 必要な書類を挙げないでください。書類は別の表から案内します。
- 過失の割合や、どちらに責任があるかを書かないでください。
- けがは、連絡文の言葉だけを injury_note に写してください。
程度や診断名を推測したり言い換えたりしないでください。
- 「昨日の夕方」のような相対的な日時は日付に直さず、そのまま写して
unclear_points に入れてください。
- 項目ごとに、根拠になった連絡文の一部を evidence にそのまま引用してください。
【受付日時】{received_at}
【連絡文】{message_text}
「補償を書かない」「書類を挙げない」の2行が重要です。 生成AIは親切に「車両保険に加入されていれば対象になる可能性があります」と書き足すおそれがあり、届けば代理店が見通しを示したことになります。出力の検査でも弾きます。
出力形式を固定する
{
"accident_type_candidate": "自動車 | 火災 | 水漏れ | 賠償 | その他 | 不明",
"policy_number_text": "",
"accident_datetime_text": "",
"accident_location": "",
"situation_summary": "",
"counterparty": { "exists": "あり | なし | 不明", "name": "", "contact": "" },
"injury": { "exists": "あり | なし | 不明", "injury_note": "" },
"police_report": { "status": "届出済み | 未届 | 不明", "station": "" },
"repair_shop": "",
"unclear_points": [],
"evidence": [{ "field": "", "quote": "" }]
}
Gemini API の構造化出力では、JSONスキーマに沿った構文上正しいJSONが返ります。enum で値を固定すれば「たぶんあり」のような値は返りません。ただし公式ドキュメントは、値が正しいかはアプリ側で検証するよう案内しています。スクリプトで次を検査します。
evidenceの引用が連絡文の中にそのまま存在するか。なければ、その項目は作られた値として人に回す- 「補償」「支払」「対象になります」などの表現がないか
スキーマに「補償の可否」や「必要書類」の欄を作らないでください。 欄があれば、AIはそこを埋めます。
システムへ連携する
受付台帳: 1行1件で、受付番号、契約者、保険会社、事故の種類(候補と確定)、抜き出した項目、足りない項目、状態(未確認/案内済み/報告済み)を並べます。
書類の引き当て: 保険会社、事故の種類、「相手あり」などの条件で対応表を引き、書類と対応表の更新日を台帳に書きます。事故の種類を直したら書類を引き直す操作を用意します。
案内メール: GmailApp の createDraft(recipient, subject, body, options) で下書きを作ります。本文は、受付番号とあいさつ(ひな形)、受け付けた内容(AIの抜き出し)、追加で教えてほしいこと(AIの質問文)、ご用意いただく書類(対応表)、「お支払いの可否や金額は保険会社が確認のうえご案内します」という注意書き(ひな形)の順です。AIが書くのは2つ目と3つ目だけです。 メールアドレスが分からない電話の連絡は、電話か郵送での案内に回します。
保険会社への事故報告: 代理店向けシステムへの登録方法は保険会社ごとに違います。APIで自動登録できる前提にはせず、利用環境に応じた個別確認が必要です。 台帳に、保険会社ごとの入力画面の順に項目を並べた転記用の欄を作ります。
人が確認する
全件、人が確認します。運用が安定しても自動送信にしません。
事故の種類を誤ると書類がすべて変わり、案内メールは代理店の発言として届き、けがや相手方の情報も含むためです。
- 台帳の横に連絡文の原文を並べ、引用箇所に色を付ける
- 「不明」の項目と、引用が原文に見つからなかった項目を目立たせる
- 事故の種類が「候補」のままなら、下書きを送れない状態にする
例外に対処する
| 起きること | 対応 |
|---|---|
| けが人がいる、「救急車」「入院」の記載がある | 受付票より先に担当者へ即時に通知する |
| 契約が特定できない | 保険会社を空欄にし、書類の引き当てを止めて人に回す |
| 事故の種類が複数にまたがる(車で他人の塀を壊した等) | 対応表を複数行引く。どれで報告するかは人が決める |
| 対応表に該当する行がない | 書類欄に「保険会社に確認」と表示する。AIに補わせない |
| 自動車事故で警察への届出が「未届」「不明」 | 台帳で目立たせ、担当者が確認する |
| APIのエラー、JSONの検査に通らない | 未処理として残し再試行する。3回失敗したら人に回す |
| 出力に補償や支払いに触れる表現がある | 下書きを作らず差し戻し、検出した表現を記録する |
記録を残す
- 連絡文の原文、受付日時、経路
- AIの出力(検査前)と、検査で弾いた理由
- 書類を引いた対応表の行と更新日
- 人が直した項目と、直す前後の値
- 送った案内メールの最終版、送信者、送信日時
直した記録が精度の実測値になります。 「事故の種類を2割直している」と分かれば、改善すべき所が決まります。
04実装レベルの3段階
第10章の1件9分は半自動化の値です。 書き写しと書類の調べものが消えるため、効果の大半はこの段階で取れます。
05工数削減シミュレーション
導入後 180件 × 9分 ÷ 60 = 27 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 事故の連絡が月100件以上あり、電話・メール・Webフォームの複数の経路で届く損害保険代理店。Google Workspace(Gmail、Googleフォーム、スプレッドシート)を使っていて、複数の保険会社の商品を扱い、必要書類の案内を担当者が調べて書いていること。
- 事故の連絡が月30件未満で、1人の担当者で回っている場合。契約者が保険会社の窓口へ直接連絡する運用が中心で、代理店が受付票を作らない場合。保険会社との取り決めや自社の規程で、事故の内容を外部の生成AIに入力することが認められない場合。
07最小構成で試す方法
- 過去の事故連絡を20件用意する(自動車、水漏れ、賠償を混ぜる)
- 氏名、電話番号、証券番号、車両番号、病院名を「契約者A」「病院X」のような記号に置き換える
- 上のプロンプト例と一緒に生成AIに貼り付けて、項目を抜き出させる
- 当時の受付票と見比べ、正しく抜き出せた項目、推測で埋めた項目、補償に触れた出力を数える
推測で埋めた項目を必ず数えてください。 正解数より重要です。
| 結果 | 判断 |
|---|---|
| 推測で埋めた項目も、補償に触れた出力も0件 | 半自動化に進む |
| 推測で埋めた項目が数件ある | 起きた項目の禁止を具体的に書き直し、引用を必須にして再度試す |
| 補償や支払いに触れた出力がある | 出力の検査を必ず入れる前提で進める |
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| AIが補償や支払いの見通しを書き足す | プロンプトで禁じ、出力の検査でも弾く。スキーマに欄を作らない |
| AIが書かれていない修理先や届出の有無を埋める | 項目ごとに原文の引用を必須にし、原文にない引用は人に回す |
| 「先週末」をAIが日付に直して間違える | 相対的な日時は写させるだけにし、人が確定する |
| 対応表が古く、変わった書類を案内する | 更新日を持たせ、更新の担当を決める |
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 契約者の氏名・連絡先・証券番号、相手方の氏名・連絡先・車両番号、けが人の有無とけがの状況、通院先、事故の状況。事故の相手方という第三者の情報を含みます。
- 外部AIへの入力可否 … 保険会社との委託契約や、保険会社の個人情報の取扱いルールで、外部の生成AIへの入力が認められているかを最初に確認してください
- 契約の区分 … Gemini API の利用規約では、無料で使う場合は入力と出力が製品の改善に使われ、個人情報を入力しないよう求めています。 有料で使う場合は改善に使わず、不正利用の検出のため限られた期間だけ記録するとされています。この用途は有料の契約が前提です
- けが・通院の情報 … 個人情報保護委員会のガイドライン(通則編)では、負傷などを理由に医師等の診療が行われたことは要配慮個人情報に当たり、取得にはあらかじめ本人の同意が必要です。金融分野ガイドラインは、これに保健医療などを加えた機微(センシティブ)情報を、保険業の適切な業務運営のため本人の同意に基づき業務上必要な範囲で扱う場合などを除き、取得・利用・第三者提供しないこととしています。相手方や同乗者の情報を含め、同意の取り方と扱いの手順を保険会社の手順と自社の規程で確認してください。 受付票には「けが人:あり/なし/不明」だけを載せ、けがの状況と病院名は閲覧者を絞った別シートに分ける設計が考えられます
- アクセス権限 … 受付台帳、けがの情報のシート、専用アドレスを見られる人を事故受付担当に限定します
- 自動実行してよい範囲 … 下書きの作成までです。案内メールを人の確認なしに送る構成にしないでください。 補償について聞かれたときの答えもAIに作らせません
誤りが起きた場合のリスクは、補償の見通しを示したと受け取られることによる苦情、書類の案内漏れによる請求の遅れ、けがや相手方の情報の漏えいです。
10まず何から始めるか
1週目:保険会社のルールを確認し、伏せたデータで試す
主要な保険会社に、事故の内容を外部の生成AIに入力してよいか、けがの情報をどう扱うかを確認します。回答が出るまで、実際の連絡文はAIに入れないでください。 その間に、個人情報を伏せた過去20件で第8章の検証を行います。
2週目:必須項目表と対応表を作る
上位2社について、自動車・水漏れ・賠償の必要書類を表にし、事故の種類ごとに必ず聞く項目を決めます。ベテランと一緒に作ってください。 頭の中の判断を表にすること自体が、属人化を減らします。
3〜4週目:半自動化を作る
電話メモ用の社内フォームから始め、抜き出し、検査、台帳への書き込み、書類の引き当て、下書きまでを作ります。担当者1名が2週間使い、1件25分が何分になるかを記録します。
2か月目以降: 契約者向けフォームとメールを足し、対応表を残りの保険会社に広げます。表の更新が止まると、誤った書類を案内し始めます。 更新の担当を決めてください。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
構造化出力がJSONスキーマに沿った構文上正しいJSONを返すこと。enum で値を固定でき、型に null を含められること。値の正しさはアプリ側で検証するよう案内されていること | Google AI for Developers: Structured outputs | 2026-09-14 |
| 無料の場合は入力と出力が製品の改善に使われ、個人情報を入力しないよう求めていること。有料の場合は改善に使わず、不正利用の検出のため限られた期間だけ記録すること | Gemini API Additional Terms of Service | 2026-09-14 |
| インストール可能なトリガーに、フォーム送信トリガーと時間主導型トリガー(最短1分間隔)があり、メール受信を契機とする種類がないこと。作成した人のアカウントで動くこと | Google for Developers: Installable triggers | 2026-09-14 |
GmailApp に search、getMessagesForThread、createDraft(宛先・件名・本文・オプション)があること | Google for Developers: Class GmailApp | 2026-09-14 |
UrlFetchApp.fetch(url, params) で method headers payload muteHttpExceptions を指定でき、muteHttpExceptions が true なら失敗時も応答を返すこと。script.external_request の承認が必要なこと | Google for Developers: Class UrlFetchApp | 2026-09-14 |
| 負傷などを理由に医師等の診療等が行われたことが要配慮個人情報に当たり、取得にあらかじめ本人の同意が必要なこと | 個人情報保護委員会: ガイドライン(通則編) | 2026-09-14 |
| 金融庁所管分野のガイドラインであること。機微(センシティブ)情報を、保険業の適切な業務運営のため本人の同意に基づき業務上必要な範囲で扱う場合などを除き、取得・利用・第三者提供しないこと(第5条) | 個人情報保護委員会・金融庁: 金融分野における個人情報保護に関するガイドライン | 2026-09-14 |
| 交通事故証明書が警察に届け出た事故について交付され、届出のない事故には交付できないこと | 自動車安全運転センター: よくある質問 | 2026-09-14 |
保険会社ごとの必要書類、代理店向けシステムへの登録方法、契約管理の台帳からの書き出し方法は、利用環境に応じた個別確認が必要です。 けが・通院の情報の扱いと外部AIへの入力の可否は、保険会社との委託契約と自社の規程で確認してください。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0044)についてのご相談はこちらから。
