Media > AI活用ユースケース > カスタマーサポート > ホテルの代表メールアドレスに届くメールを、予約・問い合わせ・営業・請求・苦情に分類して担当の部署へ回し、返事が止まっているものを拾う

ホテルの代表メールアドレスに届くメールを、予約・問い合わせ・営業・請求・苦情に分類して担当の部署へ回し、返事が止まっているものを拾う

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

ホテルの代表メールアドレスに届くメールを、届いたその場で予約・問い合わせ・営業・請求・苦情・その他に分け、担当の部署のフォルダとチャネルへ回します。部署から返事が出ていないものを、決めた時間ごとに拾って知らせます。

サマリー
生成AI
Azure OpenAI Service/ChatGPT
連携・自動化
Make/Power Automate/Zapier
対象業界
宿泊/飲食
対象部門
カスタマーサポート
対象業務
分類・仕分け/問い合わせ対応
主な課題
人手が足りない/問い合わせが多い/期限・対応漏れが起きる
AIで行う処理
分類
主な効果
対応スピード向上/工数削減/機会損失防止
導入難易度
★☆☆☆☆
実装レベル
半自動化
費用感
ノーコード連携(中)
人間の確認
必須
現在工数
120h/月
AI導入後
30h/月
想定削減
75%
年間削減
1,080h
モデル条件による試算値です。実在企業の実績ではありません。

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

導入前(Before)
  1. フロント・予約の担当が、手の空いたときに代表アドレスの受信箱を開く
  2. 未読のメールを上から開き、何の用件かを読む
  3. どの部署に回すかを決め、その部署の担当者へ転送する
  4. 自分で答えられる簡単な問い合わせ(アクセス・駐車場・チェックインの時間)は、その場で返事を書く
  5. 転送したメールに、Outlook のフラグか分類の色を付ける
  6. 気になったものは、数日後に部署の担当者に返事が出たかを聞く
  7. 宿泊客から「返事が来ない」と電話があったら、受信箱と転送の履歴を探す
導入後(After)
  1. 自動代表アドレスの共有メールボックスにメールが届くと、フローが動く
  2. 自動予約サイトや予約管理システムからの自動の通知、配信停止の手続きができる案内メールを、送り主のアドレスで先に除く
  3. 自動残りのメールの件名と本文を AI Builder のプロンプトに渡し、種類・急ぎか・苦情か・言語・要点を JSON で受け取る
  4. 自動受付台帳に1通1行で記録し、受付番号を振る
  5. 自動種類に応じて、共有メールボックスの部署のフォルダへ移し、部署の Teams チャネルに要点を投稿する
  6. 自動苦情、または当日・翌日の宿泊に関わるものは、その日の責任者へもすぐに知らせる
  7. 自動判定できなかったものは「要確認」のフォルダに入れ、フロント・予約の担当へ知らせる
  8. 人部署の担当者が、共有メールボックスから返事を出す
  9. 自動決めた時間ごとに、受付台帳の未返信の行について、送り主宛ての返事が出たかを確かめる
  10. 自動期限を過ぎて返事が出ていないものを、部署のチャネルと担当の責任者に知らせる
  11. 人フロント・予約の担当が、「要確認」と、振り分けが違っていたものを直す
各工程の詳しい説明を読む
  1. フロント・予約の担当が、手の空いたときに代表アドレスの受信箱を開く
  2. 未読のメールを上から開き、何の用件かを読む
  3. どの部署に回すかを決め、その部署の担当者へ転送する
  4. 自分で答えられる簡単な問い合わせ(アクセス・駐車場・チェックインの時間)は、その場で返事を書く
  5. 転送したメールに、Outlook のフラグか分類の色を付ける
  6. 気になったものは、数日後に部署の担当者に返事が出たかを聞く
  7. 宿泊客から「返事が来ない」と電話があったら、受信箱と転送の履歴を探す

(a)開くまで何が届いたか分からない。 受信箱は届いた順に並んでおり、苦情も、当日の到着の連絡も、営業のメールと同じ見え方です。 件名だけでは用件が分からないものも多く、開いて読むまで重さが分かりません。

