跳到內容

AI Agent 在對話中能做的事:內建 Quickchat AI Actions,以及呼叫自有 API、MCP 伺服器或 Google Sheets 等捷徑的自訂 Actions。

定義 AI Agent 在對話中可執行的工作,從使用即時 API 資料回答問題、收集潛在客戶與市場研究資料,到執行自訂任務。

Quickchat AI Agent 有兩種 Action。

Quickchat AI Actions 是內建功能,只需啟用並設定:

自訂 Actions 可存取 Quickchat AI 以外的服務:

  • API Actions 呼叫任何 HTTP 端點,本頁將詳細介紹。
  • MCP Actions一次連接整個 MCP 伺服器。
  • Google Sheets提供一鍵捷徑,替您設定記錄資料的 Action。

每個 Action 都能透過 AI Action 變數讀取即時對話資料。Jira 範例示範完整建立過程。

自訂 Actions 讓 AI 在對話中呼叫外部工具,例如搜尋內部系統、建立工單、觸發警示,或取得知識庫中沒有的最新資料。可在 Actions 與 MCPs 的自訂 Actions 區段找到。

點選 + 新增 Action 即可建立,下拉選單提供:

  • API Action:透過 HTTP 呼叫任何 REST 端點。這是最通用的選項,適用於任何有 URL 且接受 JSON 的服務。
  • MCP:一鍵連接外部 MCP 伺服器,讓 AI 使用其提供的工具。詳見 MCP Actions。
  • HubSpot Action:預先建立的 HubSpot CRM 連接。可處理聯絡人、交易及工單,包括新增私人工單備註,無需自行管理 API Token。
  • Discord Action:安裝可編輯的支援與內容管理 API Action 範本。需要使用自己的 Discord 應用程式。詳見 Discord Actions。
  • Google Sheets:讀取及寫入您連接的試算表。
  • Shopify MCP:透過 Shopify Storefront MCP 伺服器連接 Shopify 商店,讓 AI 搜尋目錄與商店政策、讀取商品詳情並建立購物車。每個情境只能有一個 Shopify MCP Action。它不提供訂單查詢,請參閱下方說明。

+ 新增 Action 按鈕旁的剩餘:N 計數器,顯示方案還允許啟用多少個 Actions。另外,不論方案,每個 Agent 最多可保有 15 個 Actions。若需要更多啟用中的 Actions,請升級方案或聯絡我們。

Shopify Storefront MCP 面向客戶,且不提供訂單資料,因此僅透過它連接的 AI Agent 無法查詢客戶訂單。訂單狀態由另一個讀取 Shopify Admin API 的檢查訂單狀態 API Action 提供;當您從 Shopify App Store 安裝 Quickchat 應用程式時,會自動設定。透過貼上 URL 連接的商店沒有 Admin 存取權,因此無法查詢訂單;若需要,請透過 App Store 重新安裝。

  1. 選擇 Action 類型:API Action、MCP、HubSpot Action、Discord Action、Google Sheets 或 Shopify MCP,並設定連接及 AI 需要的指示。
  2. 聊天期間,AI 通常會根據 Action 說明及可用工具或參數詳情,決定何時執行。API Action 也可改為在首次回覆前,或中繼資料條件首次符合時自動執行。
  3. Quickchat 執行呼叫。由 AI 選擇或在首次回覆前執行的 Action,其回應可供 AI 使用。由中繼資料觸發的 Action 會靜默執行,輸出不加入聊天。
  4. 在對話中使用前,請先從編輯器測試或連接 Action。

將說明寫成給 AI 的指示,告訴它何時使用、會傳回什麼,以及任何限制(例如「僅在使用者提供訂單號碼時呼叫」)。

  1. 在 Actions 與 MCPs 中,選擇 + 新增 Action > API Action。
  2. 描述工作流程、Agent 應何時採取動作、要使用的 API(或提供其文件連結),以及每個步驟所需資訊。點選產生。
  3. Quickchat 最多準備四個新的 API Action 草稿,全部保持停用。結果可能建議使用既有 Actions 以免重複建立,或要求更多細節。產生草稿不會執行 Actions。
  4. 閱讀使用的現有 Actions、任何先決條件及後續步驟。完成設定、替換預留位置值,並檢查每個 Action 的要求、指示及執行條件。在啟用草稿或任何必需但停用的既有 Action 前,先逐一測試。

