DMflow.chat
English官方網站
  • 🖐️Welcome
    • 聯絡我們
    • 😘名詞解釋
  • 開始
    • 創建及發布機器人
    • 如何分享機器人
    • DMflow.chat特點
    • 支援語言
    • 防止濫用
    • Roadmap
  • 租戶
    • 租戶管理
    • 個人資訊
  • 領域
    • ℹ️領域介紹
      • 領域管理
    • 📑文檔問答
      • 如何使用文檔問答
      • 如何優化文檔問答
    • 💬閒聊
      • 如何使用閒聊
      • 閒聊工具
      • 產品列表
    • ❓表單問答
      • 👏觸發器
        • LINE
        • Gmail
        • Google Calendar
        • Google Drive
        • OpenAI
        • SendGrid
        • Telegram
        • Instagram
        • Facebook
        • Threads
        • HTTP
      • 📖表單
      • 如何使用表單問答
  • 🖥️真人客服
  • 🪧角色
  • 🗂️儀表板
  • 🤖機器人
    • 📃機器人介紹
    • 🏁流程介紹
      • 回覆節點
    • 📢廣播功能
    • 📈機器人統計
    • 文字模板測試
    • AI 代理人
    • 發布
  • 🌈渠道
    • Web
    • Instagram
    • Telegram
    • LINE
    • Messenger
    • Whatsapp
  • 其他
    • WordPress
  • API
  • 版本
    • latest
    • 1.0.29
    • 1.0.24
    • 1.0.19
    • 1.0.17
Powered by GitBook
On this page
  • 觸發器的定義
  • 觸發流程包含項目
  • 參數說明
  • 其他函數使用
  • 背景流程預設項目
  • 測試
  • 注意
  1. 領域
  2. 表單問答

觸發器

DMflow.chat聊天機器人支持LINE訊息、OpenAI的Chat、Image、Audio、SendGrid郵件、Telegram訊息、Openrouter以及Google Calendar和Google Drive整合。

觸發器的定義

每個節點都是用JSON組成,什麼是JSON(JavaScript Object Notation),你可當作是一個傳遞和儲存資料的結構。

舉例: { "key": "value" }, 我們將key取名叫"鍵",value取名叫"值"。而每個節點儲存的方式為,節點名稱除了start名稱為start外,其餘都是uuid,所以假設有個節點叫97d860d4-5a7f-49e0-804a-7ce4891076bf,如果儲存在那個節點的資料為datas,可以參考以下格式。

{
  "start": {
    "username": "dmflow.chat"
  },
  "97d860d4-5a7f-49e0-804a-7ce4891076bf": {
    "datas": [
      {"id": "001", "name":"測試"},
      {"id": "002", "name":"測試2"}
    ]
  }
}

觸發器分為觸發流程和背景流程

  • 觸發流程是檢查輸入的文字是否有錯誤以及可以呼叫預設的LLM(預設Gemini 2.0 flash)進行補充文字。

  • 背景流程是當觸發流程抵達END且已經完成儲存、更新或刪除,所執行的流程。

觸發流程包含項目

  • IF: 根據條件(conditions)引導流程進入 true 或 false 節點。

  • ASSIGN: 將對話中獲取的內容儲存在特定欄位內。

  • RESPONSE: 根據填寫的 Prompt 生成新的對話輸出(output),並可通過 ASSIGN 節點儲存。

  • ERROR: 當輸入的欄位內容錯誤時,可以輸出ERROR節點,強制結束此對話。

  • STOREQUERY: 填寫一段對話,從中擷取 JSON,JSON 包含文字、檔案或其他訊息。根據這些訊息使用 ASSIGN 節點進行保存。

  • ROW_EXIST: 用於檢查過濾完畢的資料是否存在

  • ME: 將可以取得是哪位訪客調用這個觸發器。

IF 節點包含條件式,你可以透過條件式指向其他節點。

ASSIGN節點可以覆蓋鍵或者新增值

Response節點,只能用於表單問答,Fields為抓取欄位,Prompt為提示詞,Response為詢問用戶。若你將Response_only填寫為true,則不理會Fields的欄位,而是直接取得LLM回覆的回應。

舉例:

Fields:["姓名", "信箱"], Prompt: 請取得訪客填寫的姓名和信箱, Response: 您好,請填寫您的姓名和信箱方便我們連繫您。Response_only=false。若取得姓名和信箱則會回填到Fields內,儲存格式為以下。

