結果のリストを返す
外部システムでデータを検索し、結果のリストを返すようにコパイロットに依頼するのが一般的です。 そのために、Microsoft Copilot Studio は Power Automate フローを呼び出して、次のことを行うことができます。
- 認証して外部ソリューションに接続する
- ユーザーの入力に基づいてクエリを実行する
- 結果をフォーマットする
- 結果をコパイロットに返す
この例では、Power Automate の Dataverse コネクタを使用して、取引先企業を検索します。 次に、取引先企業名、都市、取引先企業番号を含む結果のリストを Microsoft Copilot Studio に返します。
前提条件
- Copilot Studio の作成キャンバスから フローを作成 する方法について説明します
- 入出力変数を使った情報の受け渡し
- ご使用の環境で Dataverse 検索を構成する
Dataverse の取引先企業テーブルを設定する
取引先企業テーブルは、Power Platform 環境に自動的に含まれる標準テーブルです。 ただし、取引先企業のデータは付属していません。 コパイロットが取引先企業を検索する前に、取引先企業テーブルを設定する必要があります。
データを含む取引先企業テーブルが既にある場合は、この手順をスキップしてトピックを作成するに移動します。 ただし、後の手順でコパイロットをテストするときは、別の検索語句を使用する必要があります。
Power Apps ポータル にアクセスします。
サイド ペインで、Dataverse の下にあるテーブルを選択します。
取引先企業テーブルを選択し、テーブルのプロパティ ページで編集を選択します。
テーブルに次の行を追加します:
住所 1: 市区町間 アカウント名 口座番号 世田谷区 Contoso Inc AC0125 サンフランシスコ Contoso Residences AC0255 オリンピア Contoso 食事宅配サービス AC0035
トピックを作成する
コパイロットの トピック ページ に移動します。
取引先企業の検索という名前のトピックを作成します。
以下のトリガー フレーズを追加:
- 顧客を探しています
- 取引先企業を探しています
- 取引先企業の検索
- 顧客の検索
メッセージ ノードを追加し、取引先企業を探しているようです。お調べします。というメッセージを入力します。
質問ノードを追加して、お探しのお客様のお名前は? というメッセージを入力します。
特定では、組織を選択します。
ユーザーの応答全体も機能します。 ただし、組織 エンティティを選択すると、コパイロットの言語理解機能を利用して、応答から組織名を抽出します。
応答に名前を付けて保存で、変数の名前を組織に変更します。
フローの作成
作成キャンバスで、ノードの追加 (+) を選択します。 アクションを呼び出すを選択し、フローを作成するを選択します。
Power Automate ポータルで、フローに取引先企業検索という名前を付けます。
組織という名前のテキスト入力を追加します。
新しいステップの挿入 (+) を選択し、アクションの追加を選択します。
Microsoft Dataverse コネクタを選択し、行の検索アクションを選択します。
このアクションは、あいまい一致を使用して、Dataverse 取引先企業テーブル にある関連する取引先企業を検索します。
検索語句には、組織の変数を選択します。
詳細オプションの表示を選択して、次の項目を指定されたとおりに設定します。
- テーブル フィルター項目:
account
- 項目で並べ替え - 1:
@search.score desc
- 項目で並べ替え - 2:
name asc
- テーブル フィルター項目:
フォーマットの結果
行の検索アクションは、JSON データを含む行の一覧変数を返します。 データを使用する前に、JSON の解析アクションでデータを分析する必要があります。
新しいステップの挿入 (+) を選択し、アクションの追加を選択します。
データ操作コネクタを選択し、次に JSON の解析アクションを選択します。
コンテンツ ボックスにある行の検索で、行のリスト変数を選択します。
次の JSON スキーマをコピーして、スキーマ ボックスに貼り付けます。
{ "type": "array", "items": { "type": "object", "properties": { "@@search.score": { "type": "number" }, "name": { "type": "string" }, "address1_city": { "type": "string" }, "accountnumber": { "type": "string" } }, "required": [ "name" ] } }
新しいステップの挿入 (+) を選択し、アクションの追加を選択します。 変数コネクタを選択し、次に変数の初期化アクションを選択します。
名前に、ListOfAccounts と入力します。 タイプに、文字列と入力します。
新しいステップの挿入 (+) を選択し、アクションの追加を選択します。 コントロール コネクタを選択して、次にそれぞれに適用アクションを選択します。
前のステップからの出力を選択ボックスを選択し、動的コンテンツ メニューを開きます。 本文を検索し、JSON の解析の下にある本文の変数を選択します。
新しいステップの挿入 (+) を選択し、アクションの追加を選択します。 変数コネクタを選択し、次に文字列変数に追加アクションを選択します。
名前には、ListOfAccounts を選択します。 次のテキストをコピーし、値ボックスに貼り付けます。
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
スニペットの後に改行を追加して、各結果がそれぞれの行に表示されるようにします。
Microsoft Copilot Studio に値を返すアクションで、テキスト出力を追加します。 名前に、FoundAccounts と入力します。 値には、ListOfAccounts を選択します。
保存 を選択します。
Microsoft Copilot Studio からのフローの呼び出し
Microsoft Copilot Studio キャンバスの作成で、ノードの追加 (+) を選択し、アクションを呼び出すを選択します。
先ほど作成したフロー取引先企業検索を選択します。
組織の値の取得元には、組織変数を選択します。
メッセージ ノードを追加し、検索結果はこちらですとメッセージを入力します。
2 番目のメッセージ ノードを追加します。 変数の挿入を選択し、FoundAccounts を選択します。
保存 を選びます。
テスト コパイロット ペインでコパイロットをテストします。