建議順序描述的是預期行為,不保證 AI 選擇 Actions 的順序。請使用必填輸入、已儲存記憶及執行條件表達相依關係。啟用 Actions 後,應在對話中測試完整流程。

  1. 前往 Actions 與 MCPs。
  2. 在自訂 Actions 中點選 + 新增 Action,選擇 API Action,再點選手動建立。
  3. 填寫詳細資料:
    • 名稱:清楚且具描述性。
    • 說明:何時使用,以及參數應包含什麼。
  4. 在執行時機中選擇由 AI 決定、首次回覆前或中繼資料符合條件時。
  5. 設定連接:
    • Action 類型:HTTP 方法(GET、POST 等)。
    • API 端點 URL:完整 API URL。
    • 標頭:新增必要標頭,例如 Authorization 或 content-type: application/json。
  6. 定義參數:為每個參數設定名稱、位置(查詢、本文或標頭),以及告訴 AI 如何組成值的說明。路徑值不是參數位置;請使用 {{placeholder}} 範本語法直接插入端點 URL。
  7. 測試要求並驗證回應,然後點選完成。

所有值欄位(URL、標頭、本文或查詢)都可透過 + 新增 AI 資料按鈕使用動態預留位置。您可注入 AI 參數、內建對話變數({{scenario_id}}、{{language}}、{{country}} 等)及對話中繼資料({{metadata_*}})。完整參考請見 AI Action 變數。

除了要求本身,API Action 還有三個值得了解的選用設定:儲存至記憶、僅在符合條件時執行及回應篩選條件。

使用提供的範本及合成範例值預覽 API Action 要求。請省略憑證標頭。預覽只呈現要求,不會傳送。

使用執行時機選擇以下三種模式之一:

此區段預設收合,標題旁顯示目前生效的模式;展開即可變更。

展開的執行時機區段,顯示由 AI 決定、首次回覆前及中繼資料符合條件時三種模式

  • 由 AI 決定:預設模式。AI 讀取 Action 說明,判斷訪客要求是否需要執行 Action。適用於只應針對特定問題,或 AI 已收集訪客資訊後才執行的 Action。
  • 首次回覆前:訪客傳送第一則訊息後、AI 撰寫首次回覆前,Quickchat 執行 Action 一次。一般 AI 回覆會收到其回應,以及透過儲存至記憶保存的值。AI 不再能將此 Action 選作工具,因此只在第一回合執行,之後不會再執行。適用於客戶識別、帳號脈絡、權益檢查,或每段實際對話都需要的初始化工作。
  • 中繼資料符合條件時:Quickchat 在每個 AI 回合後檢查 Action 的執行條件,並在所有條件首次符合時執行。同一回合中其他 Action 儲存至記憶的值可立即使用。AI 無法將此 Action 選作工具,其回應也不加入聊天。適用於對話資料可用後應自動進行的內部通知、CRM 更新或後續要求。

首次回覆前以訪客第一則訊息為觸發點,而非建立對話。開啟聊天或收到歡迎訊息不會執行,因此未繼續的聊天不會發出要求。Quickchat 會在呼叫端點前記錄執行,即使要求失敗或結果不明,也不會在同一段對話重試。

首次回覆會等待要求完成,因此此模式可能增加延遲。若多個 Actions 使用此模式,會依序執行,各要求耗時相加。若缺少必要中繼資料、端點不可用或要求失敗,AI 仍會回覆。請開啟 Action 的要求紀錄了解發生了什麼。

由於 Action 在 AI 選擇參數值前執行,它使用的每個 AI 參數都必須有預設值。中繼資料及內建變數可直接插入 URL、標頭、查詢或本文。

中繼資料符合條件時至少需要一個執行條件,且每個 AI 參數都必須有預設值。Quickchat 會在呼叫端點前記錄嘗試,因此一旦要求送出,無論成功、失敗或結果不明,同一段對話都不會重試。若因所需值尚未存在而根本無法建立要求,則不會記錄,後續回合仍可執行。Action 會在 AI 完成回合後立即執行,因此失敗不會取代 AI 回覆。在不採用串流回覆的管道上,要求往返時間會加到訪客等待回覆的時間中。

