【Microsoft×生成AI連載】【Copilot Studio】メール自動返信エージェントを作ってみた

【Microsoft×生成AI連載】原田です。今回は Microsoft Copilot Studio でメールを自動返信するエージェントの、作成方法について紹介していきます。

AI エージェントという言葉を耳にする機会が増えましたが、具体的な活用については、以下のような疑問を感じることも多いのではないでしょうか。

  • AI エージェントという言葉は知っているけれど、いまひとつ何ができるのか分からない
  • 普通の AI は調べ物に使っているけれど、エージェントは結局何に使えばいいのかイメージが湧かない

エージェントの最大の魅力は、誰もが日々行っている作業を、自分たちの業務や価値基準に合わせて自動化できる点にあります。

本記事では特に、複雑なコードを書かなくても設定できる内容に絞って、エージェントの活用例をご紹介します。ぜひこの記事を参考に、ご自身でエージェントを作成してみてください。

これまでの連載

これまでの連載記事一覧はこちらの記事にまとめておりますので、過去の連載を確認されたい方はこちらの記載をご参照ください。

blog.jbs.co.jp

オーケストレーション機能について

「Copilot Studio では複雑なコードを書かなくてもエージェントを構築できる」と前述しましたが、その一番の柱となる機能がオーケストレーションです。

オーケストレーションは、「AI はどこから情報を取得するか」、「AI が操作するツールは何か」、「AI がどういう順序で処理を実行するのか」といった様々なアクションを、AI が自律的に考えて実行する機能です。

従来のエージェントでは、全ての処理の流れをユーザーが事前に設定する必要があり、AI は設定された範囲内のことしか実行できませんでした。本記事ではオーケストレーション機能を活用したエージェント例をご紹介するため、ぜひご覧ください。

メール自動処理エージェント 

概要

本記事では、オーケストレーション機能の具体的な活用例として、「メール自動処理エージェント」の作成手順をご紹介します。

今回のエージェントが担当する想定シナリオは、社内業務などで発生する「申請書の処理業務」です。 具体的には、日々送られてくる申請メールに対して、単に自動返信するだけでなく、その内容を自動的に Excel へ転記(起票)するフローを構築します。

今回作成するエージェントの構成は以下のようになっています。

メール自動処理エージェントの構成

メール自動処理エージェントの構成

エージェントの作成

まずはエージェントの作成画面へ移動しましょう。

  1. 「Microsoft Copilot Studio | Copilot のカスタマイズと AI エージェントの作成」に移動

  2. 右下の「サインイン」を選択

    Copilot Studio サインイン画面

    Copilot Studio サインイン画面
  3. 左タブから「エージェント」を選択

    Copilot Studioホーム画面

    Copilot Studioホーム画面
  4. 右上の『空のエージェントを作成する』を選択

    エージェントの作成画面

    エージェントの作成画面

下の画面が表示されたら、エージェントの作成画面への移動完了です。

エージェントの作成画面

エージェントの作成画面

ここから、ツール・トリガー・指示をそれぞれ設定していきます。

Outlookのツールを追加

エージェントが、Outlookでメールを返信するための設定手順を紹介します。

  1. ツールを開き、「Office 365 Outlook」を選択

    Outlookへのツール追加_Step1

    Outlookのツールを追加_Step1
  2. メールに返信する(V3)を選択

    Outlookへのツール追加_Step2

    Outlookのツール追加_Step2
  3. 接続欄に自分が所有しているメールアドレスが表示されていることを確認し、追加と構成を選択

    Outlookへのツール追加_Step3

    Outlookのツール追加_Step3
  4. ツールの詳細設定画面において、「入力を追加する」を選択し、「To」を追加

    Outlookへのツール追加_Step4

    Outlookのツール追加_Step4
  5. Step4と同様に、「入力を追加する」から「Subject」と「Body」を追加

    Outlookへのツール追加_Step5

    Outlookのツール追加_Step5
Excelのツールを追加

