定義 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 範例示範完整建立過程。
選用設定工具
Section titled “選用設定工具”-
檢查 Action 執行條件。針對提供的範例中繼資料評估條件,不會執行 Action。
-
檢查範例 MCP 連接。僅對 Cloudflare 文件或 Microsoft Learn 端點初始化並列出工具,不會登入或執行工具。
自訂 Actions
Section titled “自訂 Actions”自訂 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 重新安裝。
自訂 Actions 的運作方式
Section titled “自訂 Actions 的運作方式”- 選擇 Action 類型:API Action、MCP、HubSpot Action、Discord Action、Google Sheets 或 Shopify MCP,並設定連接及 AI 需要的指示。
- 聊天期間,AI 通常會根據 Action 說明及可用工具或參數詳情,決定何時執行。API Action 也可改為在首次回覆前,或中繼資料條件首次符合時自動執行。
- Quickchat 執行呼叫。由 AI 選擇或在首次回覆前執行的 Action,其回應可供 AI 使用。由中繼資料觸發的 Action 會靜默執行,輸出不加入聊天。
- 在對話中使用前,請先從編輯器測試或連接 Action。
將說明寫成給 AI 的指示,告訴它何時使用、會傳回什麼,以及任何限制(例如「僅在使用者提供訂單號碼時呼叫」)。
根據說明草擬 Actions
Section titled “根據說明草擬 Actions”- 在 Actions 與 MCPs 中,選擇 + 新增 Action > API Action。
- 描述工作流程、Agent 應何時採取動作、要使用的 API(或提供其文件連結),以及每個步驟所需資訊。點選產生。
- Quickchat 最多準備四個新的 API Action 草稿,全部保持停用。結果可能建議使用既有 Actions 以免重複建立,或要求更多細節。產生草稿不會執行 Actions。
- 閱讀使用的現有 Actions、任何先決條件及後續步驟。完成設定、替換預留位置值,並檢查每個 Action 的要求、指示及執行條件。在啟用草稿或任何必需但停用的既有 Action 前,先逐一測試。
建議順序描述的是預期行為,不保證 AI 選擇 Actions 的順序。請使用必填輸入、已儲存記憶及執行條件表達相依關係。啟用 Actions 後,應在對話中測試完整流程。
建立 API Action
Section titled “建立 API Action”- 前往 Actions 與 MCPs。
- 在自訂 Actions 中點選 + 新增 Action,選擇 API Action,再點選手動建立。
- 填寫詳細資料:
- 名稱:清楚且具描述性。
- 說明:何時使用,以及參數應包含什麼。
- 在執行時機中選擇由 AI 決定、首次回覆前或中繼資料符合條件時。
- 設定連接:
- Action 類型:HTTP 方法(GET、POST 等)。
- API 端點 URL:完整 API URL。
- 標頭:新增必要標頭,例如
Authorization或content-type: application/json。
- 定義參數:為每個參數設定名稱、位置(查詢、本文或標頭),以及告訴 AI 如何組成值的說明。路徑值不是參數位置;請使用
{{placeholder}}範本語法直接插入端點 URL。 - 測試要求並驗證回應,然後點選完成。
所有值欄位(URL、標頭、本文或查詢)都可透過 + 新增 AI 資料按鈕使用動態預留位置。您可注入 AI 參數、內建對話變數({{scenario_id}}、{{language}}、{{country}} 等)及對話中繼資料({{metadata_*}})。完整參考請見 AI Action 變數。
除了要求本身,API Action 還有三個值得了解的選用設定:儲存至記憶、僅在符合條件時執行及回應篩選條件。
使用提供的範本及合成範例值預覽 API Action 要求。請省略憑證標頭。預覽只呈現要求,不會傳送。
選擇 API Action 執行時機
Section titled “選擇 API Action 執行時機”使用執行時機選擇以下三種模式之一:
此區段預設收合,標題旁顯示目前生效的模式;展開即可變更。