選擇中繼資料符合條件時後,同一區段會顯示執行條件編輯器,讓觸發方式及條件放在一起。

執行時機設為中繼資料符合條件時,包含 escalation_flag is true 及 order_id exists 兩個執行條件

若管道可能提供電子郵件地址或電話號碼,請為每種識別資料各建立一個查詢 Action。兩者都設為首次回覆前,再加入對應的僅在符合條件時執行條件,例如 visitor_email exists 或 visitor_phone_number exists。Quickchat 只會傳送中繼資料確實存在的要求。

HubSpot Action 會開啟使用已連接 HubSpot 帳號的預填 API Actions 範本庫,所有內容都可編輯。

HubSpot CRM Actions 範本庫,工單區段中有新增工單備註

新增工單備註範本會在與對話連結的 HubSpot 工單建立私人備註。將備註內容以 hubspot_note_body 儲存到對話記憶,再新增並啟用範本。它已預設為中繼資料符合條件時,等待 hubspot_note_body 與 Quickchat 伺服器提供的 hubspot_ticket_id 都存在後才執行。您可編輯 note_body 參數的預設值,在 {{metadata_hubspot_note_body}} 前後加入固定文字。

備註僅供 HubSpot 內部使用,不會顯示給訪客。範本在每段 Quickchat 對話只嘗試要求一次。開啟 Action 的要求紀錄,確認送達或調查失敗要求。

Discord Action 會開啟預填且可編輯的 API Actions 範本庫:

  • 支援與工單:建立支援工單要求您選擇伺服器及文字頻道,也可選擇允許提及的支援角色。它會建立三個 Actions,依序開啟私人討論串、加入目前請求者,再張貼摘要並視需要提及角色。
  • 內容管理:暫時禁言成員、踢出成員、封鎖成員、解除成員封鎖、指派角色、設定慢速模式及傳送公告。每個範本皆可一鍵安裝,並使用目前 Discord 請求中的伺服器、成員、角色或頻道。

Quickchat 會在後端建立 HTTP 方法、URL、標頭、本文、參數、說明、回應設定及執行條件。產生的卡片是一般 HTTP Request Actions,您可檢查並編輯每個欄位。

全部七個內容管理範本都在僅在符合條件時執行中包含 author_is_admin is true。Discord 計算目前作者的 Administrator 權限,由 Discord 閘道提供此值,Quickchat 再於傳送要求前檢查。公開聊天及 API 中繼資料無法設定此鍵。請使用管理員與非管理員帳號在 Discord 中測試內容管理 Actions;AI 預覽不提供已授權的 Discord 寄件者。

內容管理 Actions 可編輯。移除或弱化 author_is_admin is true 條件,就會移除原本提供的授權界線。踢出與封鎖執行前不會要求確認。

範本本身不會新增自動化。Agent 僅在管理員於對話中要求時執行;不會跨對話累計違規次數、不驗證螢幕截圖或其他證據,也不會排程或自行發起處分。

機器人本身仍需要每項要求對應的 Discord 權限:

Action機器人權限或存取權
暫時禁言成員Moderate Members
踢出成員Kick Members
封鎖成員、解除成員封鎖Ban Members
指派角色Manage Roles
設定慢速模式Manage Channels
傳送公告View Channels 及 Send Messages

Discord 也會強制執行角色階層規則。請將機器人角色放在它應管理的成員與角色之上。範本不會對提出要求的管理員額外檢查角色階層或逐項權限。

設定慢速模式與傳送公告接受頻道 ID 參數。若沒有額外固定目標,範本不會驗證頻道是否屬於管理員提出要求的伺服器。若同一個機器人加入多台伺服器,請將這些 Actions 改成固定頻道 ID,或使用不同 Agent 及機器人憑證隔離伺服器。