(b)転送したきりになる。 転送した担当者は、部署から返事が出たかを知りません。部署の側は、転送されたメールが自分宛てなのか、参考に送られただけなのかを迷うことがあります。「返事が来ない」という電話で、初めて止まっていたことが分かります。

(c)苦情が他のメールに埋もれる。 苦情は件名が「先日の宿泊について」のように穏やかなことが多く、開いて読むまで苦情だと分かりません。 読まれるのが夕方になれば、支配人に届くのは翌日です。

(d)振り分けの基準が人によって違う。 宴会の相談を営業課に回す人と、予約課に回す人がいます。同じ旅行会社からのメールが、日によって違う部署へ行きます。

  1. 【自動】 代表アドレスの共有メールボックスにメールが届くと、フローが動く
  2. 【自動】 予約サイトや予約管理システムからの自動の通知、配信停止の手続きができる案内メールを、送り主のアドレスで先に除く
  3. 【自動】 残りのメールの件名と本文を AI Builder のプロンプトに渡し、種類・急ぎか・苦情か・言語・要点を JSON で受け取る
  4. 【自動】 受付台帳に1通1行で記録し、受付番号を振る
  5. 【自動】 種類に応じて、共有メールボックスの部署のフォルダへ移し、部署の Teams チャネルに要点を投稿する
  6. 【自動】 苦情、または当日・翌日の宿泊に関わるものは、その日の責任者へもすぐに知らせる
  7. 【自動】 判定できなかったものは「要確認」のフォルダに入れ、フロント・予約の担当へ知らせる
  8. 【人】 部署の担当者が、共有メールボックスから返事を出す
  9. 【自動】 決めた時間ごとに、受付台帳の未返信の行について、送り主宛ての返事が出たかを確かめる
  10. 【自動】 期限を過ぎて返事が出ていないものを、部署のチャネルと担当の責任者に知らせる
  11. 【人】 フロント・予約の担当が、「要確認」と、振り分けが違っていたものを直す

8番目が、この設計の分かれ目です。 返事を書くのは部署の担当者で、仕組みは返事を書きません。 宿泊客への返事には予約の内容や料金の判断が絡むため、ここは人の仕事として残します。

2番目で自動の通知を先に除くのも、意図してのことです。 予約サイトからの予約通知は、予約管理システムにも同じ内容が入っています。これをプロンプトに渡すと、件数のほとんどを使ってしまい、しかも人が読む必要がありません。

9番目と10番目が、これまで誰もやっていなかった仕事です。 転送した側も受け取った側も追っていなかった「返事が出たか」を、台帳と送信済みのメールで機械的に確かめます。

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

構成図
宿泊客・旅行会社・取引先
   │  代表アドレス宛てのメール
   ▼【トリガー】共有メールボックスへの新しいメールの着信
Power Automate(クラウド フロー)
   ├──▶ 送り主のアドレスで自動の通知を除く
   ├──▶ AI Builder のプロンプト(プロンプトを実行する)
   │       種類/急ぎか/苦情か/言語/要点 を JSON で返す
   ├──▶ SharePoint のリスト(受付台帳)に1通1行で記録
   ├──▶ 共有メールボックスの部署のフォルダへ移す
   ├──▶ 部署の Teams チャネルに要点を投稿
   └──▶ 苦情・当日翌日のものは責任者へも通知
   ▼
部署の担当者が共有メールボックスから返事を出す

【2時間ごと】Power Automate(繰り返し)
   ├──▶ 受付台帳の未返信の行を取得
   ├──▶ 送信済みのメールから、送り主宛ての返事を探す
   ▼
期限を過ぎて止まっているものの一覧 ──▶ 部署のチャネルと責任者
役割想定する製品代替候補
ワークフローPower Automate(クラウド フロー、Office 365 Outlook コネクタ)Make、Zapier
生成AIAI Builder のプロンプト(「プロンプトを実行する」アクション、JSON 出力)Azure OpenAI(Microsoft Foundry)、ChatGPT
保管SharePoint のリスト(受付台帳)Dataverse
受付と返事Office 365 Outlook の共有メールボックス―
通知Microsoft Teams のチャネルOutlook のメール

