Push Message
Push Message 是用於輸出訊息回應給使用者的 processor。
基本用法
執行 Push Message 時,會立即將設定的訊息內容發送給使用者,然後繼續執行下一個 processor。
配置參數
節點的屬性面板:

Name
顯示在畫布上的名稱,用於在工作流程中識別此 processor。
Description
用於補充此 processor 的用途,提升工作流程的可讀性。
Properties
Message(必填)
要發送給使用者的文字訊息內容。支援 Literal、Expression、Template 等設定類型,詳細說明請參考:Expression 介紹 - 取值方式。
Template
Message template 設定,用於定義訊息的呈現格式,可設定按鈕、圖片、快速回覆等豐富的訊息格式。
Flush
是否立即清空回覆緩衝區,預設值為 false。
回覆緩衝區的行為,就是將多個 Push Message 的訊息累積起來,例如 Push Message 1、Push Message 2、Push Message 3 等,直到對話完成後才清空。如下流程圖所示:
| 設定值 | 行為 | 適用場景 |
|---|---|---|
| false | 累積所有階段訊息直到對話結束才清空 | 預設對話行為或是第三方聊天平台(LINE、Discord 等) |
| true | 每則階段訊息立即清空緩衝區 | SDK 需要即時視覺效果的客製化介面 |
注意: 第三方聊天平台的 reply token 機制差異,開啟 true 可能會造成功能異常,請參考各聊天平台官方技術文件。
Payload
附加的資料內容(如元資料)要推送的額外結構化資料,可包含額外的結構化資料供前端使用。
在 Workflow CRD 中的設定
- name: proc-push-error-msg
type: push-message
labels:
display_name: Push Error Message
configs:
- name: message
value: 系統忙碌中,請稍後再試。
- name: flush
value: "false"
- name: template
expression: |-
(() => {
return { type: "HINT" };
})()
- name: payload
expression: |-
({ prevError })
flush 是布林值,但在 CRD 中一律寫成字串 "true" / "false"。
Automation Tool 類型的工作流程也用 type: push-message,但那裡只接受 payload 一個設定,扮演的是 Response 的角色。
連接關係
Success
當訊息成功發送後,工作流程會從此連接點繼續執行下一個 processor。
Failure
當訊息發送失敗時,工作流程會從此連接點繼續執行,並產生 prevError 變數儲存錯誤資訊。
一個實際的例子
把前一個節點查到的結果回給使用者。
| 欄位 | 值 |
|---|---|
| Message | Expression:'目前庫存 ' + low_stock.length + ' 筆' |
| Flush | 關閉 |
Message 也可以用 Template 模式寫成帶按鈕、圖片的訊息格式。
注意事項
- Message 支援 Expression 與 Template 兩種取值方式,兩者都能引用流程裡任何已存在的變數。
- Flush 是開關,決定這則訊息是否立即送出。