支援工單安裝會使用既有 Action 功能傳遞資料:

  1. open_support_ticket 在所選頻道建立私人討論串,擷取 $.id,並以 discord_ticket_thread_id 儲存至對話記憶。它要求 discord_message is true,僅在所選伺服器執行,且只在該記憶鍵尚未存在時執行。
  2. add_ticket_requester 讀取 {{metadata_discord_ticket_thread_id}} 及 Discord 提供的 {{metadata_discord_author_id}}。它要求 discord_message is true,並在討論串 ID 已存在後,僅於所選伺服器執行。
  3. post_in_ticket 讀取同一個已儲存討論串 ID,張貼 Agent 的單行問題摘要並提及請求者。若您選擇支援角色,也會提及該角色。它使用相同的 Discord 訊息、伺服器及已儲存討論串條件。其 Discord 本文的 allowed_mentions 僅允許請求者,以及設定時所選的角色。

說明及 Agent 提示詞應要求 Agent 依此順序執行 Actions。沒有額外的工作流程狀態、鎖定、確認、重試、復原、核對或重放防護層。如果結果不明,請先檢查 Discord 及 Action 紀錄再重試,因為 Discord 可能已完成要求。

discord_ticket_thread_id 不會自動清除,因此此入門範本每段 Quickchat 對話僅支援一張工單。要建立另一張工單,請開始新的 Discord 對話或討論串,或編輯 Actions,加入所需的記憶生命週期管理。

對支援工單,請在所選工單頻道授予機器人 View Channels、Send Messages、Read Message History、Create Private Threads、Send Messages in Threads 及 Manage Threads 權限。若不需提及任何角色,請將通知角色(選填)維持為不通知角色。若選擇角色,該角色必須允許提及,且成員需有私人討論串存取權。沒有可提及角色時,工單仍會正常建立,只是不發送角色通知。範本庫會列出文字頻道及可提及角色,但不驗證所有頻道權限覆寫設定。

Discord Actions 需要在外部應用程式 → Discord → 進階設定中提供您自己的 Discord 應用程式 Token。僅使用共用的一鍵機器人無法提供此 Token。請參閱 Discord。

範本庫是設定捷徑,並非額外的政策層。若編輯產生的 Action 或建立自訂 Discord API Action,請在啟用前檢查其憑證、目標、參數、回應揭露範圍及「僅在符合條件時執行」條件。

將 Action 輸入或 API 回應中的值,以您選擇的鍵儲存至對話記憶。後續 Actions 可用 {{metadata_<key>}} 重複使用,且會顯示在對話詳情中(收件匣、API 及匯出)。

當某個 Action 產生後續 Action 需要的資料時使用。例如,查詢 Action 可從回應儲存 customer_id,後續 Action 再傳送 {{metadata_customer_id}},AI 無需手動複製該值。

在 API Action 編輯器開啟儲存至記憶並新增一列:

  1. 選擇來源。API 回應讀取 API 的 JSON 回應,是新列的預設值。Action 輸入讀取 Action 所宣告的輸入參數值。
  2. 在要儲存的值中,對 Action 輸入從下拉選單選擇參數;對 API 回應則輸入 JSONPath 運算式,例如 $.customer_id。
  3. 選擇記憶鍵。常見的英文姓名、電話及電子郵件輸入名稱,會建議對應的訪客鍵。您可保留建議或輸入自訂鍵。

若要在收件匣儲存聯絡資料,請使用 Action 輸入及下列對應:

Action 參數記憶鍵
Name 或 Full namevisitor_name
Phone number 或 Phonevisitor_phone_number
Email 或 Email addressvisitor_email

輸入必須在 Action 上宣告。透過 Action 輸入記憶規則儲存,會視為使用該參數,因此可只收集至記憶,而不傳送於 HTTP 要求中。這些訪客鍵會使用與智慧資料收集相同的驗證,填入未設定的收件匣聯絡欄位及對話中繼資料。既有聯絡資料及操作人員明確清除的欄位會保留。API 回應規則無法寫入這些訪客鍵;CRM 回應值請使用 customer_id 之類的自訂鍵。

輸入在 Action 通過必填輸入及執行條件檢查後、HTTP 要求前儲存。因此,即使 API 回傳錯誤或逾時,有效聯絡資料仍可使用。若要驗證,請在新的預覽對話中執行 Action,再從收件匣開啟該對話。編輯器的獨立 API 測試沒有可儲存記憶的對話。

