

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Connect Customer：外部工具中的流程區塊
<a name="external-tool"></a>

本主題定義從外部應用程式直接從流程叫用工具的流程區塊。

**注意**  
**外部工具**區塊僅適用於 [Amazon Connect Customer](https://docs.aws.amazon.com/connect/latest/adminguide/enable-nextgeneration-amazonconnect.html) 執行個體，且僅適用於特定區域。如需區域清單，請參閱 [外部工具](regions.md#externaltool_region)。

## 說明
<a name="external-tool-description"></a>
+ 從外部應用程式叫用工具，例如 Salesforce 或 ServiceNow，透過 Amazon Bedrock AgentCore 閘道與您的 Connect Customer 執行個體整合。您的流程可以將資料傳送至第三方應用程式並從中讀取資料，而無需維護自訂 Lambda 函數。
+ 同步執行工具，其中流程會暫停，直到工具傳回流程繼續的位置，或非同步執行。對於非同步調用，將第二個**外部工具**區塊集新增至**載入工具結果**以擷取結果。
+ 將結果存放在 `$.ExternalTool` 命名空間中。

## 支援的頻道
<a name="external-tool-channels"></a>

下表列出此區塊如何轉接使用指定頻道的聯絡人。


| Channel | 支援？ | 
| --- | --- | 
| 語音 | 是 | 
| 聊天 | 是 | 
| 任務 | 是 | 
| Email | 是 | 

## 流程類型
<a name="external-tool-types"></a>

您可以在下列[流程類型](create-contact-flow.md#contact-flow-types)中使用此區塊：
+ 所有流程

## 先決條件和相依性
<a name="external-tool-prerequisites"></a>

您必須先[將外部應用程式與 Connect Customer 執行個體整合為 MCP 伺服器](https://docs.aws.amazon.com/connect/latest/adminguide/3p-apps-mcp-server.html#3p-apps-mcp-server-how-to-integrate)，才能使用此區塊。若要設定整合：

1. 開啟 Connect Customer 主控台。

1. 新增整合，然後選取 **MCP 伺服器**做為整合類型。

1. 選取要與您的執行個體連線的 Bedrock AgentCore 閘道。如果沒有閘道，請先在 [Bedrock AgentCore 中建立一個](https://docs.aws.amazon.com/connect/latest/adminguide/3p-apps-mcp-server.html#3p-apps-mcp-server-how-to-integrate)。

1. 在閘道的傳入身分組態中，將閘道 ID 新增至**允許對象**欄位。需要閘道 ID 才能成功叫用工具。

1. 透過選取使用閘道探索 URL 設定的執行個體，將 Connect Customer 執行個體與整合建立關聯。

整合完成後，應用程式會出現在**外部工具**區塊中，並可以依名稱選取。

## Properties
<a name="external-tool-properties"></a>

區塊支援下列動作。使用選取動作**來選取動作**。預設為**叫用工具**。

### 叫用工具
<a name="external-tool-invoke-tool"></a>

下圖顯示外部工具區塊屬性中的叫用工具動作組態。

![外部工具區塊顯示使用應用程式名稱和工具名稱欄位叫用工具動作。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/external-tool-invoke.png)


![外部工具區塊顯示叫用工具動作的執行模式和逾時設定。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/external-tool-invoke-2.png)

+ **應用程式名稱** （必要）：要呼叫的外部應用程式。您可以手動或動態設定。只有與您的執行個體相關聯的應用程式才會出現。
+ **工具名稱** （必要）：要在應用程式中叫用的工具。您可以手動或動態設定此項目；手動清單會依應用程式更新。輸入欄位是從工具結構描述產生，而工具輸入可以手動、動態或以原始 JSON 的形式提供。
+ **執行模式**：
  + **同步**：只有在外部工具調用完成後，聯絡人才會路由到下一個區塊。
  + **非同步**：聯絡人會路由到下一個區塊，而無需等待外部工具叫用完成。您可以設定[等候](wait.md)區塊，以等待在非同步執行模式下調用的外部工具。
+ **逾時**：外部工具呼叫逾時前的等待時間。**同步**模式的上限為 8 秒，**非同步**模式的上限為 60 秒。
  + 如果外部工具調用受到調節，或發生一般服務失敗 (500 錯誤），則會重試請求。
  + 當外部工具呼叫傳回錯誤時，Connect Customer 會重試最多三次，直到指定的逾時為止。此時，會將聯絡案例向下轉接到**錯誤**分支。
+ 分支：**成功**和**錯誤**。

### 載入工具結果
<a name="external-tool-load-tool-result"></a>

下圖顯示外部工具區塊屬性中的載入工具結果動作組態。

![為載入工具結果動作設定的外部工具區塊。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/external-tool-load.png)

+ **外部工具叫用 ID**：在**非同步**模式下執行之外部工具的叫用 ID。 `$.ExternalTool.InvocationId`包含最近非同步執行外部工具的叫用 ID。
+ 對於**載入工具結果**動作，設定**命名空間** = `ExternalTool`和**金鑰** = **調用 ID**。
+ 分支：**成功**、**進行中**和**錯誤**。

## 命名空間
<a name="external-tool-namespace"></a>

**外部工具**區塊會將結果寫入下列命名空間路徑：
+ `$.ExternalTool.InvocationId` – 目前的調用 ID。
+ `$.ExternalTool.ResultData` – 工具結果 （最多 32 KB)。

每個新的調用都會覆寫先前的`$.ExternalTool`結果。若要保留結果，請先將其複製到聯絡屬性 (`$.Attributes.*`) 或流程屬性 (`$.FlowAttribute.*`)，再叫用其他工具。

## 組態提示
<a name="external-tool-tips"></a>
+ **應用程式名稱**和**工具名稱**可以動態設定，也可以手動設定。
+ 同步結果上限為 32 KB。較大的回應需要**錯誤**分支。

## 範例
<a name="external-tool-example"></a>

對外行銷活動會根據每位客戶的支出方案量身打造其訊息。在整合 Amazon Bedrock AgentCore 和公開每個帳戶支出層的第三方整合之後，流程會使用**外部工具**區塊從第三方應用程式讀取層，然後分支到相符訊息。

## Configured
<a name="external-tool-configured"></a>

設定區塊後，會顯示**成功**和**錯誤**分支。對於**載入工具結果**動作，它也會顯示**進行中**分支。

![在新增至流程之後，使用成功和錯誤分支設定的外部工具區塊。](http://docs.aws.amazon.com/zh_tw/connect/latest/adminguide/images/external-tool-configured.png)
