Microsoft Fabric のデータを Teamsチャットで質問できるようにしてみた — Copilot Studio 連携手順

こんにちは!横浜情報機器株式会社のShahinです!
今回は、Microsoft Fabric に蓄積したデータを Copilot Studio のエージェントと接続して、Teams や M365 Copilot から自然言語で問い合わせできる環境を構築する手順を紹介します。
Fabric には売上データ・在庫・ログ・セキュリティ情報など、社内のあらゆるデータを蓄積できます。それをチャットで気軽に質問できる形にするのが「Fabric × Copilot Studio」の組み合わせです。今回は一例として、セキュリティデータを使って実際に構築してみました。ぜひ最後まで読んでみてください。※デモで映りますデータはテスト環境でのデータです。

全体像と仕組み

この構成のポイントは「Fabric のデータ」と「Copilot Studio のエージェント」をつなぐ Fabric データエージェント です。Lakehouse に入っているどんなテーブルでも自然言語から問い合わせられるようになります。

[ 社内の各種データソース(業務システム / ログ / API 等)]
       │ (パイプラインで収集・整形)
       ▼
[ Fabric Lakehouse(任意のテーブル)]
  ├─ 例: セキュリティデータ(alerts / incidents / vulnerabilities)
  ├─ 例: 売上・在庫データ
  ├─ 例: 勤怠・HR データ
  └─ 例: IoT センサーログ など
       │ (SQL Analytics Endpoint)
       ▼
[ Fabric データエージェント ]
       │ (外部エージェント接続)
       ▼
[ Copilot Studio ] ──▶ [ Teams / M365 Copilot / Web チャット ]

必要なライセンスと環境

項目 内容
Microsoft Fabric F2 以上(F64 以上推奨)または Power BI Premium
Copilot Studio Copilot Studio ライセンス(テナント単位)
Fabric ワークスペース Lakehouse とデータエージェントを作成できるワークスペース
Teams 展開 Microsoft 365 ライセンス(Teams 利用可能なプラン)

ファイルをナレッジに追加するのとどう違うの?

Copilot Studio には「ファイルや SharePoint ドキュメントをナレッジとして追加する」機能もあります。では、なぜわざわざ Fabric を経由するのでしょうか。大きな違いはデータの鮮度・量・計算精度にあります。

比較項目 ファイル / ドキュメントをナレッジに追加 Fabric データエージェント経由(今回)
データの鮮度 手動でファイルを差し替える必要がある パイプラインで自動収集しているため常に最新
データ量 ファイルサイズ・件数に上限あり Lakehouse は数百万行でも対応可能
集計・計算 LLM の推測に依存するため誤答が出やすい SQL レベルで正確に集計・フィルタリングできる
向いているデータ 手順書・FAQ・マニュアルなどのテキスト ログ・実績・数値など構造化テーブルデータ
アクセス制御 Copilot Studio 側で別途設定が必要 Fabric Lakehouse の権限をそのまま継承
「今月のアラートは何件?」「売上が先月比でどう変わった?」——こうした集計・比較・最新値を問う質問は Fabric Data Agent が得意です。逆に「〇〇の設定手順を教えて」のようなドキュメント検索は通常のナレッジ追加(SharePoint 等)と組み合わせるのがベストです。

Step 1 Fabricワークスペースを開く

Microsoft Fabric ポータルにサインインし、データエージェントを作成するワークスペースを開きます。

ワークスペースを開きます。
Fabricワークスペースのアイテム一覧

右上の「+新規」または「新しい項目」ボタンをクリックします。

「新しい項目」をクリックします。
Fabricワークスペースで新しい項目を作成する

Step 2 データエージェントを新規作成する

「新しい項目」ダイアログが開きます。ノートブックやデータフローなど様々なアイテムの中から「データ エージェント」を探します。

「データエージェント」を探します。
新しい項目の作成画面

検索ボックスに「データエージェント」と入力すると絞り込めます。選択するとエージェントの構築が始まります。

「データエージェント」を選択します。
データエージェントを検索して選択する画面

名前入力ダイアログが開きます。わかりやすい名前を入力して「作成」をクリックします。

名前を入力して「作成」をクリックします。
データエージェントの作成ダイアログで名前を入力

作成後、データエージェントの構築ガイド画面が表示されます。①データソースの追加 ②データ関数による拡張 ③Azure AI Search の有効化 という3ステップが示されます。