新しく足すのは、2つのフローと受付台帳のリストだけです。 代表アドレスは変えません。宿泊客にも取引先にも、何も新しく知らせる必要がありません。 共有メールボックスの中に、部署ごとのフォルダを作ります。

トリガーには、Office 365 Outlook コネクタの「When a new email arrives in a shared mailbox (V2)」を使います。 共有メールボックスにメールが届いたときにフローを動かすもので、Original Mailbox Address に共有メールボックスのアドレスを入れます。 フローを作るアカウントに、その共有メールボックスへのアクセス権が要ります。

注意が2つあります。 1つ目は、Office 365 のグループのアドレスは、共有メールボックスのアドレスとして使えないとされていることです。代表アドレスがグループで運用されているなら、共有メールボックスへの切り替えが先です。2つ目は、アクセス権を付けてから反映されるまでに2時間ほどかかることがあるとされていることです。権限を付けた直後にフローが動かなくても、慌てて設定を変えないでください。

生成AIは、フローの中から AI Builder のプロンプトを呼びます。 「プロンプトを実行する」アクションでプロンプトを選ぶと、前のアクションの内容を入力に渡せます。AI Builder は Azure OpenAI サービスを活用した GPT モデルで動き、一部の地域に限定され、使用制限の対象になる場合があるとされています。

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

Step1

処理の起点を決める

代表アドレスの共有メールボックスにメールが届いたことを起点にします。 トリガーは「When a new email arrives in a shared mailbox (V2)」で、Original Mailbox Address に代表アドレスを、Folder に受信トレイを指定します。1通ごとにフローが動くので、届いてから振り分けまでが数分で済みます。

定時にまとめて処理する形にはしません。 1時間ごとにまとめると、苦情が届いてから責任者に知らせるまでに最大1時間かかります。この構成の価値は、受信箱を開く人がいない時間帯にも振り分けが進むことにあります。

返事の止まりの確認は、別のフローで2時間ごとに動かします。振り分けと同じフローに入れると、メールが届かない時間帯に確認が止まります。深夜は止め、朝7時から夜10時までに限ります。 夜中に「止まっている」と知らせても、読む人がいません。

トリガーには、50MBか管理者が決めた上限のどちらか小さいほうを超えるメールを飛ばすこと、保護されたメールや本文・添付が壊れたメールを飛ばすことがあるとされています。飛ばされたメールは受付台帳に載らないので、受信箱に残った未読の数と台帳の件数を毎日比べます。

Step2

入力データを集める

データ中身取得元
メールの本体送り主、件名、本文、受信日時、添付の有無、Conversation Idトリガーの出力
除外する送り主の一覧予約サイト・予約管理システム・決済サービスなど、自動で通知を送るアドレス自社で用意する一覧
部署の対応表種類ごとの部署、フォルダ、Teams のチャネル、返事の期限自社で用意する表
当日・翌日の判定の材料今日の日付フローの式
取引先の一覧旅行会社・法人の取引先のドメイン営業課の一覧

質を決めるのは、2つ目と5つ目です。 除外する送り主の一覧が無ければ、予約サイトの通知がすべてプロンプトに渡ります。取引先のドメインの一覧があれば、旅行会社からの団体の相談を、本文の書き方に関係なく営業へ回せます。

Conversation Id は必ず受付台帳に残します。 同じやり取りの続きのメールを、別の受付として数えないためです。同じ Conversation Id の2通目以降は、新しい受付にせず、既存の行に「続報あり」と付けます。

Step3

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

メールの本体は、トリガーの出力からそのまま取ります。本文は HTML で届くことが多いため、プロンプトに渡す前にテキストにします。

取るものどこから何に使うか
件名・本文・送り主トリガーの出力種類と急ぎかの判定
Message Idトリガーの出力フォルダへの移動、フラグ
Conversation Idトリガーの出力続報のまとめ、返事の確認
部署の対応表SharePoint のリスト移すフォルダ、投稿するチャネル、期限
送信済みのメール「Get emails (V3)」(Original Mailbox Address に代表アドレス)返事が出たかの確認