node['14387998-e5dc-4edd-b35d-6aa3e83832af'].username
node['14387998-e5dc-4edd-b35d-6aa3e83832af'].email

Prompt: 請幫我翻譯訪客的問題, Response: 您好,請填寫訪客的問題,我將幫你翻譯成中文。Response_only=true。則會取得翻譯完的中文,儲存格式為以下。

node['14387998-e5dc-4edd-b35d-6aa3e83832af'].response

Error節點,用於假設條件錯誤或格式錯誤會回覆訪客。Response填寫為何發生錯誤的原因即可。

StoreQuery節點,用於保存暫時的用戶資訊包含詢問。每個節點下方都有Output可以參考這個節點可以取得那些資料。跟Me節點的差別只有Me節點會直接通過而StoreQuery會等待下次用戶回應。

RowExist節點,用於過濾某些欄位查看該列表是否存在,例如: 找尋用戶信箱'[email protected]'是否存在。

選擇表單為自己選定該領域所包含的所有表。是否不理會過濾碼,預設為會檢查這個表單的權限,若開啟不理會過濾碼則是admin權限,無視訪客權限查找全部文檔。

背景流程在觸發流程到達 END 且完成儲存、更新或刪除後執行。背景流程使用觸發流程產生的資料進行進一步處理。

參數說明

每個參數可以透過'{' 自動搜尋可填寫的參數。若是input則參數一定要放在雙大括號內{{xxx}}。若是textarea則參數可以透過{{xxx}} {{yyy}} 這樣方式渲染輸出。

其他函數使用

函數名稱
描述
範例

hash(text: string)

轉為hash數字

{{Utils.hash(''1234)}}=1914461635

uuid()

可以產生uuid v7

{{Utils.uuid()}}=01960608-fab0-7045-8757-186afa41b41e

randomValue(length: number)

可以產生長度相等的亂數

{{Utils.randomValue(3)}}=L6s

now(timezone: string)

將當前時間轉成yyyy-MM-dd'T'HH:mm:ssXXX

{{Utils.now('+08:00')}}=2025-04-05T20:59:33+08:00

toSeconds(dataString: string)

將yyyy-MM-dd'T'HH:mm:ssXXX轉為秒數

{{Utils.toSeconds('2025-04-05T00:00:00+08:00')}}=1743782400

generateSignature(body: string, secret: string, algorithm: 'SHA256'|'SHA1'|'SHA384'|'SHA512'|'MD5')

{{Utils.generateSignature('test', '123', 'MD5')}}=9kN+nANEEEvn7U7PFW01EQ==

encrypt(decode:string)

數值會跟不同的機器人和領域有所不同

無範例

decrypt(encode:string)

數值會跟不同的機器人和領域有所不同

無範例

passwdVerify(originalPassword: string, encodedPassword: string)

用BCrypt加密後的密碼跟原始密碼比較

無範例

passwdEncode(password: string)

使用BCrypt加密

無範例

atob(text: string)

Base64解碼

無範例

背景流程預設項目

  • HTTP: 調用外部HTTP資源

  • IF: 與觸發流程相同,根據條件引導流程。

  • ASSIGN: 與觸發流程相同,儲存內容。

  • LOOPS: 根據指定欄位會進行迴圈。

  • SEARCH: 可以指定表單撈出表單內的資料。

  • INSERT: 插入新資料(新列(row))。

  • UPDATE: 修改指定的ID資料

  • DELETE: 刪除指定的ID資料

  • NATIVE_UTILS: 用於使用我提供的功能,目前有將表單的檔案PresignedUrl的功能,讓第三方可以讀取。

測試

進入測試會以Server-Sent Events方式,讓你看到每一個節點的移動,你可以縮小並點選節點參數,可以看到該節點的參數。

注意

觸發器背景調用是調用第三方產品是使用租戶提供的密鑰,密鑰在資料庫都會加密保存,若有疑問請勿使用,觸發器除了測試的調用不會記錄,租戶可以自行查看觸發器的調用紀錄。

Previous表單問答NextLINE

Last updated 1 month ago

❓
👏
IF節點
ASSIGN節點
Response節點
Error節點
StoreQuery節點
RowExist節點
測試觸發器