ドライバーや作業者から届く荷物事故の報告をフォームとメールから受けて事故台帳に転記し、荷主への報告と再発防止の検討の材料にする
ドライバーや倉庫の作業者から届く荷物事故の報告を、フォームとメールの両方から受けます。報告文から台帳の項目を取り出して事故台帳に下書きとして登録し、足りない項目の聞き直しと荷主への第一報の下書きまでそろえます。
- 生成AI
- ChatGPT/Claude
- 連携・自動化
- Make/n8n/Power Automate/Zapier
- 対象業界
- EC/商社/小売/物流
- 対象部門
- 品質管理/物流
- 対象業務
- データ入力・転記/台帳・マスタ管理
- 主な課題
- 入力作業が多い/期限・対応漏れが起きる/確認ミスが多い
- AIで行う処理
- 抽出
- 主な効果
- 入力漏れ削減/対応スピード向上/工数削減
- 導入難易度
- ★★☆☆☆
- 実装レベル
- 本格構成
- 費用感
- ノーコード連携(中)
- 人間の確認
- 条件付き
01導入前 / 導入後の業務フロー
- フォームの回答とメールが届くと、品質管理の担当がそれぞれを開いて読む
- 報告に伝票番号・荷主・個数などが足りなければ、ドライバーや作業者に電話して聞き直す
- 運送の管理システムで伝票番号を引き、荷主・届け先・品名を確かめる
- 事故台帳に1行追加し、項目を打ち込む。写真は別の共有フォルダに保存し、ファイル名を台帳に書く
- 荷主の報告の期限と様式を確かめ、第一報の文面を書いて送る
- 同じ事故がフォームとメールの両方で届いていないかを、台帳を見て確かめる
- 月末に台帳を集計し、再発防止の会議の資料にする
- 自動フォームの回答の送信、または事故受付のメールの受信をきっかけに、Power Automate のフローが動く
- 自動報告の本文(フォームは回答の項目を1つの文にまとめたもの)を、AI Builder のプロンプトに渡す
- 自動プロンプトが、台帳の項目をJSONで返す。書かれていない項目は空欄、足りない項目は一覧にする
- 自動伝票番号で台帳を引き、同じ伝票・同じ日の事故がすでにあれば、重複の候補として印を付ける
- 自動荷主の一覧から、その荷主の第一報の期限と送り先を引く
- 自動事故台帳(SharePoint のリスト)に「下書き」の状態で1行登録し、写真を添付する
- 自動足りない項目があれば、報告者へ聞き直しのメールを返す
- 自動プロンプトが荷主への第一報の下書きを作り、承認の依頼を品質管理の担当へ出す
- 人担当が台帳の下書きを確かめ、伝票の引き当てと事故の区分を直し、状態を「確定」にする
- 人第一報の下書きを直し、承認したうえで荷主へ送る
- 自動月末に、確定した行だけを拠点別・区分別に集計し、再発防止の会議の材料にする
各工程の詳しい説明を読む
- フォームの回答とメールが届くと、品質管理の担当がそれぞれを開いて読む
- 報告に伝票番号・荷主・個数などが足りなければ、ドライバーや作業者に電話して聞き直す
- 運送の管理システムで伝票番号を引き、荷主・届け先・品名を確かめる
- 事故台帳に1行追加し、項目を打ち込む。写真は別の共有フォルダに保存し、ファイル名を台帳に書く
- 荷主の報告の期限と様式を確かめ、第一報の文面を書いて送る
- 同じ事故がフォームとメールの両方で届いていないかを、台帳を見て確かめる
- 月末に台帳を集計し、再発防止の会議の資料にする
(a)報告の形がばらばら。 フォームの回答は項目が分かれていますが、メールは文章です。「本日14時ごろ、△△物流センター様向け、伝票末尾4521、2ケース中1ケース外装破損、中身未確認」のように1文に詰め込まれたものもあれば、写真だけが付いて本文が1行のものもあります。4番目の打ち込みで、読み取りと入力が同時に起きます。
(b)足りない項目を電話で聞き直す。 伝票番号が書かれていない、個数が「何個か」、場所が「いつものところ」。運転中のドライバーには電話がつながらず、聞き直しが夕方まで延びます。 そのあいだ、台帳の行は半分空いたままです。
(c)荷主への第一報が遅れる。 聞き直しが終わらないと第一報が書けず、当日中の期限の荷主に間に合わないことがあります。 期限を担当者が覚えているかどうかで、間に合うかが決まります。
(d)二重の登録と登録漏れ。 両方で届いた事故が2行になり、逆にメールが埋もれて1行も無い事故もあります。
- 【自動】 フォームの回答の送信、または事故受付のメールの受信をきっかけに、Power Automate のフローが動く
- 【自動】 報告の本文(フォームは回答の項目を1つの文にまとめたもの)を、AI Builder のプロンプトに渡す
- 【自動】 プロンプトが、台帳の項目をJSONで返す。書かれていない項目は空欄、足りない項目は一覧にする
- 【自動】 伝票番号で台帳を引き、同じ伝票・同じ日の事故がすでにあれば、重複の候補として印を付ける
- 【自動】 荷主の一覧から、その荷主の第一報の期限と送り先を引く
- 【自動】 事故台帳(SharePoint のリスト)に「下書き」の状態で1行登録し、写真を添付する
- 【自動】 足りない項目があれば、報告者へ聞き直しのメールを返す
- 【自動】 プロンプトが荷主への第一報の下書きを作り、承認の依頼を品質管理の担当へ出す
- 【人】 担当が台帳の下書きを確かめ、伝票の引き当てと事故の区分を直し、状態を「確定」にする
- 【人】 第一報の下書きを直し、承認したうえで荷主へ送る
- 【自動】 月末に、確定した行だけを拠点別・区分別に集計し、再発防止の会議の材料にする
9番目と10番目が、この設計の分かれ目です。 台帳の行も第一報も、AIが作るのは下書きまでです。 確定と送信を人が行うことで、誤った区分や個数がそのまま荷主に届く経路をなくします。
7番目の聞き直しを自動にしているのは、電話の待ちをなくすためです。 ドライバーは運転を終えてから、足りない項目だけを返信できます。
02今回想定するシステム構成
自社のドライバー(Microsoft Forms のフォーム) 協力会社・倉庫の作業者(事故受付のメール) │ │ ▼【トリガー】回答の送信/メールの受信 Power Automate ├──▶ Forms:回答の詳細を取得/Outlook:本文と添付を取得 ▼ AI Builder のプロンプト(Run a prompt・JSON出力) │ 発生日時/場所/伝票番号/荷主/事故の区分/品名/個数/状況/報告者 │ 書かれていない項目は空欄、足りない項目の一覧 ▼ Power Automate ├──▶ 事故台帳(SharePoint のリスト)を伝票番号で引いて重複を確かめる ├──▶ 荷主の一覧(SharePoint のリスト)から期限と送り先を引く ├──▶ 事故台帳に「下書き」で登録、写真を添付 ├──▶ 足りない項目があれば報告者へ聞き直しのメール ▼ AI Builder のプロンプト ── 荷主への第一報の下書き ▼ 承認(Approvals)── 【品質管理の担当が台帳を確定し、第一報を直して送る】 ▼ 月末の集計(拠点別・区分別)── 再発防止の会議
| 役割 | 想定する製品 | 代替候補 |
|---|---|---|
| ワークフロー | Power Automate | Make、n8n、Zapier |
| 生成AI | AI Builder のプロンプト(Run a prompt・JSON出力) | Claude API、OpenAI API |
| 受付 | Microsoft Forms のフォーム、Outlook の事故受付のメールボックス | Google フォーム、Gmail |
| 台帳 | SharePoint のリスト(事故台帳・荷主の一覧) | 運送の管理システムの事故の機能 |
| 承認 | Power Automate の Approvals | Teams のチャットでの確認 |
運送の管理システムには書き込みません。 伝票番号の引き当ては、品質管理の担当が確定のときに運送の管理システムの画面で確かめます。管理システムから伝票を自動で引く連携は、システムにAPIや書き出しの機能があるかで決まるため、本記事では前提にしていません。 使える場合は、第7章の前処理の最後に足します。
AI Builder のプロンプトは、Power Automate の「Run a prompt」のアクションとして使います。 2025年5月から、以前の「Create text with GPT using a prompt」の名前が「Run a prompt」に変わっています。プロンプトは Azure OpenAI Service の GPT のモデルで動き、利用できる地域が限られ、利用の上限や混雑による制限がかかることがあるとされています。導入前に、自社の環境の地域で使えるかを確かめます。
プロンプトの出力は、JSON にできます。 既定ではテキストで返り、出力の設定で JSON を選ぶと、フローの後続のアクションで項目ごとに値を使えます。 この構成では、台帳の列に1対1で入れるために JSON を選びます。
03どうやって実装するのか
処理の起点を決める
入口はフォームとメールの2本のフローに分け、途中から先は同じ子フローを呼びます。 登録の処理を入口ごとに持つと、片方だけを直して項目がずれます。
フォームの側は、Microsoft Forms の「When a new response is submitted」のトリガーを使います。 このトリガーが返すのは回答のIDまでで、回答の中身は「Get response details」のアクションで、フォームのIDと回答のIDを渡して取ります。 コネクタは組織のアカウントでのみ動くとされ、グループで作ったフォームはドロップダウンに出ないため、フォームのIDを手で入れる必要があります。
メールの側は、Office 365 Outlook の「When a new email arrives (V3)」を使います。 監視するフォルダを事故受付のメールボックスに絞ります。「Include Attachments」を「はい」にすると、添付の多いメールが同時に届いたときに取り込みが時間切れになることがあるとされています。そこで「いいえ」にして、添付は後から「Get Attachment (V2)」で取ります。
トリガーには遅れと取りこぼしがあります。 ドキュメントでは、ほとんどの場合すぐに動くものの、まれに動くまで最大1時間かかることがある、多数のメールが同時に届くとまれに取りこぼすことがある、とされています。当日中が期限の荷主があるので、夕方に1回、受付のメールボックスの未処理を数える定時のフローを別に回します。
入力データを集める
| データ | 中身 | 取得元 |
|---|---|---|
| フォームの回答 | 報告者、車番、発生日時、場所、伝票番号、荷主、事故の区分(選択)、状況(自由記述)、写真 | Microsoft Forms |
| メールの本文と添付 | 送信者、受信日時、件名、本文、写真・伝票の画像 | Outlook の事故受付のメールボックス |
| 荷主の一覧 | 荷主名と表記ゆれ、第一報の期限(当日中/翌営業日)、送り先、様式の種類 | SharePoint のリスト |
| 事故台帳 | 既存の行(重複の確認に使う) | SharePoint のリスト |
| 報告者の一覧 | ドライバー・作業者の名前、所属(自社/協力会社名)、メールアドレス | SharePoint のリスト |
質を決めるのは、3行目の荷主の一覧です。 荷主名は「〇〇さん」「△△の部品」「□□センター」のように書かれます。表記ゆれの列に現場の呼び方を足すほど、引き当てが当たります。
フォームの事故の区分は、選択式にします。 破損・汚損・紛失・誤配・数量違い・その他の6つです。自由記述にすると、同じ破損が「破れ」「つぶれ」「割れ」に分かれ、月末の集計が合いません。 メールの報告では区分を生成AIが選びますが、その値は確定のときに必ず人が見ます。
5行目の報告者の一覧は、聞き直しの宛先に使います。 協力会社のドライバーには、協力会社の配車担当のアドレスに返すことがあります。
データの取得方法を決める
| 取るもの | どこから | 何に使うか |
|---|---|---|
| 回答の中身 | Forms の「Get response details」 | 項目の取り出しの入力 |
| 本文と送信者 | Outlook のトリガーの出力 | 項目の取り出しの入力、報告者の照合 |
| 添付の写真 | Outlook の「Get Attachment (V2)」/フォームの回答のファイル | 台帳の行への添付 |
| 荷主の期限と送り先 | SharePoint の「Get items」(フィルターで荷主名を指定) | 第一報の期限と宛先 |
| 既存の行 | SharePoint の「Get items」(伝票番号と発生日で絞る) | 重複の確認 |
SharePoint の「Get items」は、OData のフィルターで行を絞り、取得の件数を指定できます。 指定しないと既定ではすべての行が対象になるため、重複の確認では伝票番号と発生日の条件と、件数の上限を必ず付けます。 台帳の行は年に約1,800行ずつ増えます。
写真は台帳の行に添付します。 SharePoint のコネクタは、リストの項目の添付で90MBまでのサイズに対応するとされています。スマートフォンの写真を何枚も付けたメールは、このサイズに近づくことがあるので、添付ごとに分けて付けます。
AIへ渡す前に整形する
- フォームの回答を1つの文にまとめる … 項目ごとの回答を「項目名:値」の形で並べた文にして、メールの本文と同じ入口からプロンプトに渡します
- メールの署名と引用を外す … 協力会社のメールは署名が長く、前のやり取りの引用が残っています。本文の先頭から、最初の署名の区切りまでを使います
- 聞き直しへの返信かを見分ける … 件名に聞き直しのメールの受付番号が入っていれば、新しい事故ではなく既存の行への追記として扱います
- 報告者の照合 … 送信者のアドレスを報告者の一覧と照らし、所属を付けます。一覧に無いアドレスは、台帳に登録せず担当へ回します
- 暗号化されたメールの扱い … Outlook のコネクタは暗号化されたメールに対応していないとされています。届いたら受付のフォルダに残し、担当に知らせます
- 添付の数とサイズの確認 … 写真が多いものは分けて添付します。写真が無ければ、その旨を台帳の行に書きます
3番目が無いと、「伝票番号は1234-4521です」という返信だけのメールが、新しい事故の行になります。
AIに処理させる
させるのは、報告の文から台帳の項目を取り出すことと、足りない項目を一覧にすることです。 第一報の下書きは、確定した項目から別のプロンプトで作ります。
| 取り出す項目 | 取り出し方 | 書かれていないときの扱い |
|---|---|---|
| 発生日時 | 文中の日付と時刻。「本日」「さっき」は受信日時から読む | 空欄。「さっき」を受信日時にしない |
| 発生の場所 | 届け先・倉庫・路上などの区分と、場所の名前 | 空欄 |
| 伝票番号 | 書かれた文字列をそのまま。「末尾4521」は末尾として記録 | 空欄 |
| 荷主 | 荷主の一覧の表記ゆれと照らした候補 | 空欄。品名から荷主を推測しない |
| 事故の区分 | 破損・汚損・紛失・誤配・数量違い・その他から1つ | 判断できなければ「その他」と、迷った理由 |
| 品名と個数 | 書かれた品名と、事故にあった個数・全体の個数 | 空欄。「何個か」は空欄 |
| 状況 | 何が起きたかの事実を3文以内で | 報告の文をそのまま |
| 報告者 | 送信者とフォームの回答者 | トリガーの情報を使う |
「さっき」を受信日時にしないのは、報告が事故の何時間も後に送られることがあるからです。 第一報の時刻が事実と合わなくなります。
| させないこと | 理由 |
|---|---|
| 書かれていない伝票番号・個数を補う | 荷主に誤った番号で報告することになる |
| 損害の金額を見積もる | 中身の確認と、荷主との取り決めで決まる |
| 事故の責任の所在を書く | 調査の後に人が判断すること |
| 原因を推測する | 状況の事実と、原因の見立てを混ぜない |
| 荷主へ送る | 送るのは品質管理の担当 |
指示内容を固定する
項目の取り出し(Run a prompt に登録するプロンプト):
あなたは運送会社の品質管理の担当として、荷物事故の報告を台帳の項目に整理します。
入力の「報告」に書かれていることだけを使ってください。推測で埋めないでください。
【取り出す項目】
occurred_date, occurred_time, place_type(届け先/倉庫/車内/路上/その他),
place_name, slip_no, slip_no_is_partial(末尾など一部だけのとき true),
shipper_candidate, accident_type(破損/汚損/紛失/誤配/数量違い/その他),
item_name, damaged_qty, total_qty, situation, photos_mentioned
【厳守事項】
- 記載がなければ「不明」とせず、空欄(空の文字列)にしてください。
他の項目から補って埋めないでください。
- 伝票番号は書かれた文字列をそのまま入れてください。桁を補ったり、
記号を直したりしないでください。「末尾4521」なら slip_no に 4521、
slip_no_is_partial に true を入れてください。
- 荷主は【荷主の一覧】の名前と表記ゆれに当たるときだけ shipper_candidate に入れてください。
品名や届け先から荷主を推測しないでください。
- 「本日」は受信日の日付を occurred_date に入れ、occurred_time は空欄にしてください。
「さっき」「先ほど」から時刻を作らないでください。
- 個数が「何個か」「数ケース」のように数で書かれていなければ空欄にしてください。
- situation には、報告に書かれた事実だけを3文以内で書いてください。
原因の推測、責任の所在、損害の金額を書かないでください。
- accident_type を1つに決められないときは「その他」とし、
type_note に迷った理由を書いてください。
- 空欄にした項目のうち、台帳に必須の項目(occurred_date, place_name, slip_no,
shipper_candidate, accident_type, damaged_qty)を missing に並べてください。
- 聞き直しへの返信のように、新しい事故の報告でないと判断したときは
is_new_report を false にしてください。
- Don't include JSON markdown in your answer.
【受信日時】{received_at}
【荷主の一覧】{shipper_aliases}
【報告】{report_text}
最後の英語の1文は、JSON の出力のための決まった一文です。 ドキュメントでは、テスト時に「A JSON could not be generated」の誤りが出る場合、モデルが JSON を囲む書式を付けていることが原因のことがあり、この一文を足すと解消することがあるとされています。
「品名や届け先から荷主を推測しない」を明記しないと、「△△の部品」から△△を荷主として返します。 外れれば、別の荷主に事故を報告することになります。
第一報の下書き(2つ目のプロンプト): 確定した行を渡し、発生日時・場所・伝票番号・品名・個数・区分・状況・未確認のこと・次の連絡の予定の順で、事実だけを書くよう指示します。責任や原因には触れさせません。
出力形式を固定する
項目の取り出しのプロンプトは、出力を JSON にし、形式を「Custom」に固定します。 既定の「Auto detected」は、プロンプトをテストするたびに形式が検出し直されます。JSON の例を編集すると「Custom」になり、テストしても更新されなくなるとされています。保存のときに形式が固定され、フローで使うときはその形式で返ります。
{
"is_new_report": true,
"occurred_date": "2026-10-05",
"occurred_time": "",
"place_type": "届け先",
"place_name": "△△物流センター",
"slip_no": "4521",
"slip_no_is_partial": true,
"shipper_candidate": "",
"accident_type": "破損",
"type_note": "",
"item_name": "",
"damaged_qty": "1",
"total_qty": "2",
"situation": "2ケースのうち1ケースの外装が破損。中身は未確認。",
"photos_mentioned": "true",
"missing": [
{ "field": "slip_no" },
{ "field": "shipper_candidate" }
]
}
missing を {"field": ...} の形の配列にしているのは、制限のためです。 ドキュメントでは、項目名の無い配列(["abc", "def"] のような形)は形式として定義できず、[{"Field1": "abc"}] の形なら使えるとされています。JSON のスキーマ自体は編集できないため、形は JSON の例で決めます。
1つ目の理由は、台帳の列に1対1で入れられることです。 リストの列と JSON の項目を同じ名前にすれば、「Create item」にそのまま割り当てられます。
2つ目は、missing から聞き直しのメールを機械的に作れることです。 項目名を質問文に置き換える表をフローに持ち、生成AIを通さずに文面を作ります。
3つ目は、slip_no_is_partial で伝票番号の扱いを分けられることです。 末尾だけの番号は重複の確認に使わず、確定のときに担当者が運送の管理システムで全桁を引きます。
システムへ連携する
| つなぎ先 | 方式 | 内容 |
|---|---|---|
| Microsoft Forms | 「When a new response is submitted」/「Get response details」 | 回答の受け取り |
| Outlook | 「When a new email arrives (V3)」/「Get Attachment (V2)」 | メールと添付の受け取り |
| AI Builder のプロンプト | 「Run a prompt」 | 項目の取り出しと第一報の下書き |
| 事故台帳 | SharePoint の「Get items」「Create item」「Add attachment」 | 重複の確認、下書きの登録、写真の添付 |
| 荷主の一覧 | SharePoint の「Get items」 | 期限と送り先 |
| 品質管理の担当 | Approvals の「Start and wait for an approval of text」 | 第一報の下書きの確認と修正 |
台帳の状態の列で、下書きと確定を分けます。 フローが作る行は必ず「下書き」で、月末の集計は「確定」の行だけを数えます。 下書きのまま残っている行は、確定の漏れとして毎朝の一覧に出します。
第一報の確認には、承認のアクションを使います。 Microsoft のドキュメントでは、プロンプトの出力の後に「Start and wait for an approval of text」を置き、提案の文面を承認者が確かめて編集できる手順が示されています。この構成では、承認された文面だけを荷主への送信の下書きにし、送信のボタンは担当者が押します。
人が確認する
台帳の行の確定と、荷主への第一報は、品質管理の担当が必ず行います。
- 伝票番号を引き当てる … 運送の管理システムで伝票を引き、荷主・届け先・品名が報告と合うかを確かめます。末尾だけの番号は、ここで全桁にします
- 事故の区分と個数を確かめる … 写真と状況を見て、区分を直します。「その他」になったものは、
type_noteを読んで決めます - 重複の候補を見る … 同じ伝票・同じ日の行があれば、1つにまとめます
- 状態を「確定」にする … 確定した行だけが集計と第一報の対象になります
- 第一報を直して送る … 承認の画面で下書きを直し、荷主の様式に合わせて送ります
1番目を省かないでください。 生成AIは伝票番号を書かれたとおりに取り出しますが、ドライバーが書き間違えた番号は、そのまま取り出されます。 伝票と報告の内容が合うかを見るのは人の役目です。
目標は、1件をならして6分です。 項目がそろった報告は1〜2分で確定でき、聞き直しや重複のあるものに時間を使います。
例外に対処する
| 起きること | 対応 |
|---|---|
| 必須の項目が足りない | 下書きで登録し、報告者へ聞き直しのメール。夕方までに返信が無ければ担当が電話 |
| 聞き直しへの返信が届く | 件名の受付番号で既存の行に追記する。新しい行を作らない |
| 同じ事故がフォームとメールで届く | 伝票番号と発生日で重複の候補に印を付け、確定のときに1つにする |
| 送信者が報告者の一覧に無い | 登録せず担当へ回す |
| 暗号化されたメール | コネクタが対応していない。受付のフォルダに残し、担当に知らせる |
| 添付の多いメールで取り込みが止まる | トリガーで添付を含めず、「Get Attachment (V2)」で個別に取る |
| プロンプトが JSON を返さない | 指示の末尾の一文を確かめ、取り出しをやり直す。2回失敗したら本文のまま担当へ |
| プロンプトの利用の上限や混雑 | 本文のまま下書きの行を作り、項目は空欄で担当へ回す |
| トリガーが遅れる・取りこぼす | 夕方の定時のフローで受付のメールボックスの未処理を数え、担当に知らせる |
1行目は第一報の期限のためです。 当日中が期限の荷主のものは、聞き直しのメールと同時に担当へ知らせます。最後の行の取りこぼしはまれとされていますが、1件が荷主への報告漏れになるので、まれでも数えます。
記録を残す
- 元のフォームの回答とメール(本文・添付)と、受け取った日時
- プロンプトに渡した文と、返ってきた JSON の全文
- 台帳の行の下書きの値と、担当者が確定のときに直した項目と直す前の値
- 聞き直しのメールの送信日時と、返信の受信日時
- 第一報の下書き、承認で直した後の文面、荷主へ送った日時
- フローの実行の履歴(成功・失敗)
3つ目の「直した項目」は、プロンプトと荷主の一覧の表記ゆれを直す材料になります。
5つ目の送った日時は、荷主の期限に間に合ったかを数える材料です。 月末の会議で、期限を過ぎた第一報の件数と理由を見ます。
04実装レベルの3段階
最小構成は、取り出せるかを確かめるための段階です。 月150件には使えません。 半自動化で、1件20分が12分程度になります。 打ち込みは自動になりますが、聞き直しの電話と、荷主の期限の確認、第一報を一から書く作業が残ります。本格構成で6分になり、この段階が本記事の想定です。 差が大きいのは、聞き直しと第一報が、1件ずつの手作業だからです。 段階を飛ばさないでください。 半自動化の台帳を1か月見ると、よく空欄になる項目が分かり、フォームの必須の項目を見直せます。
05工数削減シミュレーション
導入後 150件 × 6分 ÷ 60 = 15 時間/月
自社条件で導入効果を整理したい方へ
このユースケースを自社に当てはめた場合の前提値と削減見込みを、業務ヒアリングをもとに整理します。
06向いている企業・向いていない企業
- 自社のドライバーと協力会社の車両で配送し、倉庫で荷扱いをしている運送会社・3PL・自社物流を持つ小売や卸。荷物事故の報告が、フォーム・メール・電話のメモなどばらばらの形で届き、品質管理の担当が台帳に打ち直している場合。荷主ごとに事故の報告の期限や様式があり、第一報が遅れることがある場合。Microsoft 365 を使っていて、SharePoint のリストを台帳にできる場合。
- 荷物事故が月に数件で、担当者が1件ずつ電話で聞き取れば足りる場合。運送の管理システムに事故の登録の機能があり、ドライバーが端末から直接登録できている場合。なお、事故の責任の所在や弁償の額の判断、保険の請求の判断は、この構成では代替できません。
07最小構成で試す方法
- 先月の荷物事故の報告から、メールで届いたものを20件選ぶ(短いもの、写真だけのもの、伝票番号の無いものを混ぜる)
- 手元のAIサービスに、取り出す項目の一覧と「書かれていなければ空欄。推測で埋めない」を指示する
- 20件の本文を1件ずつ貼り、項目を取り出させる
- 出てきた値を、当時担当者が台帳に打ち込んだ値と並べる
- 違っていた項目について、報告に書かれていなかったのに埋めたのか、書かれていたのに取り出せなかったのかを分ける
20件は必ずやってください。 フローを組む前に、自社の報告の書き方で、項目が取り出せるかを確かめます。
| 出てきた内容 | 判断 |
|---|---|
| 台帳と同じ値が取り出せた | フローの組み立てに進む |
| 書かれていない伝票番号や荷主を埋めた | 指示の書き方で直る。構成は有効 |
| 荷主名が取り出せない | 荷主の一覧の表記ゆれが足りない。現場の呼び方を集めるのが先 |
3行目は珍しくありません。 1か月分の報告から現場の呼び方を拾い、表記ゆれの列に足してから同じ20件をやり直してください。
08実装時につまずきやすいポイント
| 問題 | 対策 |
|---|---|
| 書かれていない伝票番号や荷主が埋まる | 推測を禁じ、確定のときに伝票で引き当てる |
| 「さっき」が受信日時の時刻になる | 時刻を作らないことを明記し、空欄にする |
| 聞き直しへの返信が新しい事故になる | 件名に受付番号を入れ、返信を見分ける |
| フォームとメールで同じ事故が2行になる | 伝票番号と発生日で重複の候補を出し、確定で1つにする |
| 添付の多いメールで取り込みが止まる | トリガーで添付を含めず、「Get Attachment (V2)」で取る |
| グループのフォームがトリガーで選べない | フォームのIDを手で入れる |
| 「A JSON could not be generated」が出る | 「Don't include JSON markdown in your answer」を指示に足す |
| テストのたびに JSON の形が変わる | JSON の例を編集して「Custom」に固定し、保存する |
missing を文字列の配列にしたら保存できない | 項目名つきの配列({"field": ...})にする |
| 事故の区分が集計で合わない | フォームは選択式にし、メールは確定のときに人が区分を見る |
| 荷主の候補が空欄ばかり | 荷主の一覧の表記ゆれに、現場の呼び方を足す |
| 第一報が自動で送られてしまう | 承認の後も送信は人が行う。 送信のアクションをフローに置かない |
上の2行が、この構成の失敗のほとんどです。 生成AIが親切に埋めた値は、台帳では事実と区別がつきません。 最後の行も作る段階で決めます。承認は文面の確認で、送信の判断とは分けてください。
09セキュリティ・AIガバナンス上の注意点
この構成で扱うデータ: 荷主名、届け先の名前と住所、伝票番号、品名と個数、事故の写真、ドライバーと作業者の名前。写真には、届け先の住所が書かれた送り状や、人の顔が写り込むことがあります。
- プロンプトに渡す範囲を本文に限る … 写真はプロンプトに渡さず、台帳に添付するだけにします。写真から事故の区分を判定させる設計にはしません。 写り込んだ送り状の住所を外部の処理に回さないためです
- 台帳の閲覧の範囲を決める … 事故台帳は品質管理と各拠点の管理者に限ります。荷主ごとに閲覧を分ける必要があるかは、荷主との取り決めで確かめます
- 荷主への送信を自動にしない … 第一報は荷主との関係に直接響きます。承認と送信を分け、送信は担当者が行います
- 責任の所在を台帳に書かない … 台帳の状況の欄は事実だけです。誰の過失か、弁償するかは、調査の後に別の記録で扱います
- 報告者を評価に使わない … 事故の台帳を、ドライバーや作業者の個人の評価にそのまま使わないでください。使うと、報告が遅れ、隠れます。 再発防止の会議では、拠点・工程・区分で集計します
- プロンプトの動く地域を確かめる … プロンプトは利用できる地域が限られています。自社の環境のデータがどこで処理されるかを、導入前に情報システムの担当と確かめます
誤りが起きた場合のリスクは、誤った内容で荷主に報告することと、事故の報告が台帳から漏れることの2つです。 前者は推測を禁じる指示と確定のときの引き当てで、後者は夕方の未処理の数え直しで防ぎます。どちらも、最後に人が確定して送る設計で守ります。
10まず何から始めるか
1週目:荷主の一覧を整える
約40社の荷主について、正式な社名、現場での呼び方、第一報の期限、送り先を SharePoint のリストにまとめます。期限は契約書と担当者の記憶の両方から拾い、食い違いがあれば営業に確かめます。
2週目:20件で取り出しを試す
先月の報告のメールから20件を選び、手元のAIサービスで項目を取り出させます。台帳の値と並べ、書かれていない項目を埋めていないかを最優先で見ます。
3週目:フォームを選択式に直す
フォームの事故の区分を選択式にし、伝票番号と個数を必須にします。メールで報告していた自社のドライバーに、フォームへの切り替えを頼みます。
4週目:受信から下書きの登録までをつなぐ
Power Automate でフォームとメールのトリガーから「Run a prompt」を呼び、事故台帳に下書きで登録するところまで作ります。この時点では聞き直しと第一報は作らず、下書きの値を担当が確かめるだけにします。
2か月目: 重複の確認、荷主の期限の引き当て、聞き直しのメールを足します。空欄になりやすい項目を数えます。3か月目以降: 第一報の下書きと承認を足し、1件20分が何分になったかを実測します。期限を過ぎた第一報の件数と、担当者が直した項目を月末に見て、プロンプトと荷主の一覧を直した時点で、この構成は完成です。
11関連ユースケース
12この仕組みを理解するための記事
13技術仕様の確認日・参考情報
| 確認した内容 | 情報源 | 確認日 |
|---|---|---|
| Microsoft Forms のトリガー「When a new response is submitted」が回答のIDを返し、「Get response details」でフォームのIDと回答のIDから回答を取得すること。コネクタが組織のアカウントでのみ動くこと。グループのフォームはドロップダウンに出ず、フォームのIDを手で入れる必要があること | Microsoft Learn: Microsoft Forms connector | 2026-10-06 |
| 「When a new email arrives (V3)」のパラメーター(Folder、Include Attachments など)。添付を含めると多数のメールで時間切れになることがあり、「いいえ」にして「Get Attachment (V2)」で取る回避策。まれに最大1時間の遅れや取りこぼしがあること。暗号化されたメールに対応していないこと | Microsoft Learn: Office 365 Outlook connector | 2026-10-06 |
| プロンプトを Power Automate の「Run a prompt」のアクションで使えること。2025年5月に「Create text with GPT using a prompt」から名前が変わったこと。Azure OpenAI Service の GPT のモデルで動き、利用できる地域が限られ、利用の上限や混雑による制限がありうること。「Start and wait for an approval of text」で人の確認を挟む手順 | Microsoft Learn: Use your prompt in Power Automate | 2026-10-06 |
| プロンプトの出力を JSON にでき、既定の「Auto detected」と、例を編集した「Custom」があること。保存時に形式が固定されること。「A JSON could not be generated」の対処として「Don't include JSON markdown in your answer」を足すこと。スキーマを編集できず、項目名の無い配列は定義できないこと | Microsoft Learn: JSON output | 2026-10-06 |
| SharePoint のコネクタの「Create item」「Add attachment」「Get items」(OData のフィルターと取得件数の指定)。リストの項目の添付で90MBまでのサイズに対応すること | Microsoft Learn: SharePoint connector | 2026-10-06 |
荷主への報告の期限と様式、事故の責任や弁償の扱いは、荷主との契約と自社の規程に従ってください。 本記事は製品の公開ドキュメントで確認できた範囲だけを扱っています。
実装ステータス:構成例。 公開仕様に基づいて設計した構成であり、当社で実際に構築・検証したものではありません。工数の数値はモデル条件による試算です。
自社の業務に使えるAI活用候補を整理します
このユースケース(UC-0501)についてのご相談はこちらから。