返事の確認は、「Get emails (V3)」で共有メールボックスの送信済みのフォルダを見ます。 このアクションには Original Mailbox Address があり、共有メールボックスのメールを取れます。ただし、宛先・送り主・件名などの絞り込みは、フォルダの最初の250通に対して行われるとされています。 送信済みが多いと絞り込みから漏れるため、フォルダ全体を探せる Search Query(Outlook の検索と同じ書き方)で、送り主のアドレス宛てのものを探します。

部署の担当者が、共有メールボックスから返事を出す運用にそろえます。 個人のアドレスから返事を出すと、共有メールボックスの側に返事の記録が残らず、返事が出ているのに「止まっている」と知らせ続けることになります。 共有メールボックスから送った返事がどのフォルダに残るかは、最初に試して確かめます。

Step4

AIへ渡す前に整形する

  1. 自動の通知を除く … 送り主のアドレスが除外の一覧に当たるものは、プロンプトに渡さず「自動通知」のフォルダへ移します
  2. 続報をまとめる … 受付台帳に同じ Conversation Id の行があれば、新しい受付にせず「続報あり」を付けて、その行の部署へ回します
  3. 本文をテキストにする … HTML のタグを除き、引用された過去のやり取り(「-----Original Message-----」以降など)を切り落とします
  4. 長さをそろえる … 本文の先頭から決めた文字数までを渡します。署名と免責の文言は、長さを食うので切り落とします
  5. 取引先のドメインを当てる … 送り主のドメインが取引先の一覧にあれば、「取引先」の印を付けてプロンプトに渡します
  6. 添付の有無を渡す … 添付の中身は渡しません。「添付あり」と、ファイル名だけを渡します

3番目を軽く見ないでください。 返信の繰り返しで、本文の下に過去のやり取りが何通分も付いていることがあります。そのまま渡すと、過去の苦情の文面に引きずられて、お礼のメールを苦情と判定します。

6番目で添付の中身を渡さないのは、請求書や旅券の写しが付いていることがあるからです。 振り分けに中身は要りません。

Step5

AIに処理させる

させるのは、1通ごとに種類・急ぎか・苦情か・言語・要点を判定することだけです。 返事の文面は作りません。

判定するもの選択肢判断できないときの扱い
種類予約/問い合わせ/営業/請求/苦情/その他unknown にして「要確認」へ
急ぎか当日・翌日の宿泊や来館に関わる/それ以外日付が書かれていなければ「それ以外」
苦情か苦情・不満の表明を含む/含まない迷えば「含む」
言語日本語/英語/その他の言語名―
要点誰が、何を求めているかを60字以内―

種類の中身は、対応表と同じ言葉で決めておきます。

種類中身回す部署
予約宿泊の新規・変更・取消、人数や日程の相談予約課
問い合わせアクセス・駐車場・設備・館内のサービス・忘れ物フロント
営業団体・法人の宿泊、宴会・会議室、旅行会社からの相談営業課
請求請求書・領収書の発行、支払・返金の確認、仕入先からの請求経理
苦情滞在や応対への不満、改善の求め支配人とフロントの責任者
その他求人への応募、取材の依頼、営業の売り込み総務

苦情の「迷えば含む」は、片側に倒した判断です。 苦情でないものを苦情として支配人に知らせても、支配人が1通読むだけで済みます。苦情を苦情でないとして流すと、翌日の電話になります。

させないこと理由
返事の文面を作る予約の内容・料金・返金の判断が絡む。部署が書く
予約の有無を確かめる予約管理システムに触れない
送り主の重要度を決める取引先かどうかはドメインの一覧で決める
添付の中身を読む振り分けに要らない。個人情報を広げない
Step6

指示内容を固定する

あなたはホテルの代表メールアドレスに届いたメールを、担当の部署へ回すために
仕分ける係です。返事は書かないでください。

【種類(category)】次のどれか1つ
- reservation ... 宿泊の新規・変更・取消、人数や日程の相談
- inquiry ....... アクセス・駐車場・設備・館内のサービス・忘れ物の問い合わせ
- sales ......... 団体・法人の宿泊、宴会・会議室、旅行会社からの相談
- billing ....... 請求書・領収書の発行、支払・返金の確認、仕入先からの請求
- complaint ..... 滞在や応対への不満、改善の求め
- other ......... 求人への応募、取材の依頼、売り込み
- unknown ....... 上のどれとも決められない