記憶鍵與 Agent 的 Remote MCP 工具共用。若 MCP 工具已儲存到相同鍵,儲存時記憶鍵欄位會指出衝突,請選擇其他鍵。Remote MCP 工具仍從其結果儲存值。

使用 snake_case 鍵(字母、數字、底線)。像 customer_id 這樣的鍵可用 {{metadata_customer_id}} 引用;含空格或其他標點符號的鍵無法用於預留位置。中繼資料變數的運作方式請見對話中繼資料。

限制 Action 僅在對話中繼資料條件成立時執行。條件一律在我們這一側、模型之外檢查。使用由 AI 決定或首次回覆前時,Quickchat 在傳送要求前立即檢查。使用中繼資料符合條件時時,條件本身會在 AI 回合後觸發要求,不必等待 AI 選擇 Action。

這適合權限敏感或無法復原的 Actions(封鎖成員、退款、刪除紀錄)。提示詞中的「只有管理員能執行」是有用指示,但不是安全界線:有心的使用者可能與模型爭辯或嘗試提示詞注入。執行條件具確定性且位於提示詞之外,無論對話說什麼都會生效。

  • 執行條件才是界線。 它在伺服器端評估,不是模型讀取的提示詞內容。這才是實際阻止 Action 執行的機制。
  • 提示詞規則負責使用體驗。 提示詞中也保留相關指示,讓 AI 禮貌拒絕並說明原因,而不是沒有回應。

在 Action 編輯器的僅在符合條件時執行區段新增條件。對中繼資料符合條件時的 Action,此區段標示為執行條件。點選新增條件,選擇中繼資料鍵(例如 telegram_sender_is_admin),再選擇比較方式:

條件中繼資料值符合以下情況時通過
為真值視為真
為假值視為假
存在對話中存在該鍵
不存在對話中沒有該鍵
等於符合您指定的值
不等於不同於您指定的值
為下列其中之一完全符合所列任一值,包括大小寫及空白
包含文字是包含指定文字的字串,區分大小寫且逐字比對

只有所有條件都成立時 Action 才會執行。編輯器在各列間顯示 AND。若條件阻擋 AI 選擇的 Action,AI 可說明該 Action 無法使用。中繼資料符合條件時的 Action 在條件通過前保持靜默。

若同一個鍵允許多個選項,請使用為下列其中之一,將每個選項分別輸入為值標籤。例如,modelName is one of [K-65XR95M2, K-75XR95M2, K-85XR95M2] 可與 country equals UK 並列,兩列都必須通過。最多可新增 50 個選項,每個最多 500 個字元。逗號視為值的一部分。同一個鍵若用多列等於比較不同值,不可能同時符合。

包含文字檢查的是字面子字串,不是萬用字元或規則運算式。XR95M2 也會符合上述三個型號以外的名稱變體。這兩個新條件都拒絕缺少的鍵、null、清單及物件;包含文字也拒絕數字及布林值。不得使用空白比較文字。既有的為假、不等於及不存在條件可以符合缺少的鍵。

僅在符合條件時執行區段,包含一個 telegram_sender_is_admin is true 條件

條件未通過時,不會傳送要求,AI 會告訴使用者無法執行。下圖中,相同封鎖要求對非管理員遭阻擋,對管理員則允許;唯一差別就是提出要求的人:

非管理員的封鎖嘗試被執行條件阻擋:不傳送要求,結果為拒絕

管理員提出相同封鎖要求:執行條件通過,Action 傳回 200

只應依據 Quickchat 設定的中繼資料(例如管道驗證的 telegram_sender_is_admin 旗標)進行限制,不應使用訪客能影響的值。各鍵的來源請見對話中繼資料。

預設 AI 可看見完整 API 回應。在回應篩選條件區段新增 JSONPath 運算式,可將 AI 可見範圍限制在特定部分。