ガイドを確認します。
データエージェント構築の3ステップ説明画面
初期画面を確認します。
データエージェント構築初期設定画面(空の状態)

Step 3 データソース(Lakehouse)を追加する

「データの追加」ドロップダウンから「データソース」を選択します。

「データの追加」→「データソース」を選択します。
データの追加でデータソースを選択する画面

OneLake カタログが開きます。接続したい Lakehouse を選択して「追加」をクリックします。

Lakehouseを選択して「追加」をクリックします。
OneLakeカタログからLakehouseを選択する画面

追加後、画面右上に接続検証中の通知が表示されます。しばらく待つと検証が完了します。

検証完了を待ちます。
データソース接続検証中の通知画面

Step 4 テーブルを選択してAI向け説明を設定する

検証が完了すると左ペインにテーブル一覧が表示されます。テーブル名をクリックすると右ペインでその場でテストできます。まずどんなデータが入っているか確認してみましょう。

テーブル一覧を確認します。
データエージェントのテーブル一覧とテストパネル

AIに問い合わせてほしいテーブルにチェックを入れます。チェックしたテーブルのみがエージェントの回答対象になります。各テーブルの「説明(Description)」欄に、AIが理解しやすい日本語の説明を記入しておくと回答精度が大幅に向上します。

使用するテーブルにチェックを入れ、説明を記入します。
テーブルにチェックを入れてAI向け説明を設定する画面
テーブル名 AI向け説明のポイント(記入例)
securescores セキュアスコア履歴。currentScore÷maxScore で達成率を計算。値が高いほど安全
alerts Defender 検知アラート。severity で Critical/High/Medium/Low に分類。alertCreationTime が発生日時
incidents XDR インシデント。複数アラートをまとめた上位概念。severity, status, createdTime を含む
manageddevices Intune 管理デバイス。complianceState=noncompliant が要対応
userregistrationdetails MFA 登録状況。isMfaRegistered=false のメンバーが未登録者
vulnerabilities MDE 検知の脆弱性。cvssScore と severity で優先度判断。exposedMachines が影響台数
riskyusers Entra ID Protection のリスクユーザー。riskState=atRisk または confirmedCompromised が要対応

Step 5 データエージェントをテストして公開する

右ペインのテストパネルで実際に質問を投げてみます。「今すぐ対応すべき推奨事項 Top 5 は?」など複雑な集計クエリも試してみましょう。

動作をテストします。
データエージェントのテストで推奨事項Top5が表示される様子

動作を確認したら「公開」ボタンをクリックします。公開することで Copilot Studio からこのデータエージェントを参照できるようになります。

「公開」をクリックします。
データエージェントの公開ボタンが強調された画面

公開設定画面でエージェントの説明を入力します。Copilot Studio 側がこの説明を参考にどのアクションを呼ぶか判断するため、丁寧に記載しておきます。

説明文を確認します。
説明文が入力済みの公開設定画面
「公開」をクリックして確定します。
公開ボタンをクリックする確認画面
公開完了を確認します。
データエージェントの公開完了通知

Step 6 Copilot Studioでエージェントを作成する

Copilot Studio にサインインします。トップ画面からエージェントまたはワークフローの作成を選択します。

Copilot Studioにサインインします。
Copilot Studioのトップ画面

左ナビゲーションの「エージェント」をクリックしてエージェント一覧を開きます。

左ナビの「エージェント」をクリックします。
Copilot Studioの左ナビでエージェントを選択する

「+ 空のエージェント」または「エージェントを作成」をクリックして新規作成を開始します。

「+ 空のエージェント」をクリックします。
Copilot Studioのエージェント一覧から新規作成する画面

名前・言語・ソリューションなどの詳細設定ダイアログが開きます。言語は「日本語(日本)」を確認しておきましょう。

言語・ソリューションを設定します。
新規エージェントの詳細設定ダイアログ

エージェント名を入力します。チームメンバーが使うことを意識した、わかりやすい名前をつけます。

エージェント名を入力します。
エージェント名入力ダイアログ

作成後、エージェントの詳細設定画面が開きます。名前・説明・モデル・指示・ナレッジを設定できます。右側のペインでリアルタイムにテストも実行できます。

エージェント設定画面を確認します。
Copilot Studioのエージェント詳細設定画面

Step 7 FabricデータエージェントをCopilot Studioに接続する