【厳守事項】
- 本文に書かれていることだけで判断してください。推測で補わないでください。
- 不満の表明が少しでも含まれていれば、is_complaint を true にしてください。
  丁寧な言葉づかいでも、不満が書かれていれば true です。
  種類が reservation や billing でも、不満が含まれていれば is_complaint は true です。
- 本文に宿泊日・来館日が書かれており、それが今日({today})か明日なら
  is_urgent を true にしてください。日付が書かれていなければ false です。
  日付を推測しないでください。
- 送り主が取引先({is_partner})でも、種類は本文の内容で決めてください。
- summary は「誰が、何を求めているか」を60字以内の日本語で書いてください。
  氏名・電話番号・予約番号・カード番号を summary に書かないでください。
- language には本文の言語を書いてください。
- 迷ったときは category を unknown にしてください。それらしい種類を選ばないでください。
- 回答に JSON マークダウンを含めないでください。

【件名】{subject}
【送り主のドメイン】{sender_domain}
【添付】{attachment_names}
【本文】{body_text}

「丁寧な言葉づかいでも true」を書かないと、苦情を拾い損ねます。 ホテルに届く苦情は「大変残念に思いました」のような穏やかな書き方が多く、何も言わなければ、言葉の強さで苦情かどうかを決めてしまいます。

「種類が reservation でも is_complaint は true」も同じ理由です。 「予約の変更をお願いしたいのですが、先日の電話の対応が不十分で」というメールは、種類としては予約で、同時に苦情です。種類と苦情を別の項目にしているのは、この重なりを落とさないためです。

summary に氏名や予約番号を書かせないのは、要点を Teams のチャネルに投稿するからです。 チャネルは部署の全員が見ます。詳しい中身は、共有メールボックスのメールそのものを開いて読みます。

厳守事項の最後の1行は、JSON の検証が通らないときの対処として公式に挙げられているものです。 モデルが JSON をマークダウンで囲むと、形式の検証が通らないことがあります。

Step7

出力形式を固定する

次の形の JSON で受け取ります。

{
  "category": "reservation | inquiry | sales | billing | complaint | other | unknown",
  "is_urgent": false,
  "is_complaint": false,
  "language": "ja",
  "summary": ""
}

1つ目の理由は、受付台帳の列にそのまま入れられることです。 種類・急ぎか・苦情か・言語・要点がそれぞれ1つの列になり、部署ごと・種類ごとの件数を台帳から数えられます。

2つ目は、形式を固定できることです。 プロンプトの出力を JSON にし、JSON の例を自分で書き換えると形式が「カスタム」になり、プロンプトをもう一度テストしても形式が変わりません。 保存すると、フローではその形式が使われます。台帳の列に入れる前提なので、ここは「カスタム」で固定します。 なお、キーの無い配列のような形は使えないとされています。

3つ目は、is_urgent と is_complaint を種類と別にしていることです。 フローはこの2つを見て責任者への通知を足すだけで、種類による部署の振り分けとは独立に動きます。

受付台帳の1行は、次の列を持ちます。

列中身
受付番号フローが振る番号
受信日時・送り主・件名トリガーの出力
Message Id・Conversation Idトリガーの出力
種類・急ぎか・苦情か・言語・要点プロンプトの JSON
回した部署・返事の期限部署の対応表
返事の状態未返信/返信済み/対応不要
振り分けの直し直した後の種類と、直した人
Step8

システムへ連携する

つなぎ先方式内容
共有メールボックス「When a new email arrives in a shared mailbox (V2)」着信を検知する
共有メールボックス「Move email (V2)」(Original Mailbox Address)部署のフォルダへ移す
AI Builder のプロンプト「プロンプトを実行する」種類と要点を返す
SharePoint のリスト項目の作成・更新受付台帳
Microsoft Teamsチャネルへの投稿部署への知らせ、止まりの知らせ
共有メールボックス「Get emails (V3)」(Original Mailbox Address)送信済みから返事を探す