常見的兩個篩選理由:

  • 隱藏敏感欄位。 當端點回傳內容超過 AI 所需時,將客戶電子郵件、付款詳情或內部 ID 排除於模型脈絡之外。
  • 縮小提示詞。 詳細的 API 可能回傳大量資料;只保留重要欄位,可讓回應精簡、AI 保持專注。

新增一個或多個 JSONPath 運算式。篩選會保留所選欄位所在的物件及陣列結構,而非攤平成值清單。所選路徑外的欄位會省略。例如使用以下兩列:

  • $.customer.name
  • $.orders[*].id

假設 API 回應如下:

{
"customer": {"name": "Ada", "email": "ada@example.com"},
"orders": [{"id": 101, "total": 25}, {"id": 102, "total": 40}]
}

AI 會收到以下篩選後回應,其中 customer 仍為物件,orders 仍為物件陣列:

{
"customer": {"name": "Ada"},
"orders": [{"id": 101}, {"id": 102}]
}

正式使用前,請透過測試回應面板查看 AI 篩選後實際收到的內容。詳見測試 Action。

若 JSONPath 沒有符合任何內容,AI 就只會收到空回應。請先不加篩選、確認呼叫可用,再逐步縮小範圍。

API Action 編輯器的回應篩選條件區段

在提供的 JSON 回應中預覽 JSONPath 比對結果。預覽支援根、欄位、陣列索引及萬用字元路徑,可用於回應篩選條件或儲存至記憶規則。

側邊欄 Actions 與 MCPs 旁的警告表示某個 Action 需要處理。開啟頁面,將游標停在卡片徽章上或將焦點移至徽章,即可了解原因:

  • 發生錯誤:近期呼叫持續失敗。徽章顯示失敗次數及最新錯誤(若有)。
  • 未執行:Action 一再遭略過,目前健康狀態期間內沒有實際執行的呼叫。請檢查所列原因,例如缺少對話值或設定問題。
  • 需要重新連接:MCP 連接失去授權並遭停用。開啟編輯,重新連接並再次啟用。

健康狀態使用最近七天的實際對話;若 Action 最近一次編輯距今更短,則從該次編輯起算,與測試要求分開計算。修正並儲存 Action 後,請檢查新對話以確認修正有效;單純清除舊警告不代表正常運作。

對發生錯誤或未執行,點選檢視詳情會開啟已啟用僅顯示問題的要求紀錄。檢視紀錄則顯示所有呼叫。關閉僅顯示問題即可比較問題呼叫與成功呼叫。

略過的對話獨立列出 Action 無法執行的對話,與實際呼叫分開。使用檢視對話檢查脈絡,顯示更多載入較舊項目。Action 可能在部分對話成功、部分對話遭略過,因此即使沒有警告徽章,也可能出現此清單。

若原因列出缺少的值,例如 {{metadata_visitor_email}},請透過網站或管道中繼資料提供,或讓較早的 Action 儲存至記憶。接著檢查執行模式:

  • 由 AI 決定:只有已具備所需值的對話,才會向 AI 提供此 Action。
  • 首次回覆前:訪客傳送第一則訊息時,就必須已有這些值。
  • 中繼資料符合條件時:為每個必需值新增存在條件,讓 Action 等待資料。

對話值的來源請見 AI Action 變數。

當 HTTP 或遠端 MCP Action 需要處理時,活動摘要電子郵件也會包含 AI Actions 需要處理區段。最多列出五個 Actions,各附原因及 Actions 與 MCPs 連結;超出數量會顯示還有多少個需要處理。一切正常時不顯示此區段。

電子郵件顯示目前健康狀態,其範圍可能超過每日摘要的活動期間。儲存修正後的 API Action,其健康評估會從該次編輯重新起算。重新連接或中斷受影響的 MCP 連接,會清除授權警告。既有摘要電子郵件偏好及資格規則仍適用,不會另外寄出警示郵件。

  • 說明要明確。告訴 AI 何時使用 Action,以及每個參數應包含什麼。
  • 權限範圍保持最小。僅加入端點需要的標頭及 Token。對 Jira,使用由 Atlassian 電子郵件與 API Token 產生的 Basic 標頭。
  • 推出前先測試,使用測試要求面板,確認目標工具中的狀態碼及範例資料正確。

最後更新於: