傳回結果的清單
要求代理程式在外部系統中尋找資料並傳回結果清單是很常見的。 為此,代理程式可以呼叫 Power Automate 流程來執行以下操作:
- 進行驗證並連接到外部解決方案。
- 根據使用者輸入執行查詢。
- 格式化結果。
- 將結果傳回給代理程式。
此範例使用 Power Automate 中的 Dataverse 連接器來搜尋帳戶。 連接器會向您的代理程式傳回包含帳戶名稱、城市和帳號的結果清單。
必要條件
- 了解如何從 Copilot Studio 創作畫布建立流程
- 使用輸入和輸出變數來傳遞資訊
- 設定您的環境 Dataverse 搜尋
設定 Dataverse 會計資料表
帳戶表是 Power Platform 環境中預設可用的標準表。 但是,這不附帳戶資料。 在您的代理程式可以搜尋帳戶之前,您必須填入帳戶表。
如果您已經有含資料的帳戶表格,請略過此步驟,並繼續建立主題。 但是,請記住在後續步驟中測試代理程式時使用與您的資料相關的搜尋字詞。
前往 Power Apps 入口網站。
在導覽窗格中,選擇資料表。
選擇帳戶資料表,然後在資料表屬性頁面上,選擇編輯。
將以下行新增到資料表中:
位址 1:市/鎮 帳戶名稱 帳戶 西雅圖 Contoso Inc AC0125 舊金山 Contoso Residences AC0255 Olympia Contoso 餐飲交貨 AC0035
建立主題
在 Copilot Studio 中,前往您的代理程式的主題頁面。
建立一個名為帳戶搜尋的主題。
新增下列觸發字詞:
- 我正在尋找客戶
- 我正在尋找帳戶
- 搜尋帳戶
- 搜尋客戶
新增一個訊息節點並輸入訊息「聽起來您正在尋找一個帳戶。 我可以幫您查一下。」
新增一個問題節點並輸入訊息「您正在尋找的客戶叫什麼名字?」
如需確認,選取組織。
使用者的完整回應也將有效。 但是,透過選擇組織實體,您可以利用代理程式的語言理解能力從回應中提取組織名稱。
對於將使用者回應另存為,將變數重新命名為「組織」。
建立流程
選擇任意節點下方的新增節點圖示
,然後選擇新增動作。
在基本動作標籤上,選擇新 Power Automate 流程。
在 Power Automate 中,選擇流程的名稱並將其替換為搜尋帳戶。
選擇從 Copilot 執行流程流程觸發程序,並新增名為 Organization 的文字輸入參數。
選擇從 Copilot 執行流程流程觸發程序下方的新增圖示。
在新增動作中,搜尋「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" ] } }
選擇解析 JSON 動作下方的新增圖示。
在新增動作中,搜尋「變數」,然後選擇初始化變數動作。
在名稱方塊中,輸入「ListOfAccounts」。
在類型選取字串。
選擇初始化變數動作下方的新增圖示。
在新增動作中,搜尋「控制」,然後選擇套用至每個動作。
在從前面的步驟中選擇一個輸出方塊中,輸入斜線 (
/
),選擇插入動態內容,然後選擇分析 JSON 下的正文變數。選擇套用至每個動作內的新增圖示。
在新增動作中,搜尋「變數」,然後選擇附加到字串變數動作。
在名稱選取 ListOfAccounts。
複製下列文字,並在值方塊中將其貼上:
- @{items('Apply_to_each')['accountnumber']}: @{items('Apply_to_each')['name']} - @{items('Apply_to_each')['address1_city']}
在程式碼片段後面新增分行符號,讓每個結果顯示在自己的行上。
在回應 Copilot 動作中,加入文字輸出。
對於名稱,輸入「FoundAccounts」。
對於值,在方塊中輸入斜線 (
/
),選擇插入動態內容,然後選擇 ListOfAccounts 變數。儲存並發佈您的流程。
從 Copilot Studio 呼叫流程
在 Copilot Studio 中,選擇問題節點下的新增節點圖示
,選擇新增動作,然後選擇您先前建立的流程搜尋帳戶。
將流程輸入參數設定為來自問題節點的輸出變數:組織 (字串) 從組織變數取得其值。
新增一個訊息節點並輸入訊息「好的,這是我發現的。」
新增第二個訊息節點。 選擇插入變數圖示,然後選擇 FoundAccounts。
選取儲存。
測試您的代理程式。