フォルダへの移動は「Move email (V2)」で行います。 同じメールボックスの中のフォルダへ移すアクションで、Original Mailbox Address に共有メールボックスのアドレスを入れます。受信トレイには、まだ振り分けの済んでいないものと「要確認」だけが残ります。

予約管理システムには触れません。 予約の変更のメールを読んでも、予約そのものを変えるのは予約課の担当者です。この構成が予約に書き込む経路はありません。

コネクタには、接続ごとに60秒あたり300回という呼び出しの上限があります。繁忙期に1時間で数十通が届いても収まる量ですが、止まりの確認のフローで送信済みを1件ずつ探すと回数が増えます。 確認は未返信の行だけに絞ります。

Step9

人が確認する

人が全件を確かめる必要はありません。 部署の担当者は自分のフォルダに入ったメールを読んで返事を書くだけで、振り分けが違っていれば、そこで気づきます。

  1. 「要確認」のフォルダを見る … フロント・予約の担当が、1日に数回見て、正しい部署へ移します
  2. 振り分けの違いを直す … 部署の担当者が、自分宛てでないメールを受付台帳の上で正しい種類に直します。フローは直された種類の部署へ移し直します
  3. 苦情の通知を受ける … 責任者は、苦情と判定されたものを読み、誰が返すかを決めます
  4. 止まりの知らせを受ける … 部署の責任者が、期限を過ぎたものの担当を決め直します

2番目の記録を必ず残してください。 どの種類からどの種類に直されたかがたまると、プロンプトの種類の説明のどこが曖昧かが分かります。 宴会と宿泊の団体の境目は、たいていここで見つかります。

目標は1,800通をならして1通1分です。 振り分けが合っていれば、部署の担当者がフォルダを開いた時点で仕分けは終わっており、人が使う時間は「要確認」と直しと止まりの対応だけです。

Step10

例外に対処する

起きること対応
プロンプトが JSON を返さない「要確認」のフォルダへ移し、受付台帳に unknown で記録
本文が空で添付だけ種類を unknown にして「要確認」へ
外国語のメール種類は判定させ、言語を台帳に残す。訳は部署が必要に応じて行う
同じ人から同じ内容が2通Conversation Id が違えば別の受付。要点が同じなら担当者が台帳でまとめる
トリガーがメールを飛ばす受信トレイの未読の数と台帳の件数を毎日比べる
アクセス権を付けた直後に動かない反映に2時間ほどかかることがある。時間をおいて試す
予約サイトの新しい通知のアドレス除外の一覧に足す
部署の担当者が個人のアドレスから返事を出す止まりの知らせが続く。共有メールボックスから出す運用に戻す

上から3行目は、ホテルではよく起きます。 種類の判定は外国語のメールでも行えますが、要点は日本語で書かせます。 部署の担当者が、本文を訳す前に何の用件かを知るためです。

最後の行が、運用の最初の1か月で最も多い問い合わせになります。 止まりの知らせを受けた担当者が「もう返した」と言うときは、たいてい個人のアドレスから返しています。

Step11

記録を残す

  • 受付台帳(1通1行。種類・急ぎか・苦情か・要点・回した部署・返事の状態)
  • プロンプトに渡した件名と本文の長さ、返ってきた JSON
  • 振り分けを直した記録(どの種類からどの種類へ、誰が)
  • 止まりの知らせを出した日時と、その後に返事が出た日時
  • 除外の一覧で除いたメールの件数(送り主ごと)
  • フローの実行の履歴(失敗した実行と、その理由)

3つ目の「直した記録」が、プロンプトを直す材料になります。 月に1回、直された件数を種類ごとに数え、多いところの説明を足します。

4つ目は、部署ごとの返事の速さを見る材料になります。 止まりの知らせが特定の部署に集中するなら、その部署の人手か、返事の期限の決め方に理由があります。

04実装レベルの3段階

最小構成:メールを手でAIの画面に貼り、種類と苦情かを判定させる / 種類の分け方の確認
半自動化:上記+共有メールボックスへの着信でフローを動かし、部署のフォルダへ移して受付台帳に記録し、止まりを知らせる / 振り分け・記録・止まりの確認
本格構成:上記+予約管理システムの予約番号と照らして当日・翌日の判定を確かにし、よくある問い合わせには返事の下書きを添える / 振り分けと返事の準備