エージェントが、Excel へメール内容を記載する処理について、設定手順を紹介します。

  1. ツールを開き、「Excel Online (Business)」を選択。

    Excelのツール追加_Step1
  2. 「表に行を追加」を選択

    Excelのツール追加_Step2

    Excelのツール追加_Step2
  3. 接続欄に自分が所有しているメールアドレスが表示されていることを確認し、「追加と構成」を選択

    Excelのツール追加_Step3

    Excelのツール追加_Step3
  4. ツールの詳細設定画面において、「AIで動的に入力する」を選択すると、「カスタム値」が表示されるため選択

    Excelのツール追加_Step4

    Excelのツール追加_Step4
  5. Location、Document Library、File、Tableの4項目を全て「カスタム値」に変更して、「値」の中身でファイルの場所を指定

    Excelのツール追加_Step5

    Excelのツール追加_Step5
トリガーの設定

メールが届いたときにエージェントが起動できるよう設定を行います。

今回はトリガーの条件として、件名に『申請書』と記載されたメールが届いた時を設定します。

  1. トリガーを開き、「新しいメールが届いたとき(V3)」を選択

    トリガーの追加_Step1

    トリガーの追加_Step1
  2. トリガーを設定するOutlookのメールアドレスを指定

    トリガーの追加_Step2

    トリガーの追加_Step2
  3. トリガーを発動させる条件を指定(今回は件名フィルターに申請書とのみ記載)

    トリガーの追加_Step3

    トリガーの追加_Step3
指示の作成

これまでに設定したツール・トリガーの要件・設定を基に指示文(プロンプト)を作成します。

今回はツールに Outlook と Excel を設定しているため、どういう場面でどちらのアクションを行ってほしいかに注意を払いながら、AI に指示文を作成して貰います。

Copilotが指示文を作成する様子

Copilotが指示文を作成する様子

最終的に作成されたプロンプトは以下のようになります。