エージェント設定画面の「エージェントを拡張する」(または「アクション」)から「エージェントを追加する」を選択します。

「エージェントを追加する」を選択します。
エージェントを追加する画面

「エージェントの拡張方法を選択します」画面が開きます。「外部エージェントに接続する」を選択します。

「外部エージェントに接続する」を選択します。
エージェント拡張方法の選択画面

外部エージェントの接続先として「Microsoft Fabric データエージェント」を選択します。

「Microsoft Fabric データエージェント」を選択します。
外部エージェント接続でMicrosoft Fabricを選択する画面

Fabricデータエージェントへの接続設定画面。初回は接続がないため「新しい接続を作成する」をクリックします。

「新しい接続を作成する」をクリックします。
Fabricデータエージェントへの接続を新規作成する画面
「作成」をクリックします。
接続作成の確認ダイアログ

接続が作成されると接続設定画面に一覧が表示されます。作成した接続を確認して「次へ」をクリックします。

接続を確認して「次へ」をクリックします。
Fabricデータエージェントへの接続設定(既存接続あり)

接続するエージェントの選択画面。Step 5 で公開した「YJK-Security-Agent」を選択します。

接続するエージェントを選択します。
接続するエージェントを選択する画面
選択を確認して次へ進みます。
YJK-Security-Agentが選択された状態

外部エージェントの連携設定画面。エージェント名が自動入力されます。「トリガー説明」欄に、どんな質問のときにこのエージェントを呼び出すかを記載します。

トリガー説明を入力します。
外部エージェント連携設定画面
トリガー説明文のポイント:
以下のように、問い合わせの対象範囲を具体的に書くと回答精度が向上します。
「ユーザーからセキュリティ、アラート、インシデント、デバイス、MFA、脆弱性、パッチ、サインイン、リスクユーザー、Secure Score に関する質問や分析依頼が来た場合、このアクションを呼び出してデータを取得してください。」

エージェントの設定完了画面。接続されたFabricデータエージェントがアクションとして登録されていることを確認します。

入力内容を確認します。
Copilot Studioエージェントの設定完了画面
設定が反映されたことを確認します。
接続後のエージェント設定確認画面

Step 8 テストして公開する

右側のテストパネルで動作確認します。実際に質問を入力してFabricのデータが返ってくるか試してみましょう。

テストパネルで質問してみます。
Copilot Studioのテストパネルでセキュアスコアを問い合わせる

初回テスト時にデータ連携の許可確認が表示される場合があります。「許可」をクリックして続行します。

「許可」をクリックします。
データエージェントのデータ連携許可確認画面

テストの確認が取れたら「公開」ボタンをクリックします。

「公開」をクリックします。
Copilot Studioのテストと公開設定画面

公開ダイアログが表示されます。接続されたチャネル(Teams等)で利用可能にする設定を確認して公開します。

公開設定を確認します。
エージェント公開ダイアログ
公開処理を待ちます。
エージェント公開処理中のダイアログ

Step 9 Teams / M365 Copilotに展開する

公開後、エージェントの概要画面から全体の設定を確認できます。

エージェント概要を確認します。
Copilot Studioのエージェント概要画面

「チャンネル」タブを開き、展開先を選択します。「Microsoft のチャネル」セクションから Teams や M365 Copilot を選べます。

「チャンネル」タブを開きます。
Copilot Studioのチャネル設定画面

M365 Copilot と Teams の両方に展開できます。今回は M365 Copilot で実際にテストしてみます。

M365 Copilotへの展開を有効にします。
M365 CopilotとTeamsへの展開設定画面
M365 Copilotで動作を確認します。
M365 Copilotでのテスト結果(推奨事項Top5)

Teamsへの展開設定画面。「Teamsに追加」をクリックするとチームメンバー全員が使えるようになります。

Teamsへの展開を設定します。
TeamsとCopilotへの公開設定
「追加」をクリックします。
TeamsにYJKセキュリティアシスタントが表示された画面
アプリの詳細を確認します。
Teamsに展開されたアシスタントアプリの詳細画面
Teamsで動作を確認します。
TeamsでYJKセキュリティアシスタントをテストする様子

「なにができる?」と質問すると、エージェントはセキュリティ関連(アラート・MFA・脆弱性・Secure Score など)・情報検索・一般サポートの3カテゴリに整理された機能一覧を返します。