この記事の想定は半自動化です。 1通4分が1分になるのはこの段階で、仕分けと追いかけはここでほぼ無くなります。 本格構成は、半自動化を数か月回してから考えます。 予約管理システムとつなぐと当日・翌日の判定は確かになりますが、予約の情報を扱う範囲が広がり、作る手間も大きくなります。 返事の下書きも、どの問い合わせが多いかが台帳から分かってから足すほうが、外れが少なくなります。 段階を飛ばさないでください。 半自動化の受付台帳を1か月見ると、除外すべき自動の通知と、直しの多い種類の境目が先に分かります。

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

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

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

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

AI活用について相談する

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

向いている
  1. 客室数が百室から数百室のホテル・旅館で、Webサイトや予約確認のメールに載せている代表のメールアドレスに、宿泊客・旅行会社・取引先からのメールが毎日数十通届く場合。フロントや予約の担当が手の空いたときに受信箱を開き、部署ごとに転送している場合。Microsoft 365 を使っており、代表アドレスが共有メールボックスになっている場合。
向いていない
  1. 代表アドレスに届くメールが1日に数通で、担当者1名が全件をすぐに読める場合。予約の変更や取消の大半を予約サイトの管理画面で受けており、メールで届くものがほとんど無い場合。代表アドレスが個人のメールボックスや Microsoft 365 のグループのアドレスで運用されている場合(共有メールボックスへの切り替えが先)。なお、苦情への応対の方針や返金の判断は、この構成では代替できません。

07最小構成で試す方法

  1. 代表アドレスの受信箱から、先週届いたメールを50通選ぶ(苦情を数通含める)
  2. それぞれについて、当時どの部署へ回したかを書き出す
  3. 50通の件名と本文を、手元のAIサービスの画面に1通ずつ貼り付ける
  4. 第7章のプロンプトの種類の説明を貼り、「どれに当たるか、苦情を含むか、当日・翌日に関わるかを答えてください」と指示する
  5. 出てきた種類を、当時回した部署と突き合わせる

ここでは、フローを作る前に「種類の分け方で振り分けが決まるか」を確かめます。

出てきた内容判断
当時の振り分けとほぼ同じフローを組む段階に進む
宴会と宿泊の団体で分かれる種類の説明を足す。構成は有効
当時の振り分け自体がばらばら部署の対応表を決めるのが先。 AIの問題ではない

3行目が出ることは珍しくありません。 失敗ではなく、(d)の振り分けの基準の違いが、目に見える形になったということです。 先に部署の責任者と対応表を決めてから、同じ50通で試し直してください。

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

問題対策
代表アドレスがグループのアドレス共有メールボックスのアドレスとして使えない。 先に切り替える
権限を付けた直後にフローが動かない反映に2時間ほどかかることがある
予約サイトの通知で件数がふくらむ送り主のアドレスで先に除く
引用された過去のやり取りに引きずられる引用部分を切り落としてから渡す
穏やかな苦情を拾い損ねる言葉づかいでなく不満の表明で決めるよう指示に書く
種類と苦情が重なるものを落とす種類と is_complaint を別の項目にする
返事が出ているのに止まりの知らせが続く共有メールボックスから返事を出す運用にそろえる
送信済みが多くて返事が見つからない絞り込みでなく Search Query で探す
JSON の形式がテストのたびに変わる「カスタム」で固定して保存する
チャネルの投稿に個人情報が出る要点に氏名・番号を書かせない
夜中に止まりの知らせが飛ぶ確認のフローを朝から夜までに限る

上の2行は、作り始めた日に当たります。 どちらもAIの問題ではなく、代表アドレスの運用の問題です。 最初に情報システムの担当と確かめてください。

下から5行目が、運用に入ってから最も多い声になります。 止まりの知らせは、返事の記録が共有メールボックスに残る運用とセットで初めて正しく動きます。

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

