自動化
PR

Copilot StudioのエージェントからPower Automateフローを呼び出す方法|在庫・単価検索を例に解説

sanane
記事内に商品プロモーションを含む場合があります

はじめに

この記事では、Copilot Studio で作成したエージェントから Power Automate のフローを呼び出す方法 を解説します。

題材は「ユーザーが商品名を尋ねると、エージェントがフローを呼び出し、Excel の商品マスターから単価と在庫数を取得して回答する」というシンプルな在庫検索ボットです。

入力1つ・出力複数という構成なので、エージェントとフローの間でどう引数を受け渡しするかが分かりやすい題材になっています。

SANANE
SANANE

「Copilot Studio のエージェントに、社内のExcelやデータベースを検索させたい」というニーズはとても多いかと思います。その第一歩が、今回紹介する Power Automate フローの呼び出しです。

この記事で作るもの(完成イメージ)

完成すると、チャットで「りんごの在庫は?」と聞くだけで、エージェントが次のように答えてくれるようになります。

商品名在庫数単価
りんご120個150円

裏側では、エージェントが質問から「りんご」という商品名だけを抜き出してフローに渡し、フローが Excel を検索して結果を返しています。

事前準備:サンプルのExcelファイル

OneDrive に product-master.xlsx を用意し、「商品マスター」という名前のテーブルを作っておきます。

商品名単価在庫数
りんご150120
バナナ80340
みかん10075
ぶどう30040
いちご50018

Excel 側で必ず「テーブル」として書式設定しておいてください。後述の「行を取得する」アクションは、ワークシートではなくテーブルを対象にします。

全体の流れ

作業の流れ
  1. エージェントを新規作成する
  2. エージェントに「ツール」を追加 →「新しいフローを作成」
  3. 開いた Power Automate でフローを構築・保存
  4. Copilot Studio に戻り、ツールの入出力を確認
  5. テストパネルで実際に質問して動作確認

STEP1:エージェントを作成する

Copilot Studio にアクセス

Copilot Studio にアクセスします。

エージェントを新規作成

エージェントを新規作成します。今回は名前を「在庫案内ボット」にしました。

エージェントの新規作成画面
作成完了

作成が完了すると、エージェントの概要画面が表示されます。

作成直後のエージェント概要画面

STEP2:ツールとして Power Automate フローを追加する

エージェントに「ツール」を追加します。ツールとは、エージェントが必要に応じて呼び出せる外部の処理(=今回は Power Automate フロー)のことです。

ツールを追加

「ツール」タブから[ツールを追加]を選びます。

ツールタブからツールを追加する画面
新しいフローを作成

[新しいフローを作成]を選択します。

新しいフローを作成を選択する画面
フロー雛形が自動生成される

Power Automate が開き、「エージェントがフローを呼び出すとき」トリガーと「エージェントに応答する」アクションがセットになった雛形が自動生成されます。この2つがエージェント連携用フローの必須パーツです。

自動生成されたフローの雛形(トリガーと応答アクション)

STEP3:Power Automate でフローを構築する

3-1. トリガーに入力「商品名」を追加

トリガー「エージェントがフローを呼び出すとき」に、入力として 商品名(テキスト) を1つ追加します。これがエージェントからフローへ渡される値になります。

トリガーに入力「商品名」を追加した画面

3-2. Excel「行を取得する」アクションを追加

次に Excel Online (Business) の「行を取得する」アクションを追加します。

行を取得するアクションを検索する画面

設定は以下のとおりです。

  • ファイル/product-master.xlsx
  • テーブル:商品マスター
  • キー列:商品名
  • キー値:トリガーの「商品名」
行を取得するアクションの設定(テーブル・キー列=商品名)

「行を取得する」はキー列に対する完全一致で検索します。「りんごの在庫」のような文章ではヒットしないため、後述のとおりエージェント側で「商品名だけを抽出する」設定が重要になります。

3-3. 「エージェントに応答する」で出力を設定

最後に「エージェントに応答する」アクションで、エージェントへ返す値を設定します。

  • 単価 = 行を取得する の「単価」
  • 在庫数 = 行を取得する の「在庫数」
  • 商品名 = 行を取得する の「商品名」
エージェントに応答するアクションの出力設定(単価・在庫数)

3-4. 非同期応答を「オフ」にする

ここが最重要ポイントです。「エージェントに応答する」の設定で、非同期応答(Asynchronous response)は必ずオフにしてください。オンになっていると、エージェントがフローの結果を受け取れず、回答が返ってきません。

