Agent SDK (Preview)
將 Bot Framework / Microsoft Agents SDK 活動有效載荷轉發到使用者提供的代理端點。 每次通話中,代理端點的 URL 作為輸入參數提供。 建立連線時會選擇驗證:不需驗證、靜態 API 金鑰,或Microsoft Entra ID OAuth(client_credentials或使用者登入)。 當選擇 OAuth 時,承載令牌受眾(連線上設定的資源 URL)必須與目標代理預期的受眾相符。
此連接器適用於以下產品和區域:
| 服務 | Class | Regions |
|---|---|---|
| Copilot Studio | 標準 | 除以下部分外,所有Power Automate區域: - 美國政府 (GCC) - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| 邏輯應用程式 | 標準 | 所有 Logic Apps 區域, 但下列區域除外: - Azure Government 區域 - Azure 中國區域 - 美國國防部 (DoD) |
| Power Apps | 標準 | 除以下部分外,所有Power Apps區域 - 美國政府 (GCC) - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| Power Automate(自動化服務) | 標準 | 除以下部分外,所有Power Automate區域: - 美國政府 (GCC) - 美國政府(海灣合作委員會高中) - 由 21Vianet 營運的中國雲 - 美國國防部 (DoD) |
| 聯絡方式 | |
|---|---|
| 名稱 | Microsoft |
| URL | https://support.microsoft.com |
| 連接器中繼資料 | |
|---|---|
| 發行者 | Microsoft |
| 網站 | https://www.microsoft.com |
| 隱私策略 | https://privacy.microsoft.com/ |
| 類別 | Productivity |
Agent SDK 連接器會將 Bot Framework / Microsoft Agents SDK 活動載荷轉發到使用者提供的代理端點。 每次通話中,代理端點的 URL 作為輸入參數提供。 連線可選擇連接器如何向代理進行認證:無認證、靜態 API 金鑰、Microsoft Entra ID 應用程式專用憑證(用戶端憑證),或 Microsoft Entra ID 委派使用者憑證(使用者登入)。 對於兩種 Microsoft Entra ID 選項,承載權杖受眾(連線上設定的資源 URL)必須與目標代理預期的受眾相符。
先決條件
- 一個已部署的 Microsoft Agents SDK / Bot Framework 代理程式,可透過 HTTPS 存取。
- 針對 Microsoft Entra ID(用戶端憑證):註冊於承載代理的租戶中的 Microsoft Entra ID 應用程式,並設定
client_credentials授權並授權呼叫目標代理。 - 對於 Microsoft Entra ID(使用者登入):代理自身的 Microsoft Entra ID 應用程式(其 Microsoft 應用程式 ID),並附有用戶端秘密、使用者可同意的公開 API 範圍,稱為 Microsoft Graph User.Read(「登入並閱讀使用者資料」)在同意下授權,並
https://global.consent.azure-apim.net/redirect/agentsdk新增為網頁重定向 URI。 - API 金鑰與用戶端憑證選項則是代理的預期令牌受眾(通常是代理的 Microsoft 應用程式 ID
api://<appId>或應用程式 ID GUID)。 使用者登入時,受眾必須是 App ID GUID(見下文)。
取得您的認證
Microsoft Entra ID (client credentials)
連接器會傳送一個僅限應用程式的代幣。 要驗證您的 API 請求,您需要:
- Microsoft Entra ID 應用程式的租戶 ID。
- Microsoft Entra ID 應用程式的用戶端 ID(應用程式 ID)。
- 該應用程式的 客戶端秘密 。
- 資源 網址 與目標代理預期的受眾相符(機器人框架技能認證模式)。
建立連結時,請提供這些價值觀。 如果受眾不同,每位經紀人建立一個連結。
Microsoft Entra ID (user sign-in)
連接器會將已登入帳號的委派令牌傳送到連線,讓代理人能代表該帳號交換該令牌(例如,使用 Microsoft 365 Agents SDK ConnectorUserAuthorization 處理器)。 您將需要:
- 代理人的 Microsoft Entra ID 應用程式的租戶 ID。
- 客戶端 ID:代理自身的 Microsoft 應用程式 ID。 Microsoft 365 Agents SDK 僅在憑證發給代理自身應用程式時,才代表使用者交換該憑證。
- 該應用程式的 客戶端秘密 。
-
資源網址:代理的 Microsoft 應用程式 ID(GUID),與用戶端 ID 值相同。 因為代理自身的應用程式同時是客戶端與資源,Microsoft Entra 此處需要 GUID(AADSTS90009否則);
api://<appId>此選項不支援此功能。
建立連線時提供這些值,然後登入並同意代理的公開範圍。 每個客服人員建立一個連線。
應用程式還需要Microsoft Graph User.Read(「登入並閱讀使用者設定檔」)授權且需同意;若無此權限,登入將失敗,AADSTS90008。
若要將權杖交換下游 API,請設定該 API 對代理應用程式的授權權限,並取得使用者或管理員的同意。 在代理自身 API 上公開一個範圍並不會授予下游權限。
已知問題和限制
-
agentEndpoint輸入必須是完整的 HTTPS URL(例如,https://my-agent.azurewebsites.net)。 連接器會/api/messages附加並轉發活動有效載荷。 - 連接器轉發活動有效載荷 as-is,且不會設定
deliveryMode。 代理會非同步(正常傳送)回應,透過 POST 回覆活動回傳給serviceUrl輸入活動(呼叫者,例如 Microsoft Copilot Studio,提供 SAS 鍵入回撥serviceUrl)。 -
Microsoft Entra ID(使用者登入)連線會將登入帳號的授權憑證傳送到該連線,針對每次該連線通話,包括代表與客服聊天的其他人通話。 它不會為每位呼叫者發送獨立的代幣,因此該活動
from的使用者可能與代幣中的使用者不同。 請只授權請求作為驗證過的憑證中的帳戶,不要把活動或from請求標頭視為聊天對象的權限。 如果客服必須扮演每個與其聊天的人,就不要使用這種連線方式。 - 如果已登入帳號的同意被撤銷或無法重新整理會話,請重新登入該連線。
- 這個連接器目前還在預覽階段。 可用性與功能可能會有所變動。
正在建立連線
連接器支援下列驗證類型:
| API 金鑰 | 用目標代理在自訂 HTTP 標頭中預期的靜態 API 金鑰來認證。 同時指定標頭名稱(例如 x-api-key)及其值。 | 所有地區 | 不可共享 |
| Microsoft Entra ID (client credentials) | 使用 client_credentials 流程,從 Microsoft Entra ID 應用程式鑄造 OAuth 持有人代幣。 持有人代幣受眾(資源網址)必須與目標代理預期的受眾相符。 | 所有地區 | 不可共享 |
| Microsoft Entra ID (user sign-in) | 透過目標代理的 Microsoft Entra ID 應用程式(授權碼流程)登入,並傳送已登入帳戶的委派持有人代幣。 每次用這個連線打的電話都是用登入連線的帳號,而不是跟客服聊天的人。 若要代表使用者交換令牌,代理人需要設定其下游委派權限與同意。 | 所有地區 | 不可共享 |
| 無驗證 | 呼叫目標代理端點,且不使用任何認證標頭。 只對明確接受匿名電話的客服人員使用。 | 所有地區 | 可共用 |
| 預設值 [已棄用] | 此選項僅適用於沒有明確驗證類型的舊連線,並且僅用於回溯相容性。 | 所有地區 | 不可共享 |
API 金鑰
認證 ID:apiKey
適用:所有地區
用目標代理在自訂 HTTP 標頭中預期的靜態 API 金鑰來認證。 同時指定標頭名稱(例如 x-api-key)及其值。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
| 名稱 | 類型 | Description | Required |
|---|---|---|---|
| API 金鑰標頭名稱 | 字串 | 目標代理期待 API 金鑰的 HTTP 標頭名稱(例如 x-api-key 或 Ocp-Apim-Subscription-Key)。 | 沒錯 |
| API 鍵值 | 安全字串 | 靜態 API 鍵值會在每個向目標代理端的請求中傳送。 | 沒錯 |
Microsoft Entra ID (client credentials)
Auth ID: oauthClientCredentials
適用:所有地區
使用 client_credentials 流程,從 Microsoft Entra ID 應用程式鑄造 OAuth 持有人代幣。 持有人代幣受眾(資源網址)必須與目標代理預期的受眾相符。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
| 名稱 | 類型 | Description | Required |
|---|---|---|---|
| 租戶 | 字串 | Microsoft Entra ID 應用程式的租戶 ID | 沒錯 |
| 用戶端識別碼 | 字串 | Microsoft Entra ID 應用程式的用戶端(或應用程式)ID。 | 沒錯 |
| 用戶端密碼 | 安全字串 | Microsoft Entra ID 應用程式的客戶端秘密。 | 沒錯 |
| 資源 URL | 字串 | OAuth 代幣的受眾。 通常是目標代理的Microsoft App ID(例如 api://< appId> 或 App ID GUID)。 | 沒錯 |
Microsoft Entra ID (user sign-in)
認證 ID:oauthAuthorizationCode
適用:所有地區
透過目標代理的 Microsoft Entra ID 應用程式(授權碼流程)登入,並傳送已登入帳戶的委派持有人代幣。 每次用這個連線打的電話都是用登入連線的帳號,而不是跟客服聊天的人。 若要代表使用者交換令牌,代理人需要設定其下游委派權限與同意。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
| 名稱 | 類型 | Description | Required |
|---|---|---|---|
| 租戶 | 字串 | 目標代理的 Microsoft Entra ID 應用程式的租戶 ID。 | 沒錯 |
| 用戶端識別碼 | 字串 | 目標代理的 Microsoft 應用程式 ID。 使用代理自己的應用程式,讓代理能代表使用者交換委派的令牌。 | 沒錯 |
| 用戶端密碼 | 安全字串 | 目標代理的 Microsoft Entra ID 應用程式的用戶端秘密。 | 沒錯 |
| 資源 URL | 字串 | 觀眾是為了被委託的代幣。 必須是目標代理的 Microsoft 應用程式 ID(GUID),與用戶端 ID 值相同:當應用程式自行請求令牌時,Microsoft Entra 只接受 GUID。 | 沒錯 |
無驗證
認證ID:匿名
適用:所有地區
呼叫目標代理端點,且不使用任何認證標頭。 只對明確接受匿名電話的客服人員使用。
這是可共享的連接。 如果 Power App 與其他使用者共用,也會共用連線。 欲了解更多資訊,請參閱 Connectors 的畫布應用程式概覽 - Power Apps |Microsoft Docs
預設值 [已棄用]
適用:所有地區
此選項僅適用於沒有明確驗證類型的舊連線,並且僅用於回溯相容性。
這不是可共用的連線。 如果 Power App 與其他使用者共用,系統會明確提示其他使用者建立新連線。
動作
| 將活動傳送給代理人 |
將活動協定有效載荷轉發至代理端點 {agentEndpoint}/api/messages。 當連線使用 Microsoft Entra ID OAuth 時,標記受眾(連線上的資源 URL)必須與目標代理預期的受眾(Bot Framework 技能認證模式)相等;若受眾不同,則為每個代理建立一個連線。 連接器會轉發活動有效載荷 as-is,且不會設定「deliveryMode」;代理以非同步方式(正常傳送)回覆,透過將回覆活動發送至 inbound 活動中提供的「serviceUrl」。 |
將活動傳送給代理人
將活動協定有效載荷轉發至代理端點 {agentEndpoint}/api/messages。 當連線使用 Microsoft Entra ID OAuth 時,標記受眾(連線上的資源 URL)必須與目標代理預期的受眾(Bot Framework 技能認證模式)相等;若受眾不同,則為每個代理建立一個連線。 連接器會轉發活動有效載荷 as-is,且不會設定「deliveryMode」;代理以非同步方式(正常傳送)回覆,透過將回覆活動發送至 inbound 活動中提供的「serviceUrl」。
參數
| 名稱 | 機碼 | 必要 | 類型 | Description |
|---|---|---|---|---|
|
代理端點 URL
|
agentEndpoint | True | string |
目標 Microsoft Agents SDK / Bot Framework 端點的基礎網址(例如 https://my-agent.azurewebsites.net)。 連接器會附加 /api/訊息。 |
|
|
object |
傳回
- response
- object
定義
物件
這是類型 'object'。