- 由 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 回覆。在不採用串流回覆的管道上,要求往返時間會加到訪客等待回覆的時間中。
選擇中繼資料符合條件時後,同一區段會顯示執行條件編輯器,讓觸發方式及條件放在一起。

若管道可能提供電子郵件地址或電話號碼,請為每種識別資料各建立一個查詢 Action。兩者都設為首次回覆前,再加入對應的僅在符合條件時執行條件,例如 visitor_email exists 或 visitor_phone_number exists。Quickchat 只會傳送中繼資料確實存在的要求。
HubSpot Actions
Section titled “HubSpot Actions”HubSpot Action 會開啟使用已連接 HubSpot 帳號的預填 API Actions 範本庫,所有內容都可編輯。

新增工單備註範本會在與對話連結的 HubSpot 工單建立私人備註。將備註內容以 hubspot_note_body 儲存到對話記憶,再新增並啟用範本。它已預設為中繼資料符合條件時,等待 hubspot_note_body 與 Quickchat 伺服器提供的 hubspot_ticket_id 都存在後才執行。您可編輯 note_body 參數的預設值,在 {{metadata_hubspot_note_body}} 前後加入固定文字。
備註僅供 HubSpot 內部使用,不會顯示給訪客。範本在每段 Quickchat 對話只嘗試要求一次。開啟 Action 的要求紀錄,確認送達或調查失敗要求。
Discord Actions
Section titled “Discord Actions”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 功能傳遞資料:
open_support_ticket在所選頻道建立私人討論串,擷取$.id,並以discord_ticket_thread_id儲存至對話記憶。它要求discord_message is true,僅在所選伺服器執行,且只在該記憶鍵尚未存在時執行。add_ticket_requester讀取{{metadata_discord_ticket_thread_id}}及 Discord 提供的{{metadata_discord_author_id}}。它要求discord_message is true,並在討論串 ID 已存在後,僅於所選伺服器執行。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 編輯器開啟儲存至記憶並新增一列:
- 選擇來源。API 回應讀取 API 的 JSON 回應,是新列的預設值。Action 輸入讀取 Action 所宣告的輸入參數值。
- 在要儲存的值中,對 Action 輸入從下拉選單選擇參數;對 API 回應則輸入 JSONPath 運算式,例如
$.customer_id。 - 選擇記憶鍵。常見的英文姓名、電話及電子郵件輸入名稱,會建議對應的訪客鍵。您可保留建議或輸入自訂鍵。
若要在收件匣儲存聯絡資料,請使用 Action 輸入及下列對應:
| Action 參數 | 記憶鍵 |
|---|---|
Name 或 Full name | visitor_name |
Phone number 或 Phone | visitor_phone_number |
Email 或 Email address | visitor_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}} 引用;含空格或其他標點符號的鍵無法用於預留位置。中繼資料變數的運作方式請見對話中繼資料。
僅在符合條件時執行
Section titled “僅在符合條件時執行”限制 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、清單及物件;包含文字也拒絕數字及布林值。不得使用空白比較文字。既有的為假、不等於及不存在條件可以符合缺少的鍵。

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


只應依據 Quickchat 設定的中繼資料(例如管道驗證的 telegram_sender_is_admin 旗標)進行限制,不應使用訪客能影響的值。各鍵的來源請見對話中繼資料。
回應篩選條件
Section titled “回應篩選條件”預設 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 就只會收到空回應。請先不加篩選、確認呼叫可用,再逐步縮小範圍。

在提供的 JSON 回應中預覽 JSONPath 比對結果。預覽支援根、欄位、陣列索引及萬用字元路徑,可用於回應篩選條件或儲存至記憶規則。
檢查 Action 健康狀態與紀錄
Section titled “檢查 Action 健康狀態與紀錄”側邊欄 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 標頭。
- 推出前先測試,使用測試要求面板,確認目標工具中的狀態碼及範例資料正確。