非同期応答をオフにした設定パネル

なお、フローは 100秒以内 に応答する必要があります。重いクエリや大量データの処理は避けましょう。

3-5. フローを保存

ここまでで3つのアクション(トリガー → 行を取得する → エージェントに応答する)が揃いました。保存します。

フローの保存完了(全体図)

STEP4:ツールの入出力を確認する

Copilot Studio に戻ると、作成したフローがツールとして追加されています。

エージェントにツールが追加された状態

ツールを開き、入力(商品名)と出力(単価・在庫数)が正しく認識されているか確認します。

ツールの入出力・説明文の設定画面

最大の落とし穴:商品名の抽出設定

このまま使うと、AI がユーザーの発言まるごと(例:「りんごの単価と在庫数を教えてください」)を商品名として渡してしまい、Excel 検索でヒットしません。

これを防ぐため、ツールの入力「商品名」の 追加情報 →「説明」 に、何を抽出すべきかを明記します。

ユーザーの質問から商品名のみを抽出する。例: りんご、バナナ、みかん、ぶどう、いちご

この一文があるだけで、AI は文章の中から「りんご」だけを正しく取り出してフローに渡してくれます。エージェント連携で最もつまずきやすいポイントなので、必ず設定しておきましょう。

STEP5:テストパネルで動作確認

質問する

テストパネルで「りんごの在庫は?」と質問してみます。

テストパネルでりんごの在庫を質問した画面
フローが呼び出される

エージェントがフローを呼び出します。左側にフローの呼び出し状況(入力=りんご、出力=単価/在庫数/商品名)が表示されます。

フローが呼び出されている状況の表示
回答が返る

フローが Excel を検索し、単価・在庫数を含む回答が返ってきました。

単価・在庫数を含む回答が返った画面

これで、チャットの質問 → フロー呼び出し → Excel検索 → 回答 という一連の流れが完成しました。

【発展】Teamsから呼び出すには?

ここまではテストパネル(Copilot Studio 上)でエージェントを動かしてきました。実運用では Microsoft Teams から呼び出せると便利です。

Copilot Studio の「チャネル」ページを開くと、Teams や Microsoft 365、SharePoint などの接続先が並んでいます。

Copilot Studio のチャネルページ

「Microsoft 365 と Microsoft Teams」を選ぶと、設定ダイアログが表示されます。

Teams チャネルの設定ダイアログ

[チャネルを追加する]をクリックすると、Teams チャネルが追加されます。

Teams チャネルが追加された画面

注意:Teamsで実際に使うには「公開」と有償ライセンスが必要

チャネルを追加しても、それだけでは Teams のユーザーがエージェントを使えるようにはなりません。エージェントの「公開(Publish)」と有償ライセンスが必要です。

  • エージェントの「公開」が必須:チャネルを追加した段階ではエージェントは「未公開」状態です。Teams や Microsoft 365 でほかのユーザーに使ってもらうには、エージェントを公開する必要があります。設定ダイアログ内の[Teams で エージェント を表示する]ボタンも、公開するまで無効のままです。
  • 公開には有償ライセンスが必要:試用版(トライアル)環境では、公開しようとすると「現時点で Copilot Studio に公開するためのユーザー ライセンスがありません」というメッセージが表示され、公開できません。Teams 連携を実際に運用するには、Copilot Studio の有償ライセンスを用意してください。

まずは Copilot Studio のテストパネルで動作を固めてから、本番運用のタイミングで公開・ライセンスを検討するのがおすすめです。

まとめ

Copilot Studio のエージェントから Power Automate フローを呼び出す手順を、在庫・単価検索を例に解説しました。ポイントを振り返ります。

  • フローは「エージェントがフローを呼び出すとき」トリガー+「エージェントに応答する」アクションが必須
  • 「エージェントに応答する」の非同期応答はオフ(オンだと結果が返らない)
  • フローは100秒以内に応答する
  • 入力の「説明」に抽出ルール(商品名だけを取り出す等)を明記すると、AI が文章から正しく値を取り出せる
  • Teams で実際に使うにはエージェントの公開+有償ライセンスが必要

入力1つ・出力複数のシンプルな例ですが、ここを押さえれば、Excel 以外のデータソースや、もっと複雑なフローへの応用もしやすくなります。ぜひ試してみてください。

本番ライセンス購入前に試したい方は、Copilot Studio 試用版の利用方法とDataverse追加のトラブルシュート も併せてご覧ください。

記事URLをコピーしました