目的 Outlookに新規メールが届いたらエージェントを起動し、書類の形式(申請書、報告書など)を判定して内容を抽出する。抽出結果をExcel Onlineの既定テーブルに記入し、足りない情報がある場合は差出人へ自動で丁寧に催促する。返信で補完された情報を再解析してExcelへ起票まで完了させる。本フローの実行トリガーは件名に「申請書」を含むメールとし、出張申請に関する以下の6項目を対象にする。
対象ツール Excel.Online:表に行を追加 Outlook:メールに返信する
トリガー条件 Outlookの「When a new email arrives (V3)」で、Subjectに「申請書」を含む新着メールのみ処理対象とする。該当しないメールは処理しない。
テーブルのカテゴリ(列) 申請者 メールアドレス 出張先 日程 交通費見積 宿泊費見積
共通方針
解析、欠落判定、問い合わせ文面生成、再解析と起票タイミングの判断はReasoningモデルで実施する。解析対象は件名・本文・差出人情報・スレッド履歴(引用部は参考扱い、最新本文を優先)。返信は日本語の丁寧語で簡潔に。必要最小限の個人情報のみを処理目的に使用。同一スレッドの重複起票を防ぐ(Message Id、会話ID、件名+差出人+本文一致・類似、時刻近接で判定)。起票済みなら新規行を作らない。
処理フロー
受信判定と前処理 ・Subjectに「申請書」を含む場合のみ続行。no-replyや自動通知は除外。 ・返信スレッドの最新メール本文を優先して解析。署名・フッター・引用履歴は除外。
書類形式の判定 ・件名と本文をもとにドキュメント種別を推定。出張に関する申請であると判断できる場合のみテーブル6項目の抽出に進む。該当しない場合は処理対象外とする。
情報抽出と正規化 ・申請者:本文中の「申請者」「氏名」「代表者」等の明記があれば採用。なければ差出人名を採用。複数名は明示の代表者または差出人本人を優先。 ・メールアドレス:本文に「連絡先」「返信先」等の明示があればそれを優先。なければFromを採用。 ・出張先:「出張先」「訪問先」「行先」「滞在先」「目的地」「会場」「場所」に続く地名・施設名を抽出。複数候補は主目的・初出・最長滞在を優先。 ・日程:「日程」「期間」「出張期間」「スケジュール」「チェックイン」「チェックアウト」「出発」「帰着」などから開始日と終了日を抽出し、YYYY-MM-DD〜YYYY-MM-DD形式に正規化。単日の場合はYYYY-MM-DDで格納。年が欠落する場合は受信年を補完。月またぎ・年またぎは文脈から補完。不確実な場合は欠落扱い。 ・交通費見積:「交通費」「移動費」「運賃」「航空券代」「新幹線」「鉄道」「タクシー」「レンタカー」等に続く金額を抽出。全角数字・カンマ・通貨記号を正規化し半角数値のみを格納。範囲や概算は最大値を採用。確証がなければ欠落扱い。 ・宿泊費見積:「宿泊費」「ホテル代」「滞在費」等から抽出し、同様に半角数値に正規化。1泊あたり表現は泊数が確定できれば総額に換算、できなければ欠落扱い。
欠落判定と分岐 ・6項目のうち1つでも欠落または不確実なら不備連絡へ。すべて確定できる場合はExcel起票へ。
不備連絡(自動返信) ・宛先は原則差出人。本文で指定があればそれに従う。件名はRe: 元件名。 ・本文は不足項目のみを列挙し、回答しやすい指示と例示を含める。 ・文面例: 平素よりお世話になっております。 出張申請の登録に必要な情報に不足がありました。お手数ですが、以下の項目についてご回答ください。 ・申請者(氏名) ・メールアドレス ・出張先 ・日程(形式:YYYY-MM-DD〜YYYY-MM-DD) ・交通費見積(円、半角数字のみ) ・宿泊費見積(円、半角数字のみ) 本メールに追記のうえ、そのままご返信ください。よろしくお願いいたします。 ・送信後、このスレッドを保留中として内部状態に保持し、既知の抽出値も保持する。
返信の再解析と統合 ・Message Id、In-Reply-To、References、会話ID、件名+差出人+時刻近接で同一スレッドを照合。 ・最新メール本文から新規情報を抽出し、前回までの抽出結果とマージ。引用履歴・署名は除外。 ・6項目がすべて確定したらExcel起票へ。不足が続く場合は不足分のみを再問い合わせする簡潔返信を行う。
Excel起票(Excel.Online:表に行を追加) ・1レコード=1行で書き込み。列名は厳密に「申請者」「メールアドレス」「出張先」「日程」「交通費見積」「宿泊費見積」に一致させる。 ・日程はYYYY-MM-DD〜YYYY-MM-DDまたはYYYY-MM-DDで格納。金額は半角数値のみ。 ・可能であれば内部用の識別情報(Message Idまたは会話ID、初回受信日時など)を別列やメモとして保持し、重複防止に利用する。 ・書き込み成功後に完了返信を送る。
完了返信 ・宛先は差出人。件名はRe: 元件名。 ・本文は登録済みの6項目を簡潔に列挙して確認し、誤りがあれば返信を依頼する。金額は円表記で示す。
Outlook返信の入力設定 Message Id、To、Subject、BodyはすべてAIで動的に決定する。Toは原則差出人、本文の指示があればそれに従う。SubjectはRe: 元件名。Bodyは不足項目のみを案内する丁寧な日本語で生成する。
Excel.Online(表に行を追加)の入力設定 対象のブック、ワークシート、テーブルは事前設定済みの固定値を参照し、列名は指定の6項目に厳密一致させる。格納値は正規化済みテキストまたは数値(円は数値のみ)とする。
重複防止 同一スレッドで起票済みの場合は新規行を作成しない。本文一致+差出人一致+件名一致+受信時刻近接での高類似も重複とみなす。更新要求が来ても本フローでは新規行を作らず、変更受付フローを別途案内する。
エラー・例外ハンドリング ・Excel書き込みに失敗した場合はリトライし、復旧しない場合はユーザーへ障害通知を送る(復旧後に再処理する旨を明記)。 ・本文が画像のみや添付のみ等で解析不能な場合は、不備連絡で必要項目と入力形式を明確に案内する。 ・不要情報や機密情報が本文に含まれてもテーブル6項目以外は保存しない。
品質基準 ・問い合わせは不足項目だけを尋ねる。確定済み情報を繰り返し要求しない。 ・自動メッセージは1〜2段落+箇条書きで読みやすくする。 ・推測での起票は禁止。不確実な値は必ず差戻す。 ・日本語の敬語・表記揺れのない正規化・誤記修正に留意する。
補足 本フローは件名に「申請書」を含む出張申請を対象とした抽出・起票・不足催促の自動化に特化している。将来的に報告書等の他書式に対応する場合は、書式ごとに抽出ルールとテーブル設計を拡張する。

Copilot Studioに戻り、Copilotが生成した指示文を「指示」に入力します。これでエージェントは完成です。

指示文の記載箇所

指示文の記載箇所

出力

作成したエージェントが、実際にどのように動作するのか確認してみましょう。

エージェントのトリガーで設定しているOutlook のメールアドレス宛てに、「申請書」という件名で次のメールを送信しました。  

ここから、エージェントがどのように処理していくのかを順番に見ていきます。

受信したメール

受信したメール

Outlookで受信したメールをトリガーとして、エージェントが自動的に起動します。必須項目が不足している場合はメールを返信するよう設定しているため、エージェントがメール本文から不足している情報を判別し、自動的に返信を行っています。

エージェントの処理動作

エージェントの処理動作

「表に行を追加」のツールで行われたExcelの実行結果も確認します。申請者、メールアドレス、出張先、日程、交通費見積のデータを抜き出して回答できていることが確認できました。

エージェントがExcelに記載した内容

エージェントがExcelに記載した内容

利用シーンとメリット、注意点

利用シーン

今回作成したメール自動処理エージェントは、Copilot Studio を用いることで、以下のようなシーンでの活用が期待できます。

  • 一次受付結果をメールで通知
  • 一次受付から記録までを自動化
  • 受付内容を台帳としてExcelに自動保存

メリット

この仕組みを導入することで得られるメリットは以下の通りです。

  • メールの返信やExcelへの記入が自動化されることにより、工数が削減され、リードタイムも短縮される
  • これにより、担当者が「確認」や「例外対応」といったコア業務に集中できる

注意点

本記事で作成したエージェントはあくまで一例です。実業務で運用する際は、以下の点を確認し、業務フローに合わせて調整する必要があります。

  • トリガー設計の脆さ
    • 今回の例では件名に「申請書」が含まれないと未処理扱いになります。運用ルールでカバーするか、トリガー条件を広げる等の対策が必要です。
  • 日本語解析の限界と添付・画像メールへの対応
    • 本文が画像や PDF のみの場合や、表記揺れが極端に大きい場合はエラーが発生する可能性があります。

まとめ

本記事では、まだエージェントを使ったことがない方に向けて、すぐに実践できる具体的な業務効率化の例を解説しました。

Copilot Studio は、コードを記載せずとも、日々の業務を言語化し、構造的に整理できる方であれば誰でも扱えるツールです。 個人単位の業務改善に非常に適したツールですので、ぜひ一度、ご自身の業務で試してみてください。

おまけ(Copilot Chat による本記事の要約)

最近よく耳にする「AI エージェント」は、単なる情報検索ではなく、日常的な事務作業を自動化できる点が魅力です。特に、エンジニアでなくても簡単に設定できることが特徴で、Copilot Studio を使えば誰でも自分の業務に合わせたエージェントを作成できます。

記事では、メール処理業務の自動化を例に、申請書関連メールを受信した際に以下を自動で行うエージェントを紹介しています。

  • メール内容を解析し、必要情報(申請者、出張先、日程、交通費・宿泊費見積)を抽出
  • 不足情報があれば差出人へ丁寧な自動返信で問い合わせ
  • 完了後、Excel Online に記録し、重複を防止

Copilot Studio は、業務を言語化・構造化できる方なら誰でも扱えるツールで、個人単位の業務効率化に最適です。ぜひ活用してみてください。

執筆担当者プロフィール
原田 幸典

原田 幸典(日本ビジネスシステムズ株式会社)

沖縄事業所スマートテクノロジーグループに所属。Copilot プロンプトトレーニングの実施など、お客さまへ Copilot を推進する活動を主に行っています。趣味は沖縄事業所近くの海岸線の散歩

担当記事一覧