Secure Score分析レポートを確認します。※テスト環境でのデータです
TeamsでSecure Score確認・分析レポートが表示された様子

「Secure Score を確認して」と依頼すると、Fabric Lakehouse のデータを参照してカテゴリ別の達成状況と改善提案をレポート形式で返します。

推奨チャンネル: #security-alerts チャンネルに追加すると、インシデント確認のハブとして活用できます。

できる質問例

カテゴリ 質問例
セキュリティ状況 今月のアラートは何件ありますか? / Critical のインシデントを教えて
Secure Score 現在の Secure Score は何%? / 先月と比べて上がった?
デバイス 非準拠デバイスを一覧で教えて / Windows パッチが古いデバイスは?
ユーザー・認証 MFA 未登録のユーザーは誰? / リスクユーザーとして検知された人は?
脆弱性 Critical 脆弱性を CVSS スコア順に教えて / 今すぐ対応すべき推奨事項 Top 5 は?

Fabric × Copilot Studio の活用例

今回はセキュリティデータを例に構築しましたが、Fabric Lakehouse に入れるデータを変えるだけで、さまざまな業務に応用できます。

活用分野 Lakehouse に入れるデータ チャットで聞ける質問の例
セキュリティ運用(今回) アラート / インシデント / 脆弱性 / MFA 登録状況 「今月の Critical アラートは何件?」「MFA 未登録のユーザーは?」
営業・売上分析 CRM データ / 受注履歴 / 月次売上 「先月の受注金額トップ 5 は?」「〇〇商品の売上推移を教えて」
在庫・物流管理 在庫テーブル / 発注履歴 / 配送ログ 「在庫が残り 10 個以下の商品は?」「今週の出荷件数は?」
IT 資産管理 デバイス台帳 / ライセンス管理 / ヘルプデスクログ 「サポート期限切れのデバイスは何台?」「未割当ライセンスは?」
HR・勤怠 勤怠データ / 組織マスタ / 研修受講履歴 「今月の残業時間が多い部署は?」「未受講の必須研修がある人は?」

テーブルに AI 向けの説明(Description)を丁寧に書くほど回答精度が上がります。どんなデータでも「自然言語で話しかけられるデータベース」として使えるのが Fabric データエージェントの面白いところです。

権限・セキュリティについて(運用前に確認)

社内データを扱うエージェントを構築する際は、以下の点を確認しておくことをお勧めします。

確認ポイント 内容
権限の継承 Fabric Lakehouse のアクセス権限は Copilot Studio 経由でも継承されます。Lakehouse への読み取り権限がないユーザーはデータを取得できません。エージェントを公開する前に、閲覧許可するユーザー・グループを Fabric 側で設定します。
公開範囲 個人情報・機密情報を含むデータを扱う場合は、Teams チャンネルの公開範囲を社内限定に絞ります。社外(外部ゲスト)向けに公開しないよう Teams チャンネルのゲストアクセス設定を確認してください。
データの取り扱い 氏名・メールアドレス・デバイス情報など個人を特定できるデータが含まれる場合は、社内のプライバシーポリシーに従って取り扱います。不要なテーブルはエージェントに追加しないことがポイントです。
アクセスログ Copilot Studio の利用ログは管理センターから確認できます。誰がエージェントを利用したかを定期的にチェックする運用フローを設けることをお勧めします。

まとめ

今回は Fabric × Copilot Studio の組み合わせで、社内データをチャットから自然言語で問い合わせできるエージェントを構築する手順を紹介しました。一例としてセキュリティデータを使いましたが、仕組み自体はどんな業務データにも応用できます。

  • Fabric Lakehouse にデータを蓄積し、テーブルに AI 向けの説明を設定する
  • Fabric データエージェントを作成・公開する
  • Copilot Studio で外部エージェント接続を使って Fabric と連携する
  • Teams / M365 Copilot に公開すれば、チームメンバー全員がチャットでデータに話しかけられる
  • 売上・在庫・セキュリティ・HR など、Lakehouse のデータを変えるだけで様々な業務に横展開できる

ダッシュボードを毎回開かなくても、チャットで聞くだけでデータが返ってくる体験は思ったよりシンプルに実現できました。自社のデータで試してみると、意外と使い道が広がると思います。
また面白い活用例が見つかったら記事にします。ぜひ試してみてください。

技術ブログ一覧に戻る