次の方法で共有


結果のリストを返す

外部システムでデータを検索し、結果のリストを返すようにエージェントに依頼するのが一般的です。 これを行うには、エージェントは Power Automate フローを呼び出して次のことができます。

  1. 認証して外部ソリューションに接続する。
  2. ユーザー入力に基づいてクエリを実行します。
  3. 結果をフォーマットする。
  4. 結果をエージェントに返します。

この例では、Dataverse コネクタを Power Automate で使用してアカウントを検索します。 コネクタは、アカウント名、市区町村、アカウント番号を含む結果のリストをエージェントに返します。

前提条件

Dataverse の取引先企業テーブルを設定する

取引先企業テーブルは 標準テーブル で、既定で Power Platform 環境で使用できます。 ただし、取引先企業のデータは付属していません。 エージェントが取引先企業を検索する前に、取引先企業 テーブルに入力する必要があります。

データを含む取引先企業テーブルが既にある場合は、この手順をスキップしてトピックを作成するに移動します。 ただし、後のステップでエージェントをテストするときは、データに関連する検索語を使用することを忘れないでください。

  1. Power Apps ポータル にアクセスします。

  2. ナビゲーション ウィンドウで、テーブル を選択します。

  3. 取引先企業テーブルを選択し、テーブルのプロパティ ページで編集を選択します。

  4. テーブルに次の行を追加します:

    住所 1: 市区町間 アカウント名 口座番号
    世田谷区 Contoso Inc AC0125
    サンフランシスコ Contoso Residences AC0255
    オリンピア Contoso 食事宅配サービス AC0035

トピックを作成する

  1. Copilot Studio で、エージェントのトピック ページに移動します。

  2. 取引先企業の検索という名前のトピックを作成します。

  3. 以下のトリガー フレーズを追加:

    • 顧客を探しています
    • 取引先企業を探しています
    • 取引先企業の検索
    • 顧客の検索
  4. メッセージ ノードを追加し、「アカウントを探しているようですね。 お手伝いします」とメッセージを入力します。

  5. 質問 ノードを追加して、「探しているお客様のお名前は?」というメッセージを入力します。

  6. 特定では、組織を選択します。

    ユーザーの応答全体 でも機能します。 ただし、組織エンティティを選択すると、エージェントの言語理解機能を利用して、応答から組織名を抽出できます。

  7. ユーザーの応答を名前を付けて保存で、変数の名前を "organization" に変更します。

    メッセージ ノードと質問ノードがある '取引先企業検索' トピックのスクリーンショット。

フローの作成

  1. ノードの下にあるノードの追加アイコンを選択し、アクションの追加を選択します。

  2. 基本アクション タブで、新規 Power Automate フローを選択します。

  3. Power Automate で、フローの名前を選択し、アカウントの検索 に置き換えます。

  4. Copilot からフローを実行するフロー トリガーを選択して、組織という名前のテキスト入力パラメーターを追加します。

    「組織」というテキスト入力を含むフロー トリガーのスクリーンショット。

  5. Copilot からフローを実行するフロー トリガーの下の追加アイコンを選択します。

  6. アクションの追加で、"Microsoft Dataverse" を検索して、行の検索 アクションを選択します。

    このアクションは、あいまい一致を使用して、Dataverse 取引先企業テーブル にある関連する取引先企業を検索します。

  7. 検索語句 ボックスにスラッシュ (/) を入力し、動的コンテンツの挿入を選択して、組織入力パラメーターを選択します。

  8. 詳細パラメーターで、すべて表示 を選択し、次の値を設定します。

    • テーブル フィルター項目: account
    • 項目で並べ替え - 1: search.score desc
    • 項目で並べ替え - 2: name asc

    詳細オプションを含む '行の検索' アクションのプロパティのスクリーンショット。

フォーマットの結果

行の検索アクションは、JSON データを含む行の一覧変数を返します。 データを使用する前に、JSON の解析 アクションを使用してデータを分析する必要があります。

  1. 検索列 アクションの下にある 追加 アイコンを選択します。

  2. アクションを追加するで "データ オペレーション" を検索し、JSON を解析するアクションを選択します。

  3. コンテンツ ボックスにスラッシュ (/) を入力し、動的コンテンツの挿入を選択して行の一覧を選択します。

  4. 次の JSON スキーマをコピーして、スキーマ ボックスに貼り付けます。

    {
        "type": "array",
        "items": {
            "type": "object",
            "properties": {
                "@@search.score": {
                    "type": "number"
                },
                "name": {
                    "type": "string"
                },
                "address1_city": {
                    "type": "string"
                },
                "accountnumber": {
                    "type": "string"
                }
            },
            "required": [
                "name"
            ]
        }
    }
    

    [JSON アクションを解析する] プロパティの JSON スキーマのスクリーンショット。

  5. JSON の解析 アクションの下にある 追加 アイコンを選択します。

  6. アクションを追加するで "変数" を検索し、変数の初期化アクションを選択します。

  7. 名前 ボックスに「ListOfAccounts」と入力します。

  8. タイプに、文字列と入力します。

    変数の初期化アクション プロパティのスクリーンショット。

  9. 変数の初期化 アクションの下にある 追加 アイコンを選択します。

  10. アクションを追加するで "コントロール" を検索し、それぞれに適用するアクションを選択します。

  11. 前のステップからの出力を選択 ボックスにスラッシュ (/) を入力し、動的コンテンツの挿入 を選択してから、Body 変数を JSON 解析の下で選択します。

  12. それぞれに適用するアクション内の追加アイコンを選択します。

  13. アクションを追加するで "変数" を検索し、文字列変数の追加アクションを選択します。

  14. 名前には、ListOfAccounts を選択します。

  15. 次のテキストをコピーし、ボックスに貼り付けます。

    - @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
    
  16. スニペットの後に改行を追加して、各結果がそれぞれの行に表示されるようにします。

  17. Copilot に応答するアクションで、テキスト 出力を追加します。

  18. 名前に、「FoundAccounts」と入力します。

  19. 値は、ボックスにスラッシュ (/) を入力し、動的コンテンツの挿入を入力して、ListOfAccounts 変数を選択します。

    'Copilot に応答' アクションのプロパティのスクリーンショット。

  20. フローを保存して公開します。

Copilot Studio からのフローの呼び出し

  1. Copilot Studio で、質問ノードの下にあるノードの追加アイコン を選択し、アクションの追加を選択してから、先ほど作成したフロー、アカウント検索を選択します。

  2. フロー入力パラメーターを 質問 ノードから出力変数に設定する: 組織 (文字列)組織 変数から値を取得します。

  3. メッセージ ノードを追加し、「検索結果はこちらです」とメッセージを入力します。

  4. 2 番目のメッセージ ノードを追加します。 変数の挿入アイコンを選択し、FoundAccounts を選択します。

    見つかったアカウントのリストで応答する会話フローのスクリーンショット。

  5. 保存 を選びます。

  6. エージェントをテストする。

    テスト パネルでの会話例のスクリーンショット。