この構成で扱うデータ: 宿泊客・取引先の氏名とメールアドレス、宿泊日、予約の内容、苦情の中身、そして添付される請求書や旅券の写しです。

  1. プロンプトに渡す範囲を絞る … 渡すのは件名・本文・送り主のドメイン・添付のファイル名までにし、添付の中身は渡しません
  2. チャネルに出す範囲を絞る … Teams に投稿するのは要点と受付番号だけにし、氏名・電話番号・予約番号・カード番号は要点に書かせません
  3. データを処理する地域を確かめる … AI Builder のプロンプトは一部の地域に限定された機能です。自社の環境で、どの地域で処理されるかを管理者と確かめてから使います
  4. 返事を自動で送らない … 返事は部署の担当者が書いて送ります。苦情への返事は特に、自動にしません
  5. 共有メールボックスの権限を絞る … フローの接続に使うアカウントと、各フォルダを見られる人を決めます。経理のフォルダには請求書が、支配人のフォルダには苦情が集まります
  6. 受付台帳の保存期間を決める … 要点と送り主が1行にまとまった一覧です。いつまで残すかを決めておきます

誤りが起きた場合のリスクは、苦情や急ぎのメールが別の部署のフォルダに入って遅れることと、要点に個人情報が出て部署の外に広がることの2つです。 前者は「迷えば苦情」と止まりの確認で、後者は要点の書き方の決まりで守ります。

10まず何から始めるか

1週目:部署の対応表を決める

種類ごとに回す部署、フォルダ、Teams のチャネル、返事の期限を表にします。宴会と宿泊の団体、忘れ物、領収書の再発行の境目を、部署の責任者どうしで決めます。

2週目:50通で試す

先週のメールから50通を選び、手元のAIサービスで種類を判定させて、当時の振り分けと比べます。苦情を拾えているかを最優先で見ます。

3週目:共有メールボックスと除外の一覧を整える

代表アドレスが共有メールボックスであること、フローのアカウントにアクセス権があることを確かめます。予約サイトや予約管理システムの通知の送り主を集めて、除外の一覧を作ります。 部署の担当者に、共有メールボックスから返事を出す運用を伝えます。

4週目:振り分けのフローを動かす

着信から、プロンプト、受付台帳、フォルダへの移動、チャネルへの投稿までをつなぎます。この時点では止まりの確認を入れず、振り分けの直しの件数だけを毎日数えます。

2か月目: 止まりの確認のフローを足し、期限を過ぎたものを知らせ始めます。3か月目以降: 直しの記録からプロンプトの種類の説明を見直し、1通4分が何分になったかを実測します。苦情が届いた日のうちに責任者に読まれ、「返事が来ない」という電話が減った時点で、この構成は完成です。


11関連ユースケース

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

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

技術仕様確認日:2026-10-07/最終更新:2026-10-07
確認した内容情報源確認日
トリガー「When a new email arrives in a shared mailbox (V2)」が共有メールボックスへの着信でフローを動かし、Original Mailbox Address と Folder を指定すること。50MBか管理者の上限を超えるメール、保護されたメールなどを飛ばすことがあること。「Get emails (V3)」「Move email (V2)」に Original Mailbox Address があること。Get emails (V3) の絞り込みがフォルダの最初の250通に対して行われ、Search Query でフォルダ全体を探せること。メールの出力に Conversation Id があること。Office 365 のグループのアドレスは共有メールボックスのアドレスに使えないこと。権限の反映に2時間ほどかかることがあること。接続ごとに60秒あたり300回の呼び出しの上限Microsoft Learn: Office 365 Outlook connector2026-10-07
「プロンプトを実行する」アクションでプロンプトを選び、前のアクションの内容を入力に渡せること。AI Builder が Azure OpenAI サービスを活用した GPT モデルで動き、一部の地域に限定され、使用制限の対象になる場合があることMicrosoft Learn: Power Automate でプロンプトを使用する2026-10-07
プロンプトの出力を JSON にでき、JSON の例を更新すると形式が「カスタム」になってテストしても更新されないこと。保存した形式がクラウド フローで使われること。JSON の生成に失敗するときは「回答に JSON マークダウンを含めないでください」を指示に足すこと。キーの無い形式は使えないことMicrosoft Learn: JSON 出力2026-10-07

苦情への応対の方針と返事の期限は、自社の責任者で決めてください。 本記事は上の公開仕様で確認できた範囲だけを扱っています。

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

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

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

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