# Welcome

聊天機器人DMflow\.chat可以讓用戶輕鬆設計專屬機器人流程，無論是複雜的設計還是簡單的領域呼叫，皆可實現。立即體驗，打造最智能的機器人助手！

DMflow平台將分為兩個部分，分別是領域和機器人。

* 領域為引導機器人使用額外的技能，主要內容包含意圖型、問答對、表格問答、表單問答、閒聊、文檔問答六大類，但目前只開放表單問答、閒聊、文檔問答以及問答對提供使用。
* 機器人主要則是提供用戶設計機器人的流程，可以根據你的目的設計複雜的流程或是單純呼叫領域簡易的機器人架構。

{% embed url="<https://www.youtube.com/@dmflow-chat>" %}
教學影片
{% endembed %}

{% embed url="<https://www.dmflow.chat/>" %}
dmflow\.chat(官網)
{% endembed %}

{% embed url="<https://app.dmflow.chat/>" %}
app.dmflow\.chat(應用程式登入頁面)
{% endembed %}


# 聯絡我們

DMflow\.chat聯絡信箱

聯絡信箱: <mailto:service@dmflow.chat>

公司名稱: 拓遠資訊有限公司


# 名詞解釋

以下DMflow\.chat常見的名詞及其定義：

* **Human Agent**: 真人客服代表
* **LLM**: 大型語言模型
* **sitemap.xml**: 網站地圖文件，用於提供給搜索引擎爬蟲了解網站結構和內容
* **DMflow\.chat**: 此產品名稱
* **Prompt**: 大型語言模型的提示詞
* **Branch**: 流程分支，包含條件判斷（真/假）
* **Fallback**: 預設應對措施，用於處理未命中情況
* **Embedding**: 向量化


# 開始

如何快速開始dmflow\.chat


# 創建及發布機器人

使用DMflow\.chat創建聊天機器人是一個簡單直覺的過程，技術用戶和非技術用戶都可以完成。透過幾個簡單的步驟，您可以快速設定聊天機器人並開始享受它的好處。

使用DMflow\.chat創建聊天機器人是一個簡單直覺的過程，技術用戶和非技術用戶都可以完成。透過幾個簡單的步驟，您可以快速設定聊天機器人並開始享受它的好處。

您也可以創建各種任務的聊天機器人，根據您的能力達成任何您想要的機器人

## 先決條件

您必須先創立租戶或者被租戶擁有者邀請，如何創建租戶擁有者，由[DMflow.chat註冊頁面](https://app.dmflow.chat/auth/register)

<figure><img src="/files/2smHJXL8m1LbWGacQb9Z" alt=""><figcaption><p>創建機器人</p></figcaption></figure>

創建完畢後，可以前往"對話流程"設計機器人。

### 測試機器人

往"對話流程"，點選上方的"測試"即可跳出視窗，顯示個渠道的視窗。

<figure><img src="/files/ll8zQLuYgABiOcIJtQWM" alt=""><figcaption><p>對話流程測試</p></figcaption></figure>

<figure><img src="/files/at8r3Z3Uq2lnjJgagyWz" alt=""><figcaption><p>測試選項</p></figcaption></figure>

你可以根據場景(不同應用地方)、視角(不同渠道)以及是否在測試時使用呼叫函數，可以設定測試變數。

## 發布機器人

點選"儲存"(在"測試"按鈕同排左二)即可新增開發版本的機器人。並在"對話流程"那欄位找到"發布"即可同步到生產版本。

<figure><img src="/files/QXuLu6AZ4CSFjGfAp9hu" alt=""><figcaption><p>發布</p></figcaption></figure>

## 選取渠道

<figure><img src="/files/olbOVtK3ETekTbILDWVf" alt=""><figcaption><p>選取渠道</p></figcaption></figure>

目前支援LINE、Messenger(Facebook)、Telegram、Instagram、WebChat、Whatsapp。


# 如何分享機器人

如何分享DMflow\.chat的機器人，只要點擊share就可以了

前往 [Web](/channel/web)選項點選分享，並將[https://app.dmflow.chat加入網域白名單，即可前往\[https://app.dmflow.chat/s/@8aYK2AoGe0e](https://docs.dmflow.chat/getting-started/https:/app.dmflow.chat加入網域白名單，即可前往\[https:/app.dmflow.chat/s/@8aYK2AoGe0e)]\(<https://app.dmflow.chat/s/@8aYK2AoGe0e>) 後面@{{ID}}則是你自己的機器人編號。

## 使用網頁內嵌機器人特點

* 可限制每個IP每小時對話數量(目前預設為每小時每個訪客100次對話)
* 不用設立任何網頁即可馬上體驗對話機器人


# DMflow\.chat特點

| 規格        | 描述                                                                                                                           |
| --------- | ---------------------------------------------------------------------------------------------------------------------------- |
| 持續整合/持續交付 | 擁有開發版並可以一鍵發布到生產版本                                                                                                            |
| 多渠道支援     | <ul><li>網頁聊天</li><li>LINE</li><li>Facebook Messenger</li><li>Instagram</li><li>Telegram</li><li>Whatsapp</li></ul>           |
| 安全        | <ul><li>靜態和傳輸中加密</li><li>HTTP資源調用將Config分離</li></ul>                                                                         |
| 圖形化流程     | <ul><li>低程式碼拖放使用者介面</li><li>多場景</li><li>對話可打斷(場景A->場景B->B結束->A繼續)</li><li>可使用喚醒模式(客戶輸入符合字串才叫醒機器人)</li><li>調用各種領域技能</li></ul> |
| 測試        | <ul><li>模擬個渠道輸出(若尚未支援也會提供JSON，例如:LINE Flex)</li><li>測試時可以關閉HTTP資源調用，採用測試變數</li></ul>                                         |
| 領域技能      | <ul><li>表單問答(用於數據保存，你可以利用他執行簡單的SQL)</li><li>閒聊(一般問答)，提供工具調用</li><li>文檔問答(非結構的問答)，提供時間限制</li></ul>                            |
| 客服        | <ul><li>支援各渠道真人客服</li></ul>                                                                                                  |


# 支援語言

此為機器人如何支援語言，若是使用AI技術請參考他們網站提供的語言版本。

## 語言跟網頁語系一樣通過使用者的定義執行

目前只有Telegram會提供語系，所以會自動轉換對應的語言，網頁版本則是要自己調用lang才能判斷語言，其他渠道因為沒有提供預設語系導致無法使用(使用者本身除了email、username、phone還有locale可以調整，只是目前尚未開放)。

以下是language對應的語言

| 語系     | 語言                  |
| ------ | ------------------- |
| en\_US | U.S.                |
| en\_UK | U.K.                |
| en\_CA | Canada              |
| en\_AU | Australia           |
| en\_IN | India (English)     |
| en\_ZA | South Africa        |
| zh\_CN | 简体中文                |
| zh\_TW | 繁體中文                |
| zh\_HK | 香港中文                |
| ja\_JP | 日本語                 |
| ru\_RU | Русский             |
| de\_DE | Deutsch             |
| fr\_FR | Français            |
| es\_ES | Español             |
| es\_MX | México              |
| es\_AR | Argentina           |
| pt\_PT | Português           |
| pt\_BR | Brasil              |
| it\_IT | Italiano            |
| ko\_KR | 한국의                 |
| ar\_SA | العربية             |
| id\_ID | Bahasa Indonesia    |
| en\_ID | Indonesia (English) |
| tr\_TR | Türkçe              |
| pl\_PL | Polski              |
| hu\_HU | Magyar              |
| cs\_CZ | Čeština             |
| nl\_NL | Nederlands          |
| da\_DK | Dansk               |
| sv\_SE | Svenska             |
| no\_NO | Norsk               |
| fi\_FI | Suomi               |
| el\_GR | Ελληνικά            |
| es\_PE | Perú                |
| uk\_UA | Ukrainian           |
| hi\_IN | Hindi               |

目前locale已經上升到100多種語言可選用。


# 防止濫用

## 限制

目前網頁的速率可以在 [DMflow.chat特點](/getting-started/features)找到，除了Facebook Messenger以及Instagram透過代管模式無限制外，其他渠道限制每秒可以處理的最大訊息數量為五次。

## 為何限制

因為非代管渠道的token、secret、verify\_token大多由租戶提供，容易被惡意租戶攻擊該公開端點。

## 配額

<table><thead><tr><th>名稱</th><th>免費配額</th><th>輕量配額</th><th>其他描述</th><th data-type="checkbox">付費版本可調整(額外付費)</th></tr></thead><tbody><tr><td>附件大小</td><td>5MB</td><td>5MB</td><td></td><td>false</td></tr><tr><td>單一表單最大列表</td><td>1000</td><td>50,000</td><td></td><td>false</td></tr><tr><td>文檔問答檔案限制</td><td>5MB(數量為5)</td><td>5MB(數量為100)</td><td>使用sitemap抓取靜態網站，使用網址抓取動態網頁</td><td>true</td></tr><tr><td>表單文本最大限制</td><td>16384</td><td>16384</td><td></td><td>false</td></tr><tr><td>儲存大小</td><td>100MB</td><td>1GB隨使用者人數增加</td><td>逐步增加</td><td>true</td></tr><tr><td>觸發器API</td><td>無法使用API</td><td>每小時最多為100次(含迴圈)</td><td></td><td>true</td></tr><tr><td>調用AI次數</td><td>每月1000點AI點數</td><td>每月1500點AI點數</td><td></td><td>true</td></tr><tr><td>渠道每秒限制</td><td>5</td><td>5</td><td></td><td>true</td></tr><tr><td>機器人數量</td><td>1</td><td>1</td><td></td><td>true</td></tr><tr><td>領域數量</td><td>3</td><td>3</td><td></td><td>true</td></tr><tr><td>每個機器人最大場景數量</td><td>5</td><td>5</td><td></td><td>true</td></tr></tbody></table>


# Roadmap

目前以Desktop/Android/IOS APP平台發布和修復Bug為主要

其次是UI/UX 改善

最後才是新功能

* 教學機器人支援自動設計表單schema、機器人流程以及儀表板的功能透過問答完成
* 將表單結合網頁輸出在分享頁面，綁定自身網域
* 添加專員用的標籤，而不是機器人用於推送的標籤

產品也會定期砍掉一些少用的功能。


# 租戶


# 租戶管理

租戶管理為只有租戶擁有者可以查看的頁面

### 帳戶管理

1. 可建立客服群組
2. 邀請其他用戶使用此租戶
3. 邀請dmflow\.chat用戶至租戶(這個帳戶跟一般帳戶權限一樣，若需要客製請先跟客服洽談在使用)，dmflow\.chat的用戶不會占用帳戶人數。

### 付款資訊

若需要**轉帳付款**，請先前往**公司轉帳驗證**，驗證完畢後會通知你，此時才能做付款功能。

若是海外帳戶可直接使用**Paypal**直接付款。

### 設定

設定為管理第三方渠道的地方，若是要開啟整合記得先打開渠道啟用。

<figure><img src="/files/oAXO7tc6Nts3DQuT8TGt" alt=""><figcaption><p>設定</p></figcaption></figure>

### 統計

統計可以查看代理人統計資料、目前使用了多少附件、記憶總字數(可以在這裡清除一些過期的記憶)以及訊息統計、積分統計(AI積分使用量)、會話使用數量。

<figure><img src="/files/Q3hMQctdy7SpKZwv9juZ" alt=""><figcaption><p>統計</p></figcaption></figure>

### AI點數管理

若使用的是額外購買點數服務，將會先儲存在這裡，你若想要轉為真實點數在做轉移即可。

<figure><img src="/files/ha4lpBtUhScuPNICDXAT" alt=""><figcaption><p>AI點數管理</p></figcaption></figure>


# 個人資訊

可以在**右上角**點選**個人資訊**，裡面可以綁定Google OAuth2 Login以及更改原先帳號密碼。

以下可以綁定個人的第三方，當觸發器啟用的時候，若有啟動使用**自己憑證**，此時若有綁定自己的第三方將會進行取代原先的憑證。

<figure><img src="/files/MBVueJ6JY7esqJOWkfQ3" alt=""><figcaption><p>使用自己的憑證</p></figcaption></figure>

Gmail一般用戶不會顯示。另外Telegram為通知管理用，無法綁定自己憑證。

<figure><img src="/files/6PLskX7XoL8SQUO9pEoN" alt=""><figcaption><p>預設個人模組</p></figcaption></figure>

此為客服專員專用區，你可以上傳給訪客**對外公開的圖片**以及**名稱**，你可以自行設定工作時間。留言則是給其他專員查看你現在狀態。轉接則是當你今天沒有上班或是請假，預設會將你的訊息轉接給特定專員。

<figure><img src="/files/QjRccgHQilbLD3sSgElq" alt=""><figcaption></figcaption></figure>


# 領域介紹

領域代表機器人能使用到的技能組。

接下來會介紹**文檔問答**、**閒聊**、**表單問答**的使用。

領域命名目前**僅支援a-z\_使用**

語系目前僅支援**中文**和**英文**

語系包含有些預設回答未設置，會使用預設的語系回答。若是表單問答則是會跟搜尋效果有差。

<figure><img src="/files/tSIyC3ZmIaZ5iEVdv4WU" alt=""><figcaption><p>新增領域頁面</p></figcaption></figure>


# 領域管理

分為三大部分，分別是預設回覆、API管理以及機器人管理

### **預設回覆**

例如: fallback, quit以及預設的歡迎詞由此設定，若沒設定會依照領域預設的語系做預設回覆。

<figure><img src="/files/LJFeJZbmhJGzq44yCtXt" alt=""><figcaption><p>預設回覆</p></figcaption></figure>

### **API管理**

可以透過此管理API，注意密鑰會在產生後的十五分鐘後無法再次查看，請記得儲存。

<figure><img src="/files/jMa2bOU44JyxJG7LOL0j" alt=""><figcaption><p><strong>API管理</strong></p></figcaption></figure>

### 機器人管理

添加機器人讓該機器人可以使用領域，目前**AI代理人**不會因為**沒開放而無法調用**，而**流程式機器人**則**需要開放才可以調用**

<figure><img src="/files/W4j2eD1H9qEa1Ncppspi" alt=""><figcaption><p>機器人管理</p></figcaption></figure>

### 額外注意

**第一次使用領域給機器人調用要將該開發版本轉成生產版本**，機器人才可以調用該領域。**此動作操作一次即可**，由於後來設計都是即時更新，所以將不會每次重新發布成生產版本。

<figure><img src="/files/0cmWaIie1c7G0aktAUSQ" alt=""><figcaption><p>發布</p></figcaption></figure>


# 文檔問答

DMflow\.chat聊天機器人支持多種文件格式上傳，自動分析保存內容。具備sitemap.xml抓取、內容過期設置和反饋管理功能，提供一致且迅速的多語言回答。減少客服工作量，提升服務質量和客戶滿意度。立即體驗！

您可以通過 CSV、JSON、HTML、DOCX 、PDF和語音 等格式將文件上傳至 DMflow .chat平台，系統將自動分析並保存分析完畢的內容。

### 相對其他平台優勢

* **提供 sitemap.xml 上傳功能**：

平台會自動抓取並分析網頁內容，當客戶詢問相關信息時，系統會提供直接的網頁點擊連結。(目前sitemap/rss/atom僅支援靜態網頁抓取，選取單一網頁才可抓取動態網頁)

* **設置內容過期時間**：

您可以設置文件的過期時間，當到達過期時間後，平台將不再擷取該文件的內容。

* **使用者反饋管理**：

您可以通過日誌標籤查看使用者對問答的反饋（如“有用”或“沒用”），並對其進行修改。

* **數據分析**：

提供檢索的精確度(Retrieval Precision)、檢索的召回率(Retrieval Recall)、答案的相關性(Answer Relevancy)、答案的可靠性(Answer Faithfulness)以及歷史資料讓你更能做出更精確的RAG。

不管是AI 代理人或者閒聊角色或者文檔問答只要使用知識庫功能都會儲存以下數據，你可以透過完成去將這個問題在UI移除。

<figure><img src="/files/aQ2af7eMcWcNRu8jASuz" alt=""><figcaption><p>問答顯示</p></figcaption></figure>


# 如何使用文檔問答

如何快速使用DMflow\.chat實行文檔問答

前往領域點擊你新創建的文檔問答。

<div data-full-width="true"><figure><img src="/files/0zuOaHUGBYkxlENPwjP4" alt=""><figcaption><p>文檔問答頁面</p></figcaption></figure></div>

你將會看到可以上傳分為

* File: 目前僅限制5MB以內，可上傳PDF、CSV、JSON、HTML、DOCX
* Audio: 目前僅限制5MB以內，檔案格式為mp3; m4a; wav
* Dialog: 可上傳Q\&A的CSV

### 額外配置

* 過期時間
* 分類 (可以將問題更精確透過大型語言模型歸納該問題群簇)

### 檔案

* 不受限於字數。
* CSV可以選擇幾個項目為一組，可以一起做分塊
* JSON可以選擇幾個項目為一組，且可以使用JSON Pointer指定路徑
* HTML可以選擇傳送HTML檔案，也可以使用連結，支援XML(sitemap、rss、atom)，可以根據連結、標題、簡介做過濾(只會過濾XML裡面存在的項目，而非擷取網站後的內容)

### 語音

* 5MB，支援mp3、 m4a、wav

### 對話上下文

* 可以直接上傳問題和答案，整理成CSV即可
* CSV標題為type, sentence, session\_id\
  type: 可以選擇Q或A\
  sentence: 選擇你要的Q或A的內容\
  session\_id: 若同個session\_id會將相同的Q和A盡量保存在同一個分塊內


# 如何優化文檔問答

除了自己調整文檔內容，如何能添加已經有確定答案的回答呢，在此篇你將會得到解答。

除了文檔評估功能外，你可以透過**語法完成**，填寫問題和回覆以及參考的網址優化回答。

語法完成可以優化你的回答，以及**追加卡片回覆**，**卡片回覆**可以讓你有命中關鍵字可以透過廣告推廣你的一些產品。

語法完成若用於文檔問答(未開啟進階功能)回覆若比對問題相似度大於0.9(語言不同會視為不相似)將直接送出，不會扣除AI點數。

未來可能整合類別(category)或者可提供相關的文檔ID會一起搜尋。

<figure><img src="/files/fS10JpCCb7CqKLsFmyOH" alt=""><figcaption><p>語法完成</p></figcaption></figure>


# 閒聊

透過DMflow\.chat平台的預設Prompt和小樣本對話，機器人能準確回答問題。支持翻譯、潤色等技能，並提供SQL查詢工具。具備查詢、建立、搜尋和更新文檔功能。語音辨識和圖片辨識模型現已開放。提高客服效率，提升客戶滿意度。

閒聊有兩個部分可以了解，分別是Prompt以及小樣本對話。

### Prompt

Prompt（提示詞）是機器人根據提示內容回答使用者問題的關鍵。若您對提示詞的使用不熟悉，可以在我們提供的測試選單中選擇角色 SYS\_PROMPT，與之對話即可獲得有用的提示詞建議。

您可以透過以下{{...}}插入Prompt內，會自動新增該訊息文字。

* {{user\_profile}} 可以顯示{email, username, phone}
* {{cur\_time}}可以顯示當前時間。
* 其餘可根據變數參數自行調製整

### 小樣本對話

小樣本對話，是預先將機器人想要回答的模板固定，後續機器人將會根據此模板回答使用者問題。

### 用途

您可以將一些預設的技能（例如：翻譯、潤色句子等特殊用途）設置在這裡，供聊天代理人調用。此外，我們提供查詢表單問答的工具，該工具可以將使用者的問題轉換為 SQL 語句，從表單中調用相應內容並提供給使用者。

### 為何選用此問答

1. 閒聊用於提供聊天代理人調用，方便每次使用可以根據原先設定的方式輸出對話。
2. 提供查找表單的功能給予第三方渠道用戶。

### 閒聊目前開放工具為

* 查詢文檔，可以搜尋文檔問答的資料內容
* 新增文件，可以根據選取的表單進行建立(建立權限不理會表單的權限，只要角色擁有此權限就可以新增，不必理會表單權限)
* 搜尋文件，可以根據選取表單做搜尋，但是會根據表單權限搜尋到你能查找的
* 評價，可以根據回答最後詢問你今天滿不滿意
* 蒐集使用者資料，你可以根據此蒐集訪客的email、username、phone
* 語音辨識， 檔案必須小於5MB以及語音長度不得大於1分鐘
* 圖片辨識， 檔案必須小於5MB
* 推薦問題，自動建議用戶最多三個追加詢問
* Google Routes API，可查詢位置、距離
* 自定義資源，可調用自己的API，限制回傳Payload大小為4K
* 推薦產品，可透過我們產品列表查詢產品
* 查詢預約，可以透過起始時間和結束時間查詢前十個選項供選擇預約(用於有預約組件的表單)
* 蒐集用戶標籤，可以自動添加訪客標籤
* 取得插入表單連結，可以提供訪客外部連結，自動連接我們的表單功能
* 查詢位置，僅使用程式碼判斷經緯度距離
* 持久記憶保存，可以保存、搜尋以及刪除該訪客的記憶


# 如何使用閒聊

如何快速使用DMflow\.chat實行閒聊

前往領域點擊你新創建的閒聊，並點選新增角色，即可見到下圖

<figure><img src="/files/5YRiYp5cxDMsVM297uQf" alt=""><figcaption><p>新增角色</p></figcaption></figure>

### 頭貼

* 你可以使用預設的，也可以使用自行上傳，切換角色後，LINE的頭貼以及網頁的頭貼會更改成你選定的。

### 提示詞

* 你可以自行編寫提示詞，若不知道怎麼填寫可以前往測試有個SYS\_PROMPT可以自動產生簡單的提示詞(Gemini無法使用，必須切換成ChatGPT)
* 一般來說更建議Character、Skills、Constraints
* Character用來表示你想創建的機器人的個性、職業、能力等都可以撰寫在這裡
* Skills可以分成細項，例如Skill 1 、Skill 2等等
* Constraints你可以講述一些限制，像是輸出限制、輸出語言等等。

#### 提示詞範例(簡單版產生文章)

Character

You're a proficient article rewriter with a deep understanding of SEO in Traditional Chinese. Your task is to reorganize and enhance the original article provided by the user with a new title, description, and content. You will also extend your own knowledge to add detailed explanations for each subtitle, include any relevant links, and ensure the content is split into more paragraphs for better readability.

Skills

#### Skill 1: Reorganize and Enhance Articles

* Split the content into more paragraphs for better readability.
* Provide detailed explanations for each subtitle.
* Include any relevant links.

#### Skill 2: Extend Knowledge and SEO Optimization

* Extend your own knowledge to provide additional information.
* Ensure the article is optimized for SEO with relevant keywords.
* Translate and rewrite the content into Traditional Chinese.

Constraint

* The rewritten article must not be identical to the original.
* The output should be formatted in `markdown`.
* The language of the output should be Traditional Chinese.

### 歷史紀錄數量

你可以選擇0-30次紀錄，假如你是想用AI幫你行銷就越長越好，假設你是想讓AI做特定任務就越短越好。

### 小樣本提供

你可以在詢問前，先將固定模式的問答寫入，這樣子AI就會根據你先前的紀錄回答。

### 歡迎詞

當使用@或是#(Telegram)後面接上AI名稱即可直接呼叫，呼叫他後就會先將歡迎詞告知於你，你可以在這裡面寫一些使用此AI的資訊等。

### 語音提示詞

因為每個渠道的語音不能跟文字一起傳送，所以需要預先填寫，填寫完畢後上傳語音後，會跟這個提示詞一起送出。

語音限制

* 目前語音都會是單獨送出，而不會根據上下文送出
* 5MB以內，一分鐘以內

### 圖片提示詞

因為每個渠道的圖片不能跟文字一起傳送，所以需要預先填寫，填寫完畢後上傳圖片後，會跟這個提示詞一起送出。

圖片限制

* 目前圖片都會是單獨送出，而不會根據上下文送出

### 其他選項

* 若輪次有相似的問句，會直接將先前回。會自動判斷用戶詢問，若兩次詢問相似的問題則會直接用歷史回答回答訪客問題。
* 對話次數限制，0為無限制

### 技能

請前往下個閒聊工具詳細了解


# 閒聊工具

何謂閒聊，閒聊可以整合文檔問答以及表單問答。

### 如何查找參考domain\_id和table\_id，大多會有自動提示功能，但有些新的工具可能沒有。

<figure><img src="/files/sTUOWjZLyDCl71fBsGeP" alt=""><figcaption><p>如何查找domain_id</p></figcaption></figure>

<figure><img src="/files/kkCOyYry5ZazxZLMgIMK" alt=""><figcaption><p>如何查找table_id</p></figcaption></figure>

### search\_table

* domain\_id: 選取表單的領域(需要是表單問答)
* table\_id: 選取表單的ID

可以透過"SQL"查詢表單內容，搜尋的內容為訪客權限，您可以前往 [表單](/domain/formqa/form#biao-dan-quan-xian)，並且可以整合CARD輸出。

<figure><img src="/files/1mpFFOz1X02A6w31tnxl" alt=""><figcaption><p>卡片輸出</p></figcaption></figure>

你可以透過搜尋到的內容對應到該欄位，並且可以點選Preview做預覽。

### rate\_conversation

可以判斷顧客想要離開的意圖，並對顧客詢問此對話是否"有幫助"或是"沒用"，會自動寫入日誌內。

### search\_knowledge

* domain\_id: 選取表單的領域(需要是文檔問答)
* description: 描述該搜尋的詞

使用這個工具它會自行調用文檔問答的內容作回答。

### collect\_user\_info

* username
* email
* phone

只要將上述設定為true即可讓機器人根據使用者對話更新使用者資訊。

### create\_table\_data

* domain\_id: 選取表單的領域(需要是表單問答)
* table\_id: 選取表單的ID
* trigger\_id: 觸發器ID

使用此工具，你可以新增表單內容，調用此工具不需要設定表單權限擁有插入權限即可插入。當插入成功後會調用該觸發器。

### human\_agent\_help

使用此工具，假設用戶有需要真人客服時，會自動Fallback，並將訪客的問題記錄到共用筆記內。

### auto\_suggestion

使用此工具，會自動追加最多三個推薦用戶的詢問句

### googlemap\_routes\_api

* api\_key，請先從設置那邊加密完畢後再輸入
* limit，原本最大為25，可自行設定1-25，會先透過計算直線距離過濾最近的距離再調用此API。

<figure><img src="/files/kyKrMSprUwhdCWGTttES" alt=""><figcaption><p>加密API KEY的地方</p></figcaption></figure>

### custom\_service

可以自己外呼API，但Payload不得超過4K(CJK長度算1，其他語言大約3-5個字母為長度1)

* resource\_id: 資源ID
* name: functionName(相當於LLM 調用工具的名稱)
* description: function Description(相當於LLM調用工具的描述)
* parameters: {name: string, description: string, type: 'string' | 'number' | 'boolean' | 'string\_array', require: boolean, enums: string}

參數部分，僅支援字串、數字、是否(布林)以及字串陣列，目前不支援物件陣列，enums可以使用'|'分開，例如: 中文|英文｜日文。資源節點在後面會在介紹。

### suggestion\_items

透過內建產品搜尋功能

### search\_reserve\_range

必須先選擇有預約組件的表單，才可以使用此功能

* domain\_id
* table\_id
* description: 讓LLM可以清楚了解你想要預約什麼物件

### collect\_user\_tag

使用此工具可以蒐集訪客標籤，標籤名稱若存在訪客標籤則會進行添加。

{name: string, description: string}\[]

### get\_form\_link

可以取得插入表單組件的外部連結，綁定訪客身份

array name, description, table\_id

### code\_geodesic

使用程式碼判斷經緯度位置

### store\_memory

可以儲存、查詢、移除訪客持久記憶


# 產品列表

產品列表是什麼? 簡單說如果搜尋表單是透過價格跟文字去做搜尋，產品列表代表著可以用RAG的方式搜尋產品。

產品列表可以透過批量上傳也可以單個新增，由於目前僅支援1000個數量上傳，故只提供SPU ID做為測試使用。

<figure><img src="/files/t5TmMpQd6VLzsCT8DaMO" alt=""><figcaption><p>產品列表</p></figcaption></figure>

當啟用關閉後，該產品將會無法被搜尋到，你可以透過後面的 [API](/api)了解如何使用API去關閉產品。

<figure><img src="/files/POUfId7Xq9kGn34bo2Lu" alt=""><figcaption><p>新增列表</p></figcaption></figure>

你可能認為若沒有互動的狀態要如何推薦產品，請透過 [閒聊工具](/domain/chat/gossip-tools)中的記憶工具。


# 表單問答

提供表單給使用者填表。

在使用表單問答功能時，需要特別注意以下兩個部分：觸發器和表單創建。

### 表單目的

表單目的其實是為了補充渠道聊天外的操作，例如:Facebook/Instagram的貼文回覆、Email的回覆或是其他平台貼文創建以及貼文回覆，但目前完成的功能仍有限。導致表單問答目前用途較低。

### 觸發器

觸發器允許用戶進行新增、修改、刪除和查詢操作。您可以在表單中設置相應的按鈕來觸發這些操作。另外，您還可以預設觸發器，這些觸發器會與歡迎詞一起顯示，點擊後即可執行相應的動作。

### 表單創建

在創建表單時，您可以設置以下類型的欄位：關鍵字、數字、日期、布林（Boolean）、文本。

### 關鍵字

* 關鍵字是需要完全比對才能查詢，適合用於標籤、選擇(select)有選單的都適合此欄位，目前是總長度不能高於255。

### 數字

* 定義：數字型態欄位，適合用於存儲和處理數字數據。

### 日期

* 定義：日期型態欄位，適合用於存儲和處理日期數據。

### 布林(Boolean)

* 定義：布林型態欄位，用於表示是或否的狀態。

### 文本

* 定義：文本欄位適合用於存儲長文本，目前長度上限為 2^16個字符。由於第三方通訊產品對文字訊息通常有長度限制，如果文本內容過長，建議關閉此欄位的顯示功能，以避免在傳送時出現失敗情況。


# 觸發器

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

### 觸發器的定義

每個節點都是用JSON組成，什麼是JSO&#x4E;*(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 節點**包含條件式，你可以透過條件式指向其他節點。

<figure><img src="/files/cPlxeS1q155VBGuNgnqD" alt=""><figcaption><p>IF節點</p></figcaption></figure>

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

<figure><img src="/files/nZlCHByaQstmYLIAitU2" alt=""><figcaption><p>ASSIGN節點</p></figcaption></figure>

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

舉例:&#x20;

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
```

<figure><img src="/files/hSrCnstxC95R6ME6ykgq" alt=""><figcaption><p>Response節點</p></figcaption></figure>

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

<figure><img src="/files/zF0VcyO4RNcX61teWIlI" alt=""><figcaption><p>Error節點</p></figcaption></figure>

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

<figure><img src="/files/KbbzocI8gEzwWJVnesrN" alt=""><figcaption><p><strong>StoreQuery節點</strong></p></figcaption></figure>

**RowExist節點**，用於過濾某些欄位查看該列表是否存在，**例如**: 找尋用戶信箱'<service@dmflow.chat>'是否存在。

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

<figure><img src="/files/WAo6IhmCIIxrFgePOU52" alt=""><figcaption><p><strong>RowExist節點</strong></p></figcaption></figure>

背景流程在觸發流程到達 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方式，讓你看到每一個節點的移動，你可以縮小並點選節點參數，可以看到該節點的參數。

<figure><img src="/files/QDSqnEQSICKJLLfcTjsf" alt=""><figcaption><p>測試觸發器</p></figcaption></figure>

### 注意

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

&#x20;


# LINE

可以透過觸發器自動寄出訊息

### 支援動作

| 資源           | 操作         | 描述         |
| ------------ | ---------- | ---------- |
| Notification | Send       | 發送notify訊息 |
| Message      | Send Text  | Push 文字訊息  |
|              | Send Image | Push圖片訊息   |
|              | Send Audio | Push語音訊息   |
|              | Send Video | Push影片訊息   |

\*\* LINE的資源兩者用不同方式認證，所以不會在同一個節點。

Message將調用[PUSH](https://tw.linebiz.com/column/LINEOA-2023-Price-Plan/)請自行查看其價格。


# Gmail

目前不開放任何受限制的權限目前皆不開放，此項目僅供使用自己的ClientID以及Secret

### 支援動作

| 資源      | 操作           | 描述            |
| ------- | ------------ | ------------- |
| Message | Send         | 發送郵件          |
| Draft   | Create       | 創建草稿          |
| Thread  | Reply        | 回覆郵件          |
|         | Get a Thread | 取得相同的Thread郵件 |


# Google Calendar

可以透過觸發器新增、刪除、修改事件

### 支援動作

| 資源    | 操作     | 描述   |
| ----- | ------ | ---- |
| Event | Create | 創建日曆 |
|       | Delete | 刪除日曆 |
|       | Update | 修改日曆 |

### Event

#### Create

* Use FilterKey: 是否使用過濾碼，若用戶已經在個人->第三方整合過此產品，調用此產品會以個人連接的為主(目前僅能在對話渠道使用，暫時不能在儀表板使用)
* Calendar: Primary(一般都選這即可)
* Start: 開始時間(不能低於現在時間)
* End: 結束時間(不能低於現在時間)
* Use Default Reminders
* Description
* Location
* Summary

#### Delete

* Use FilterKey: 是否使用過濾碼，若用戶已經在個人->第三方整合過此產品，調用此產品會以個人連接的為主(目前僅能在對話渠道使用，暫時不能在儀表板使用)
* Calendar: Primary(一般都選這即可)
* EventId
* Send Updates

#### Update

* Use FilterKey: 是否使用過濾碼，若用戶已經在個人->第三方整合過此產品，調用此產品會以個人連接的為主(目前僅能在對話渠道使用，暫時不能在儀表板使用)
* Calendar: Primary(一般都選這即可)
* EventId
* Use Default Reminders
* Start
* End
* All Day
* Description
* Location
* Summary


# Google Drive

目前僅供查詢到由DMflow\.chat處理過的文件，若需要自己原本的文件需自備ClientID以及Secret

### 支援動作

| 資源     | 操作       | 描述    |
| ------ | -------- | ----- |
| File   | Upload   | 上傳檔案  |
|        | Delete   | 刪除檔案  |
|        | Share    | 分享檔案  |
|        | Update   | 修改檔案  |
|        | Download | 下載檔案  |
| Folder | Create   | 創建文件夾 |
|        | Delete   | 刪除文件夾 |
|        | Share    | 分享文件夾 |

Google Drive採用的權限，僅能操作以DMflow新增的檔案才能選取，無法選取本來就存在的檔案。


# OpenAI

支援OpenAI 包含文字、影像(DALL·E 3)，以及語音(t2s、s2t)

### 支援動作

| 資源    | 操作           | 描述 |
| ----- | ------------ | -- |
| Chat  | Complete     |    |
| Image | Create       |    |
| Audio | Speech       |    |
|       | Translations |    |


# SendGrid

支援寄出模板訊息以及一般訊息

### 支援動作

| 資源   | 操作   | 描述 |
| ---- | ---- | -- |
| Mail | Send | 寄送 |


# Telegram

可透過Telegram寄送消息

### 支援動作

| 資源      | 操作           | 描述 |
| ------- | ------------ | -- |
| Message | Send Message |    |
|         | Send Photo   |    |
|         | Send Audio   |    |
|         | Send Video   |    |


# Instagram

注意該上傳檔案到container以及container發布必須在不同觸發器上，此呼叫是通用型，並非專為Instagram處理，若需要排程上傳等功能，請查詢其他廠商或產品提供。

### 支援動作

| 資源        | 操作      | 描述      |
| --------- | ------- | ------- |
| Media     | Upload  | 上傳媒體    |
| Reels     | Upload  |         |
| Container | Status  | 容器狀態    |
|           | Limit   | 容器是否達上限 |
|           | Publish | 容器發布    |


# Facebook

### 支援動作

| 資源     | 操作      | 描述 |
| ------ | ------- | -- |
| Feed   | Publish |    |
| Photos | Publish |    |
|        |         |    |


# Threads

目前未開放

### 支援動作

| 資源        | 操作      | 描述 |
| --------- | ------- | -- |
| Container | Create  |    |
|           | Publish |    |
|           | Status  |    |
|           | Limit   |    |


# HTTP

HTTP節點需要先在外面的**資源管理**和**便數管理**處理。

<figure><img src="/files/Y4pM2T0MR43eCnfZM0MT" alt=""><figcaption><p>http節點</p></figcaption></figure>

## 變數以及資源管理 <a href="#bian-shu-yi-ji-zi-yuan-guan-li" id="bian-shu-yi-ji-zi-yuan-guan-li"></a>

* 變數管理：在對話流程中，您可以使用變數來管理和存儲資源所需的參數。變數用於傳遞資源參數，或是代表回傳參數。
* 資源管理：在對話流程中，資源節點用於管理資源的使用和連接對外的API，以實現業務邏輯的交互。資源節點可以執行特定的操作，例如調用外部API進行數據查詢、修改資源狀態、存取外部資料庫等。通過資源節點的使用，您可以在對話流程中實現與外部系統的集成，提供更豐富和個性化的服務。藉由資源管理，您可以有效利用現有的資源和外部服務來擴展對話系統的功能和能力。

### 變數管理

![DMflow新增變數](https://docs-on-prem.dmflow.chat/images/tw/bot-resource-var.png)

* 1.名稱：變數的名稱，通常使用英文來命名。名稱應具有描述性，以便在對話流程中識別和使用該變數。
* 2.指定變數的數據類型，可選的屬性有：
  * 字串（string）：用於存儲文字信息。
  * 數字（number）：用於存儲數值。
  * 日期時間（datetime）：用於存儲日期和時間。
  * 布林（bool）：用於存儲真假值。
  * 物件（object）：用於存儲複雜的結構化數據。
  * 陣列（array）：用於存儲多個值的集合。
* 3.描述：對變數的說明和解釋，可以提供更詳細的信息，以幫助開發人員理解該變數的用途和功能。
* 4.別名：這是一個可選的屬性，用於為變數指定別名，以便更容易理解和辨識該變數。例如，如果變數名稱是"price"，您可以為其指定別名"價格"或"價錢"，這樣在對話流程中使用該變數時，可以更直觀地理解其含義。

### 資源管理

![DMflow新增資源](https://docs-on-prem.dmflow.chat/images/tw/bot-resource-add.png)

* 1.資源名稱：該資源的名稱，使用英文進行命名。
* 2.描述：對該資源的說明和解釋，可以提供更詳細的信息，以幫助開發人員理解該資源的用途和功能。
* 3.請求地址：資源的業務邏輯地址，請填寫完整的URL，並確保已包含https協定。
* 4.請求型態：指定資源的請求方法，目前支援GET、POST、PATCH、PUT、DELETE請求方式。
* 5.Content-Type：指定請求的內容類型，可選擇URL編碼或JSON格式（application/json）。
* 6.請求頭欄位：填寫請求的標頭信息，根據不同的前綴指定不同的標頭類型，可選擇常數（constant）、使用者參數（user）\[目前僅支援閒聊對話，暫時不支援表單]。
* 7.參數：根據請求的Content-Type填寫相應的參數，這些參數將被注入到請求中。\[延伸2]
* 8.回傳值：指定該請求的回傳值，您可以指定要提取的JSON路徑，並將其值注入到指定的變數中。\[延伸3]

#### 延伸1

* constant:後面可放任何文字，不用理會前綴。

#### 延伸2

假設有一參數city=>城市

* URL:直接作為參數\&city=urlEncode(城市) 方式傳遞。
* JSON:則是 {"city":"城市"} 方式傳遞。

#### 延伸3

假設地址回應為{"city":"城市"}，有一參數city=>城市

那JSON路徑為city，鍵選擇變數city即可。而數值將會在"對話流程"中的"資源節點"做注入。

#### JSON路徑教學

JSON路徑：範例地址回應為{"city":"城市", "obj":{"apple":"蘋果"}, "order":\["訂單"]}

* 假如我們要拿城市則路徑為city
* 假如我們要拿蘋果則路徑為obj\['apple']
* 假如我們要拿訂單則路徑為order\[0]


# 表單

DMflow\.chat表單允許創建各類組件，包括文字框、標籤、Markdown顯示的文本框、勾選框、單選框、日期時間選擇器、日期選擇器、多選/單選框、Email驗證、檔案上傳、數字驗證、密碼加密、隱藏欄位、預約時間段和段落，並可以跟表單對話。

## 表單組件

當點選新增、修改時，會跳出的組件排版，組件的設計由上而下，因為只要更新組件同時組件也是對話時收集詞槽的標準。

### 組件內容

| 組件         | 描述                                                                                                                                  |
| ---------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| Text Field | 文字(\<input>)                                                                                                                        |
| Tags       | 標籤，可儲存多個內容在一個欄位。                                                                                                                    |
| Textarea   | 顯示為Markdown                                                                                                                         |
| Checkbox   | 數值適合true/false                                                                                                                      |
| Radio      | 數值適合單選                                                                                                                              |
| DateTime   | 可選取日期及時間                                                                                                                            |
| Date       | 可選取日期                                                                                                                               |
| Select     | 可多選/單選，Select可以整合其他表單的欄位，也可以監聽其他select數值做變動，需要注意的是被監聽的select需要在監聽的select下方，例如: 第一個select可以選擇縣市，第二個select可以選擇鎮，順序不能顛倒，否則使用聊天對話可能會出錯。 |
| Email      | 會幫你驗證是否為Email，你也可以用Text Field做正則表示法，目的相同。                                                                                           |
| Upload     | 檔案上傳，**檔案上傳目前不支援對話**，只能支援一般表單填寫。建議使用關鍵字。                                                                                            |
| Number     | 會幫你檢證是否為數字，你也可以用Text Field做正則表示法，目的相同。                                                                                              |
| Password   | 可以用Utils的加密及比對                                                                                                                      |
| Hidden     | 可以佔欄位數值，分為常數(固定數值)、頁面(可以根據連結欄位取得開啟連結欄位的數值)、會話(目前僅支援userId)                                                                          |
| Reserve    | 預約，欄位同時包含關鍵字、開始時間、結束時間。但開始時間以及結束時間必須在同一天，目前不支援不同天。                                                                                  |
| Paragraph  | 段落，在對話系統會當作文字訊息輸出。                                                                                                                  |

### 表單呈現

<figure><img src="/files/XZCWn6UXBPYQddLDaRFt" alt="" width="375"><figcaption><p>此為新增表單</p></figcaption></figure>

### 表單權限

目前分別為訪客以及使用者

權限分為: 新增、讀取、更新、刪除以及只能是創建使用者的讀取、更新以及刪除。

* 訪客: 訪客大多為來自LINE、Messenger、IG或是Telegram的使用者，他們可以通過對話新增資料，可以看到訪客開的權限，通常是開新增和使用者讀取。
* 使用者: 在LINE、Messenger、IG或是Telegram使用連結到DMflow帳號者可以使用。

### 表單功能

建立好新的表單後，同時會更新對話機器人運行新增表單的方式。

* Required 為 必填項目
* Options 為 必須滿足裡面的數值
* 時間、數字最大以及最小值、文字正則表示法


# 如何使用表單問答

如何快速使用DMflow\.chat實行表單問答

根據前面已經了解了觸發器以及表單的內容，那此處介紹它的應用。

### 串接日曆

* 你可以根據新增、刪除、修改同步更新Google Calendar，如果你公開給別人看此表單，別人只能看到你新增的日期事件在DMflow，而不用將Google Calender全部公開。

### 預約系統

* 你可以根據Reserve元件，創建預約系統。

### 創建工作流

* 觸發器一般用於row創建、修改、刪除，但也可以添加非建立於表單的觸發器，你可以根據觸發器的內容自行創接服務。
* row的修改在同一個步驟都是加鎖，假設你設定產品為Apple，數量為五，每點擊一次數量減少一，然後不得低於零。

### 其他

* 潛在客戶保存
* 通知訊息
* 上傳檔案
* 等等


# 真人客服

DMflow\.chat支持真人客服整合表單觸發器提供的內容。功能包括指派和未指派的Inbox管理、筆記功能（可@其他使用者）等。

DMflow的真人客服有兩種模式

* 可以透過dmflow\.chat做全渠道客服。
* 也可以導向Messenger或LINE的官方提供客服中心。

兩種各有優缺點，LINE的官方提供的功能比API多很多，例如電話、傳送檔案等都是API無法做到的，你可以選擇混用。

### 目前功能

* 真人客服支援指派以及未指派給你的Inbox
* 有提供筆記可以@其他使用者查看，使用方式為開頭打/note&#x20;

### 聯絡人

聯絡人的Inbox提供Agent以及租戶創建者可以直接聯繫DMflow客服。

### 使用者屬性

可以直接修改機器人內的記憶模板，屬性和標籤。此標籤非Agent工單標籤，目前尚未實現Agent工單標籤。

### 技能

Agent可以直接使用領域技能，例如文檔問答以及閒聊。而表單可以會開啟新的視窗，同時代入"訪客模式"的參數，你可以取得訪客建立的表單資料做回覆。

<figure><img src="/files/tlEbtBmaV9rGOKr6I7TK" alt=""><figcaption><p>ˊ真人客服圖</p></figcaption></figure>

* 1\. 搜尋功能以及開啟音訊通知，音訊通知會根據左側若有新的訪客呼叫會通知音訊。
* 2\. 可以透過我的、未指派、全部過濾使用者
* 3\. 可以延長真人客服時間、完成、加載對話(一般往上會自動加載)、指派其他訪客、關閉會將整個對話關閉(關閉後才算完成客服活動)。
* 4\. 可以透過魔法棒自動翻譯成瀏覽器語系
* 5\. AI建議會將AI怎麼回覆的步驟顯示出來
* 6\. 由左而右是**emoji**、**共用筆記**、**聊天用魔法棒**(可翻譯成其他語言)、**預設模板輸出**、**警告提醒**(<mark style="color:red;">LINE push需要額外付費、Messenger以及Instagram七天後將無法送出等</mark>)。
* 7\. 分為使用者屬性、技能、筆記以及AI建議顯示。
* 8\. **未被使用者封鎖**(用於LINE封鎖了你)，**封鎖使用者**指的是**你封鎖該訪客**，網頁聊天會及時顯示對方是否仍在線上，其他則是機器人 [機器人介紹](/chatbot/introduction#ji-yi-mu-ban)使用者模板的欄位。
* 9\. 查看使用者標籤

**額外注意**: <mark style="color:red;">LINE轉交真人客服後，訪客的回答會暫存reply token，短時間回覆會消耗剛剛暫存的token，這時不會使用push，若你多回答問題才會調用push。</mark>

支援LINE和Telegram群組客服，<mark style="color:red;">**但不建議使用LINE群組客服功能因為群組消耗的次數是根據你的群組人數計算**</mark>。


# 角色

使用者角色列表

* 租戶創建者: 全部都可以做，唯獨無法在真人客服被指派，但仍可以回復客服問題。
* 系統管理者: 等同租戶創建者，但無法使用真人客服
* 機器人編輯者: 可以使用模板、資源、流程等功能
* 機器人分析者: 可以查看日誌，
* 機器人測試員: 可以測試機器人(通常會跟編輯者一起使用)
* 領域管理者: 管理所有領域
* 一般使用者: 可以使用儀表板的使用者。
* 事件管理員: 可以使用機器人推播
* 聊天代理人: 可以被聊天指派的專員


# 儀表板

DMflow\.chat儀表板集成了所有啟用的表單，與表單權限一致，讓您可以方便地查看和管理資料。這些功能使得DMflow\.chat儀表板成為一個強大的資料分析和管理工具，助您提升業務效率和數據管理能力。

你可以在這裡查看到你的權限可以查看的任何資料。

<figure><img src="/files/70SIvn9xdolh5ypUzNtc" alt=""><figcaption><p>儀表板</p></figcaption></figure>

### 儀表板搭配真人客服

在真人客服下，點選技能，會將擁有者改為匿名使用者，你可以透過匿名使用者新增該客戶的姓名、電子郵件或該客戶提供的檔案。

### 包含

* 調整欄位: 可以隱藏/顯示欄位，可以將欄位改成file(可以分享十分鐘連結給其他人)，公式，以及連結表單。
* 過濾: 可根據數值過濾資料
* 排序: 可根據更新或新增列(row)的方式排序，或按照時間或是數字，目前不支援文字。
* 分組: 可以分組成總數、基數(distinct)、求和、最大值、最小值、平均，關鍵字可以根據關鍵字分組，數字可以根據範圍做分組，日期可以跟年/月/日分組。

### 連結欄位

可以跟其他表單做連結。

### 公式

目前公式包含以下，欄位只能使用於相同列(row)，無法跟其他列作計算公式

* IF

```
IF({{bool}}, 'go', 'stop') // 如果bool=true則go，反之則stop
```

* ABS

```
ABS({{value}}) //絕對值 例如 ABS(-9) 輸出 9
```

* MAX
* MIN
* SUM
* AVERAGE

```
MAX({{price1}}, {{price2}}, {{price3}})//找出最大值(至少兩個數字以上)
MIN({{price1}}, {{price2}}, {{price3}})//找出最小值(至少兩個數字以上)
SUM({{price1}}, {{price2}}, {{price3}}) // 輸出三個加總(至少兩個數字以上)
AVERAGE({{price1}}, {{price2}}, {{price3}}) // 輸出三個平均(至少兩個數字以上)
```

* SQRT

```
SQRT({{value}}) //開根號
```

* RAND

```
RAND() //輸出0(包含)-1(不包含)之間的數字
```

* !&#x20;

```
IF(!{{bool}}, 'go', 'stop') // 如果bool=false則go，反之則stop
```

* \+ (加號)- (減號)\* (乘號)/  (除號)> (大於)= (等於)<(小於)^(平方)

```
{{price}}*{{quantity}}
```

### 日期公式

* DATETIME\_DIFF

```
DATETIME_DIFF('day', {{start}}, {{end}}) //可以算出start跟end之間的天數
可以使用於year,month, day, hour, minute, seconds
```

* DATETIME\_FORMAT

```
DATETIME_FORMAT({{start}}, 'yyyy-MM-dd') // 將輸出以後者格式
```

* TODAY

```
TODAY() //輸出今日
```

* WEEKDAY

```
WEEKDAY({{start}}) //可以輸出此日星期，星期一的輸出是1，星期日的輸出是7，中間以此類推
```

* DAY

```
DAY({{start}}) //輸出月份的日期
```

* MONTH

```
MONTH({{start}}) // 輸出月份
```

* YEAR

```
YEAR({{start}}) //輸出年份
```


# 機器人介紹

DMflow\.chat為您打造智能聊天機器人的強大平台。透過直觀的圖形化設計，輕鬆創建個性化對話體驗。多場景支援、靈活調用資源，助您提升用戶互動效率。

### 記憶模板

記憶模板分為使用者參數、使用者標籤、機器人參數、單一會話儲存

* 使用者參數: 可儲存文字、數字、時間(秒數)
* 使用者標籤: 可以加上標籤以便推播
* 機器人參數: 類似environment參數，就是機器人固定的參數，一般用於資源的密鑰
* 單一會話儲存: 可儲存文字、數字、時間(秒數)、列表，每次開啟聊天會有30分鐘的session，當對話一直尚未結束會一直延長，直到對話結束後的三十分鐘此儲存才會消失。

### 場景

場景可以多個，多用於Messenger的OPEN\_THREAD，以及網頁內嵌的場景轉換，場景可以根據你給的連結從不同的節點開始。

### 調用領域

領域調用需要注意需要先進入領域設定連接機器人並且發布成為生產版才能呼叫，否則會一有錯誤碼出現。

錯誤碼

* 10001: 領域可能被刪除或者查找不到
* 10002:領域已經被關閉
* 11000:有錯誤發生，但不知道發生什麼事

### 資源調用

可直接呼叫外部HTTP，此資源調用要注意最大連線時間僅五秒，請勿使用於會逾時的連接。

### 流程

圖形化流程設計，有五個節點介紹

* 資源節點: 專門調用資源的節點
* 回覆節點: 回覆使用者的節點
* 情境節點:(下一章介紹)
* 變數節點: 將參數寫入使用者參數、標籤或單一會話的節點
* 調用節點: 任何服務的調用都在此節點(下一章介紹)

### 發布

提供多版本選取，以及每個機器人都可以有dev(開發版)以及prod(生產版)兩個分支。


# 流程介紹

DMflow\.chat智能聊天機器人平台提供直觀的圖形化節點設計，讓您輕鬆創建複雜對話流程。支援多種渠道、靈活資源調用，助您打造個性化用戶互動體驗，提升溝通效率。

<figure><img src="/files/xE98UJUkRcI8QCLWhfqK" alt=""><figcaption><p>留言流程</p></figcaption></figure>

### 特點

* 可以用拖曳方式移動節點
* 測試可以直接測試第三方渠道，不用每次跑去第三方渠道測試
* 每個渠道都提供測試板和生產版，除了網頁只有生產版。

<figure><img src="/files/k5zfQf6vpcGhwFnak8RA" alt=""><figcaption><p>測試畫面</p></figcaption></figure>

<table><thead><tr><th>渠道</th><th data-type="checkbox">卡片模板</th><th data-type="checkbox">訊息文字</th><th data-type="checkbox">圖片訊息</th><th data-type="checkbox">影片訊息</th><th data-type="checkbox">語音訊息</th><th data-type="checkbox">檔案訊息</th></tr></thead><tbody><tr><td>LINE</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>false</td></tr><tr><td>Messenger</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td></tr><tr><td>Telegram</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td><td>true</td></tr></tbody></table>

{% hint style="info" %}
Telegram卡片模板不支援多個。

機器人固定只能使用文字加按鈕輸出，其他需要用自定義JSON輸出，包含LINE的Flex Message。

(截止到1.0.51版本，仍沒實裝變數注入，只能使用固定的JSON輸出)

大致上跟以下連結提供相似，僅額外新增Flex Message，只是將變數注入移除。

<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/bot-template.html>
{% endhint %}

{% hint style="warning" %}
開發機器人前須知

* 開始節點不代表歡迎節點，可以用/start呼叫。
* 回覆節點的中斷，原本是條件式裡面有意圖判斷，但雲端版移除了意圖，所以此功能效果不大。此功能的用途是當該節點fallback時，會找尋start節點輸出的branch條件有滿足的就前往。
* 當調用"/" 反斜線開頭的時候，後面接的場景可以直接跳往，假設你現在在場景A，機器人問你"你的留言"，當你想找資料時你輸入/B，完成/B之後，會跳回場景A並且重新詢問"你的留言"。轉向其他節點不代表是取消當前節點。
  {% endhint %}

{% hint style="info" %}
以下建議搭配DMflow\.chat進行操作。
{% endhint %}

### 資源節點

資源節點可以將對話擷取的實體調用其他API並返回，預設為同步，會等待獲得到對方返回的回應才進行下一步，此節點時間逾時為5\~10秒鐘。此節點調用內部API未來將不受限制。

同 [HTTP](/domain/formqa/trigger/http)

### 回覆節點

可以根據對方選擇語系，輸出不同語言(為何不用自動翻譯，因為有些專有名詞沒定義好會出問題，若需要多語言請調用領域)。

| 內容                                               | 解釋                                            |
| ------------------------------------------------ | --------------------------------------------- |
| 回答                                               | 你可以選擇多個回答，但會隨機選擇其中一個                          |
| 按鈕                                               | 按鈕的顯示文字，點擊動作分為文本、事件、連結。                       |
| <ul><li>文本按鈕</li><li>連結按鈕</li><li>事件按鈕</li></ul> | <p>回傳文字。<br>點選會開啟連結。<br>分為忽略、打斷、開始、結束、喚醒。</p> |
| <ul><li>忽略事件</li></ul>                           | 僅顯示按鈕顯示文字，DMflow會忽略這個事件                       |
| <ul><li>打斷事件</li></ul>                           | 可以跳轉到另一個場景                                    |
| <ul><li>開始事件</li></ul>                           | 回到主場景                                         |
| <ul><li>結束事件</li></ul>                           | 結束這個session                                   |
| <ul><li>喚醒事件</li></ul>                           | 進入聆聽模式時，使用這個按鈕無須喚醒句可以執行喚醒機器人。                 |
| 等待用戶回覆                                           | 此節點結束，等到下次用戶回覆才會繼續                            |
| 打斷啟動                                             | 當用戶下一個節點命中失敗後，會重新從開始時節找滿足的節點進入。               |

### 情境節點

| 內容    | 解釋                                                                                                    |
| ----- | ----------------------------------------------------------------------------------------------------- |
| 打斷    | 將當前場景sleep並且呼叫其他場景，其他場景完畢後會此場景會wake up繼續完成。                                                           |
| 重新開始  | 將此場景重新開始流程                                                                                            |
| 重回主情境 | 主情境一般為Main但是有些地方可以更改主情境，例如:Messenger的OPEN\_THREAD                                                     |
| 完成    | 一般節點結束都會自動調用完成，除了branch如果fallback時會直接拋出fallback訊息，假設你不想出現fallback訊息可以在後面接上完成。                         |
| 結束流程  | 直接結束                                                                                                  |
| 聆聽    | 當調用聆聽時，機器人會只接收訊息，但是如果訊息滿足子流程的話會調用子流程的節點，直到聽到你給定地喚醒句子才會結束聆聽。通常子流程會搭配資源節點。你可以透過此節點實現不同渠道聊天，或是呼叫一些資源監聽等。 |
| 跳轉    | 可以直接跳轉其他回覆節點(必須勾選等待用戶回應)                                                                              |

### 調用節點

調用節點大多是產品提供的API節點化，大多都可以用API調用

目前提供的包含

* 領域調用
* 事件註冊(提供廣播註冊)
* 事件註冊取消(提供廣播取消註冊)
* 連結帳號(將帳號連結到DMflow\.chat)
* 真人客服

### 變數節點

可以將取得的參數注入標籤、使用者資料以及單一會話儲存的節點。


# 回覆節點

透過DMflow\.chat簡單回覆個渠道訊息

點選回覆節點可以查看到下圖

### 一般訊息

<figure><img src="/files/Y2cZcvClKC1L4lETpM0k" alt=""><figcaption><p>回覆節點</p></figcaption></figure>

* 詢問: 可以選擇三個，預設為隨機
* 按鈕:預設建立三個，按鈕可以選擇連結、事件以及訊息，三種模式
* 模式: 一般模式跟喚醒模式，喚醒模式需要透過命中提供的文字才可以喚醒
* 語言: 你可以點選地球，它可以讓你填寫其他語系的詢問

### 模板訊息

進階用法

<figure><img src="/files/jJGtBzHWZ3FnLi19CbX8" alt=""><figcaption><p>進階用法</p></figcaption></figure>

你可以填寫JSON輸入，輸入完後建議點擊"驗證"，他會顯示建議的Payload在下面。

#### 限制

* LINE: 任何Message都可以使用
* Instagram/Facebook: 僅能使用文字、圖片、語音、檔案、影片、模板(button、generic)，其餘都不能使用
* Telegram: 僅能使用文字、圖片、語音、檔案、影片以及位置，其餘不能使用

### 設計

你可以透過預設設計使用對話模板，預設設計包含文字、圖片、語音、影音、檔案、卡片以及多卡片(carousel)

<figure><img src="/files/k1RZiHlU0pa45jXOrWv3" alt=""><figcaption><p>模板設計</p></figcaption></figure>

你可以直接使用"設計"，設計提供檔案上傳功能，但注意目前還是只能上傳上限為5MB，預覽圖片只能在1MB以內。

### 預覽

不論你是自行填寫JSON或是使用設計，都可以預覽，透過預覽你可以了解到它在平台上的呈現方式。

<figure><img src="/files/XkR3g2Pxt08Y2dllb5PY" alt=""><figcaption><p>預覽</p></figcaption></figure>


# 廣播功能

DMflow\.chat聊天機器人平台提供強大廣播功能，助您精準推送訊息。透過智能標籤過濾和用戶自主訂閱，實現高效率行銷推廣，提升用戶互動與轉化率。打造個性化通訊體驗，輕鬆掌握客戶需求。

廣播分為過濾條件跟自行註冊

### 過濾條件

根據你提供給標籤過濾會將訊息轉寄出去。

預設只能過濾標籤和最後交互時間，若是使用LINE、Telegram最後交互時間會限制在一年內，而Facebook根據你選擇的標籤決定時間。

若是想要過濾使用者(除了標籤和最後交互時間) 你需要先具備**機器人分析者**或是**管理者**的權限，然後前往**日誌**->**歷史紀錄**->設定好後在點選下圖的**發布**。

<figure><img src="/files/uhXSa6gQSNIddiDoqjy2" alt=""><figcaption><p>過濾條件</p></figcaption></figure>

然後你就可以讓**事件管理員**或**管理員**選擇過濾器的功能。原因是**事件管理員本身的權限無法查看全部訪客**，所以必須透過**過濾發布**才可以查看。

<figure><img src="/files/APKYpCokIjIxOfuYLh6V" alt=""><figcaption><p>選取過濾器</p></figcaption></figure>

### 自行註冊

調用註冊節點(機器人流程)時，會詢問渠道用戶是否訂閱，若送出前都有訂閱則會送出。

### 如何送出

* 自己定固定時間送出
* 自行註冊可以使用定時(日、週、月)或者固定時間


# 機器人統計

DMflow\.chat智能分析看板助您掌握關鍵指標。輕鬆追蹤總用戶、新增用戶、活躍度及訊息量。深入分析各情境對話輪次，優化互動流程。助您制定精準策略，提升用戶體驗與轉化率。

<figure><img src="/files/IgX6IPIfdc5vZMF8v7dD" alt=""><figcaption><p>機器人圖表</p></figcaption></figure>

| 看板名稱   | 說明                                 |
| ------ | ---------------------------------- |
| 總用戶數   | 目前到現在總共的用戶數量                       |
| 新用戶數   | 選定時段內新的用戶數量                        |
| 活躍用戶數  | 選定時段內曾經回覆的用戶數量                     |
| 總用戶訊息量 | 選定時段和渠道總共的對話數量                     |
| 情境選擇   | 可以查看情境總共對話幾輪(\*1)，以及該等待回覆節點進入了多少次。 |

\*1 輪的計算為每次對話都會產生一組獨特的sessionID，會記錄每次這個sessionID回覆了多少次對話。

可以查看每個節點的每月進入量。注意，輸出不一定等於輸入總和，因為有可能都沒命中。(於最新版只會紀錄start和回覆節點以及調用節點的次數)

<figure><img src="/files/CMWvT4xOZ5wR5bg1qrsO" alt=""><figcaption></figcaption></figure>


# 文字模板測試

函數模板教學

### 函數提示

使用{{ }} 可以使用函數，大多數參數會自行autocomplete

* input前後要包含{{ }} 才會做函數計算

例如

```
{{ '今天氣溫' + data.conversation.temperature_today + '度c' }}
```

* textarea可以在內文包含{{ }}

例如

```
今天氣溫 {{data.conversation.temperature_today}} 度c
明天氣溫 {{data.conversation.temperature_tomorrow}} 度c
```

### 觸發器

* 若是input 關鍵字假如只有一個數值會自動拆箱，例如\["a"]=>a，兩個以上不會
* 若placeholder有寫使用','分隔，關鍵字會自動分離，不需要','
* 其他與函數提示相同

### 閒聊角色預提示詞設參數

* cur\_time 會同時提供日期時間以及星期幾
* user\_profile 會同時包含信箱、手機以及使用者名稱
* 其餘參數根據傳遞變數傳送(一個領域目前支援三個傳遞變數)

提示詞目前不支援函數，僅支援文字替換。

例如: 你傳遞的變數為

```
{
  "test" : "1234"
}
```

```
提示詞為 {{ test }}   會轉為 提示詞為1234
```

### 機器人流程

* 開始節點和回覆節點，同textarea
* 其餘節點必須要使用constant 前綴才可啟動{{ }}函數使用，且一定要前後要包含{{ }}，才可以使用
* 機器人流程的參數多為data.user, data.sys\_user, data.converssation, data.session 開頭。

### 資源

* 機器人資源constant 前綴可使用{{ }}作為函數使用，領域的資源暫時不支援函數。
* 網址路徑除了domain外，皆可以用{{ }}取代
* 例如:

```
https://app.dmflow.chat/{{ path }}  ====> ok!
https://{{ domain }}/test           ====> 不能
```

且domain不能使用IP或是一些通用網路伺服器提供的網域，若是使用雲端伺服器建議綁定自己的domain，否則可能會無法運作。

當機器人運作後一旦發現網域無法使用將會自動關閉該資源節點功能。

### 預設函數

* Utils.generateSignature(body:string, secret:string, algo:string)
* &#x20;   algo \['HMACSHA256', 'HMACSHA1', 'HMACSHA384', 'HMACSHA512', 'HMACMD5'] 也可以去掉HMAC
* Utils.hash(text:string)
* &#x20; 使用MurmurHash，轉成number，hash有負數
* Utils.atob(text:string)
* &#x20; 文字轉成Base64
* Utils.toSeconds(date: string)
* &#x20; 將yyyy-MM-ddTHH:mm:ssZZZ 轉成秒數&#x20;
* Utils.randomValue(length: number)
* &#x20; ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789隨機取length位數
* Utils.extractTime(value: number | string, format: string, offset: string)
* &#x20; value需要是秒數， format 請用yyyy-MM-ddTHH:mm:ssZZZ模式填寫，offset請用+08:00填寫
* Utils.extractTime(value: number | string, format: string)
* &#x20; 機器人流程使用有預設時區，可以直接使用這個函數
* Utils.now(offset: string)
* &#x20; 會將現在時間轉為時間模式yyyy-MM-ddTHH:mm:ssZZZ
* Utils.format(dateString: string, format:string)
* &#x20; 會將時間模式為yyyy-MM-ddTHH:mm:ssZZZ轉為其他模式
* Utils.encrypt(text: string)
* &#x20; 根據機器人和領域建立時產生的密鑰加密
* Utils.decrypt(text: string)
* &#x20; 根據機器人和領域建立時產生的密鑰解密

以上為目前提供的函數，若有新增財補充 可參考 [觸發器](/domain/formqa/trigger#qi-ta-han-shu-shi-yong)

### 時間格式

領域的時間以yyyy-MM-ddTHH:mm:ssZZZ為主

機器人的時間是以UTC 秒數為主


# AI 代理人

目前此功能僅開放網頁聊天以及Whatsapp使用，每次使用消耗一點AI點數

此模式大幅度減少開發流程式問答的作業。我們網頁的部分可以分為

1. 建議功能: AI將不會直接回覆訪客，而會在聊天室提供建議搜尋的項目
2. 自動回覆: AI會直接回覆對方問題

不管哪種模式，第一次問答只要有客服專員在線上馬上都會通知，而意圖沒命中也會自動通知。指派的專員採用自動負載根據未關閉的聊天室窗做自動分配。

### 輸入

網頁: 支援文字

Whatsapp: 支援文字、圖片、語音(一分鐘左右，檔案大小勿超過5mb幾乎都可以通過)&#x20;

### 如何使用

先前往領域開啟你需要的功能

### 文檔問答

此為最簡單的方式，自行上傳檔案，唯一要注意的是sitemap模式下只會抓取靜態網頁。而單一抓取動態網頁，由於近期版本已經預設爬蟲user-agent為DMflowBot，將會依照robots.txt的規則做爬取。若有使用cloudflare且有開啟WAF（Web Application Firewall），請先關閉或是允許該DMflowBot爬取。請爬取自己的網頁。

<figure><img src="/files/NCrdZ6wYqjSrXQvsbNtL" alt=""><figcaption></figcaption></figure>

### 表單問答

表單問答就像使用資料庫一樣，先設定schema即可。但由於產品本身是adapter(將SQL轉成系統的搜尋方式)資料庫的方式並非操作真實資料庫，所以不會發生任何跟SQL injection等問題。

在權限方面，使用代理人做插入是可以允許的(若是從儀表板進行插入若沒權限則是無法)，但查詢的權限請必須設定好。詳情可從 [表單](/domain/formqa/form#biao-dan-quan-xian) 查詢。

<figure><img src="/files/Pykv2KENf5AtVPapYrA5" alt=""><figcaption></figcaption></figure>

設計完畢後，請先前往儀表板做新增設定，機器人操作新增資料的時候的時候會依照你的新增設定而改動，若未添加新增設定會自動根據欄位做設定。

<figure><img src="/files/wo6ar6pzPq78RNdHpElp" alt=""><figcaption></figcaption></figure>

點擊新增設定後你可以自行設定預設值，必填等設定，唯一要注意的是Upload目前僅支援UI功能，不支援任何聊天機器人。若想新增完畢做觸發器工作流，請在Button設定，詳細觸發器請查看 <https://www.dmflow.chat/tw/blog/2024-dmflow-form-qa-tutorial-2>或是 [表單問答](/domain/formqa#chu-fa-qi)

<figure><img src="/files/Jyw4nWO6WoMIGyUlrbzp" alt=""><figcaption></figcaption></figure>

### 閒聊角色

最後前往閒聊角色的設定，請前往 [#xian-liao-jue-se](#xian-liao-jue-se "mention")查看

### 開始設定代理人

目前代理人的設定分為前置條件設定(過濾使用者資訊)、意圖設置以及回應設置。

過濾用戶者資訊目前尚未開放，主要用於判斷用戶聊天輪次，用戶的資訊判斷是否滿足(例如: 已經填寫了信箱，信箱是否有認證等)

意圖設置為主要說明方向，本篇教學主要以這個方向為主。

<figure><img src="/files/tucORhwP3TMg6oBhevhe" alt=""><figcaption></figcaption></figure>

意圖主要根據描述做判斷，目前會預載訪客資訊，未來可能還會開放記憶模組或是事先調用資料庫，讓意圖判斷更準確。

* 允許快捷的意思是可以使用 "/" 搭配名稱 加上空白 後面的是對話，可以直接跳過意圖辨識

例如: /查詢資訊 我要請問一下你的統編是多少

* 模式分為代理人回應以及直接回應

直接回應就是辨識到該意圖將直接回覆你已經設置好的訊息

代理人回應是選擇你的閒聊角色即當命中意圖後會轉向該代理人進行回覆

* 預設開啟工具: 意思是每次呼叫代理人都必須調用工具
* 預設開啟思考: 意思是代理人會先思考完再調用工具

**這裡需要注意的是思考**

當你開啟思考後建議你的提示詞不建議 "你是什麼角色" 這類型的角色扮演，直接在提示詞寫你要做什麼即可，例如: 你在新增用戶資料前要先檢查這個用戶是否存在。 這種命令的方式撰寫提示詞即可。&#x20;

### 測試

前往設置->內嵌網頁 設定，要注意的是 分享開啟、是否啟用內嵌網頁開啟、網域限制添加<https://app.dmflow.chat，新增完畢後，下面有個分享連結打開即可進行測試。>

<figure><img src="/files/k5ReOyc0XGM4tO3zDPwP" alt=""><figcaption></figcaption></figure>

每一次AI對話都會提供包含thinking的全部內容，以及knowledge的詢問自動延展，以及followup\_questions為推薦用戶下一步對話。其他包含表單插入可以跳出插入的訊息出來，表單搜尋會顯示該訪客能查詢到的表單內容(目前不能使用不等於等表達式)，點入更多會直接給你查看。

訪客旁邊有個魔法棒的東西可以將該語言根據你瀏覽器選擇的語言做翻譯。而對話選單左數到右分別是emoji、note(添加共用筆記，可使用@ 呼叫其他專員)、magic(目前僅提供翻譯功能，若對方locale有數值會預設指定對方的語言進行轉換)

AI翻譯免費版提供1萬字元/每人/月免費服務，輕量版則是10萬字元/每人/月，字元以輸入的字數數量為限制。完全可以滿足一般客服服務。

<figure><img src="/files/z5rHzblyk3G7lu0M2LET" alt=""><figcaption></figcaption></figure>

之後會補充影片教學。


# 發布

發布分為**密鑰列表**、**Webhook**以及**發布管理**

**密鑰列表**用於API

**Webhook**用於事件觸發，目前僅有bot:lead事件，可以前往 [如何使用dmflow收集潛在客戶資料](https://www.dmflow.chat/tw/blog/2024-12-how-to-use-dmflow-to-collect-leads) 查看更詳細說明

```
{
  "events": [
    {
      "resource": "bot:lead",
      "action": "add",
      "payload": {
        "email": "test@example.com",
        "username": "TestUser",
        "phone": "0912345678",
        "customs": {
          "birthday": "1995-03-15"
        },
        "timezone": "+08:00"
      }
    }
  ]
}
```

**發布管理:**&#x63A7;制生產版本

<figure><img src="/files/8cush1wQkrckVseSvQdP" alt=""><figcaption></figcaption></figure>


# Web

DMflow\.chat網頁版提供多樣化整合選項。從可自訂外觀的外掛視窗到全頁面聊天界面，靈活適應各種網站需求。JavaScript SDK支持高度定制，還可輕鬆實現與其他客服系統的無縫切換。連結視窗功能更開創多元應用可能，助您打造獨特的用戶互動體驗。

* 網頁版提供各種可調顏色使用
* 提供導流工具連接到其他網頁

### Javascript SDK

## 外掛視窗

```javascript
<script type="module">
  import Chatbot from "{{sdk url}}";
  Chatbot.init({"id":"{{bot id}}","theme":{"button":{"backgroundColor":"#9c27b0"},"header":{"backgroundColor":"#9c27b0"}}});
 </script>

```

如果你想調用其他廠牌的對話機器人或是網頁客服可以使用observersConfig中的observeUserInput監聽使用者對話，當聽到help則destroy()

```
{
	"id": "{{bot id}}",
	"theme": {
		"button": {
			"backgroundColor": "#9c27b0"
		},
		"header": {
			"backgroundColor": "#9c27b0"
		}
	},
	observersConfig: {
		observeUserInput: (userInput) => {
			if (userInput === 'help') {
				Chatbot.destroy()
			}
		}
	}
}
```

## 滿頁

```
<dmflow-fullchatbot id="{{bot id}}"></dmflow-fullchatbot>
<script type="module">
  import Chatbot from "{{sdk url}}";
  Chatbot.initFull({"id":"{{bot id}}");
 </script>
```

### 範例網站

{% embed url="<https://www.talkyon.com>" %}
拓遠資訊有限公司
{% endembed %}

## 連結視窗

開啟Share後你可以取得編碼ID，例如@8aYK2AoGe0，前往<https://app.dmflow.chat/s/\\{{id\\}}即可開啟連結視窗。>

連結視窗未來將會整合表單功能，提供自定義文檔或是論壇或是其他功能，仍在規劃中。

### 範例網站

{% embed url="<https://app.dmflow.chat/s/@8aYK2AoGe0e>" %}
分享連結
{% endembed %}


# Instagram

DMflow\.chat: 一站式聊天機器人平台，無縫整合LINE、Messenger、Instagram和Telegram。輕鬆打造跨平台智能對話，提供統一管理介面，助您高效拓展客戶觸達範圍，提升用戶體驗與互動效率。

{% embed url="<https://www.youtube.com/watch?v=d3rqpkR6pYY>" %}
Instagram integrate demo
{% endembed %}

跟[Messenger](/channel/messenger)大致相同。

若是自行處理則是使用instagram\_manage\_messages權限，並且Webhook要勾選messages以及messaging\_postbacks。

## 自行處理

### 先決條件

* 前往 [Meta開發者應用程式](https://developers.facebook.com/apps) 新增應用程式(APP)作為Webhooks 和存取權杖的配置。
* 您具有管理員或開發人員角色的[Facebook 頁面](https://www.facebook.com/pages/create)。Instagram 帳號必須連結到 Facebook 頁面才能使用 Facebook Graph API。
* 連結[ Instagram專業帳戶](https://business.instagram.com/)

**留言回覆**

我們支援Instagram留言回覆，詳情請洽 [Messenger](/channel/messenger)最後的留言回覆。


# Telegram

DMflow\.chat: 一站式聊天機器人平台，無縫整合LINE、Messenger、Instagram和Telegram。輕鬆打造跨平台智能對話，提供統一管理介面，助您高效拓展客戶觸達範圍，提升用戶體驗與互動效率。

{% embed url="<https://youtu.be/DO5-5-CCwm0>" %}
Telegram整合
{% endembed %}

與下面連結操作相同。

{% embed url="<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/telegram.html>" %}

## Telegram開發設定 <a href="#telegram-kai-fa-she-ding" id="telegram-kai-fa-she-ding"></a>

在 Telegram 上創建新機器人的步驟如下：

* 在您的設備上打開 Telegram 應用程式。
* 在搜尋欄中搜尋 "BotFather" 機器人。
* 點擊 "BotFather" 並開始與它進行對話，點擊 "Start" 按鈕。
* 在與 BotFather 的對話中輸入 "/newbot" 來創建一個新機器人。
* 跟隨 BotFather 提供的指示。它會要求您為機器人提供一個名稱（例如 "MyNewBot"）和一個唯一的用戶名（例如 "@MyNewBot"）。
* 提供所需的資訊後，BotFather 將為您的機器人生成一個 API 金鑰。請確保保持此金鑰安全，因為它用於訪問 Telegram Bot API。
* 您的新機器人現在已經創建完成。您可以通過 BotFather 對話或使用生成的 API 金鑰通過 Telegram Bot API 訪問和管理其設定。

![DmFlow整合Telegram](https://docs.communeify.com/images/tw/telegram-001.jpg)

下圖紅色遮住部分為token，將其token複製。

![DmFlow整合Telegram](https://docs.communeify.com/images/tw/telegram-002.jpg)

如需要在群組中接收全部訊息，可透過以下去操作，一般預設只接收command "/"開頭的訊息。

![DmFlow整合Telegram](https://docs.communeify.com/images/tw/telegram-group-disabled-slash.jpg)

進入DmFlow系統，點選你的機器人後，進入設置->第三方整合->Telegram，並將圖二的token冒號前純數字填入APP\_ID，token則是填入全部"58XXXXXXXX:AAEXXXXXXXXXXEBXXXXXXX"，選取"啟用"並儲存，後台會驗證填寫是否正確。

![DmFlow整合Telegram](https://docs.communeify.com/images/tw/telegram-setting-page.png)

## 設置Webhook <a href="#she-zhi-webhook" id="she-zhi-webhook"></a>

```awk
https://api.telegram.org/bot{{token}}/setWebhook
```

將token取代{{token}}

Body

```handlebars
{
    "url":"{{Webhook URL}}"
}
```

將Webhook URL取代{{Webhook URL}}

## 刪除Webhook <a href="#shan-chu-webhook" id="shan-chu-webhook"></a>

```awk
https://api.telegram.org/bot{{token}}/deleteWebhook
```


# LINE

DMflow\.chat: 一站式聊天機器人平台，無縫整合LINE、Messenger、Instagram和Telegram。輕鬆打造跨平台智能對話，提供統一管理介面，助您高效拓展客戶觸達範圍，提升用戶體驗與互動效率。

{% embed url="<https://youtu.be/kL6-F4Oihhs>" %}
LINE整合
{% endembed %}

與下面連結相同。

{% embed url="<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/line.html>" %}

### 開始 <a href="#kai-shi" id="kai-shi"></a>

先申請LINE帳號，[LINE Business ID](https://developers.line.biz/console/)

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-002.png)

#### 使用LINE帳號登入

可以使用一般使用者LINE做登入。

#### 使用商用帳號登入

以公司為主業務用的電子郵件作申請。填入帳號名稱、電子郵件帳號、公司名稱以及業種(公司業務內容)即可申請完成。

### 設定

若尚未啟用Messaging API，請在設定->Messaging API點選"啟用Messaging API"，並輸入服務提供者(自己命名業務名稱，事後可更改)，並填入隱私權政策及條款(兩者非必填)，確認無誤後，點選"確定"。

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-003.png)

* 1.Channel ID
* 2.Channel Secret
* 3.填入Webhook網址。
* 4.進入LINE Developers進行接下來動作。

#### LINE Developers

點選後會進入[LINE Developers](https://developers.line.biz/en/)，並依序下圖點選。

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-004.png)

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-005.png)

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-006.png)

![DmFlow整合LINE](https://docs.communeify.com/images/tw/line-007.png)

可以得到Channel ID、Channel secret以及Channel access token。並填寫Webhook URL即可完成。


# Messenger

DMflow\.chat: 一站式聊天機器人平台，無縫整合LINE、Messenger、Instagram和Telegram。輕鬆打造跨平台智能對話，提供統一管理介面，助您高效拓展客戶觸達範圍，提升用戶體驗與互動效率。

{% embed url="<https://www.youtube.com/watch?v=VhepoWkZFMU>" %}
Facebook integrate demo
{% endembed %}

**可以透過Facebook OAuth2 代管粉絲頁。**

另外可以直接填寫APP\_ID、APP\_SECRET、PAGE\_ID、VERIFY\_TOKEN以及ACCESS\_PAGE\_TOKEN直接操作。

以下連結是舊版的Facebook操作說明，大致上相同。此為補充如果通過APP REVIEW

{% embed url="<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/fbmessenger.html>" %}

APP REVIEW

**Request advanced access** pages\_messaging

如果pages\_messaging的按鈕還是灰色的，你可以

* <https://developers.facebook.com/docs/graph-api/get-started/>&#x20;
* <https://developers.facebook.com/tools/explorer>
* 根據上述說執行操作

將App mode: Development to LIVE，並新增測試人員帳號。並根據以下回答問題。

#### Tell us how you're using this permission or feature

填寫你需要pages\_messaging的原因。

提供測試帳號，注意此帳號目前只能使用真實帳號，此為中文教學，所以你必須使用2FA的方式登入，否則會被Facebook禁止登入。 下面是範例。

```
I'm building a chatbot with the Messenger Platform that will automatically answer people's questions about our services.To make the chatbot accessible to all Facebook users, I need the "pages_messaging" permission.

We'll provide the test account details below. We ensure the chatbot is thoroughly tested and functions well with our Tester and Developer accounts. Thank you.

Facebook tester account:
Email: ---example@gmail.com
Password: ---
```

#### Please provide step-by-step instructions to walk us through how to test this integration

```
Steps to test my Chatbot:

1. Going to my Facebook page: m.me/{{page_id}}
--Login to Facebook with Tester account with the following information:
+ Email: ---example@gmail.com
+ Password: ---

2. Test my chatbot.
```

### 待補充

* 技術提供者
* Business
* 2FA

### 選擇代管跟自行處理差別

#### 代管

* 優點可以快速連結機器人
* 缺點是你密碼更改或是你的權限有問題的時候，機器人會需要重新授權。

點擊 管理->設定->Facebook 取得連結粉絲頁連結，取得連結後選取您的粉絲頁即可完成。

<figure><img src="/files/S4bjSoC0Us1urYY8i2Ah" alt=""><figcaption><p>連結機器人</p></figcaption></figure>

<figure><img src="/files/ITqzCap8oN8OGGcrBCLI" alt=""><figcaption><p>開啟Facebook訊息</p></figcaption></figure>

點擊 機器人->選擇您的機器人後->設定->Facebook Messenger 設定->啟動代管->啟用並儲存。接下來您就可以收到Facebook訊息了。並可以設定Facebook留言回覆。

#### 自行處理

* DMflow\.chat可能會提供本地安裝版本，你就必須透過這個方式
* 你可以根據你的Page access token執行一些DMflow\.chat未提供的功能，例如:account\_link或是thread\_control等等。畢竟產品本身不限於單一渠道，你想要Messenger傳訊息給Telegram也未嘗不可。

### **留言回覆**

我們支援Facebook/Instagram留言回覆功能，那個說明目前是每小時支援200次(回覆留言、私人訊息以及隱藏和刪除)，這邊指的200次是指200次及時執行，**若每小時超過200次則會非及時執行(仍會執行完畢)。**

回覆留言第一層專業帳號留言是指，特別開放你自己的帳號留言在第一層留言也會回覆，這個功能只是讓你使用在測試而已。

若留言數量多，建議使用多組不同留言使用，或者只要使用私人訊息回覆即可。**私人訊息回覆重要性遠高於回覆留言。**

<figure><img src="/files/7sjOR0s8OECaCDFGm1BY" alt=""><figcaption><p>留言回覆</p></figcaption></figure>


# Whatsapp

目前版本需要自行註冊產品

首先，前往新增產品設定Whatsapp，然後跟隨下面步驟即可

<figure><img src="/files/p3pZXe8D0qVY7hnQVve5" alt=""><figcaption><p>前往development 建立whatsapp</p></figcaption></figure>

<figure><img src="/files/d5oSUUnyiurWcGqeW4aE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HJYKi1ylmTjl6onCeb9c" alt=""><figcaption></figcaption></figure>

若要測試使用測試電話號碼即可，測試電話號碼要填寫收件人電話號碼該用戶才可以接收到訊息，紀錄一下電話號碼編碼以及Whatsapp Business帳號編號

<figure><img src="/files/ffu4F15xt9lRg9unsPqb" alt=""><figcaption></figcaption></figure>

上面的存取權杖是暫時，大約24小時候會過期，接下來教學如何取得永久存取令牌

前往<https://business.facebook.com/settings>，然後找System users點入

<figure><img src="/files/bzXh8P0BS6BCi9kTSEUu" alt=""><figcaption></figcaption></figure>

使用者那邊點選"系統使用者\[system users]"，並按下新增\[Add]

<figure><img src="/files/XrYCBOMTEWtv8PZy3RA8" alt=""><figcaption></figcaption></figure>

並輸入username 和 role 選取admin或employee都可

點擊Assign assets

<figure><img src="/files/5QfG5ZPJ07DKf0t3z4EY" alt=""><figcaption></figcaption></figure>

選擇你要的APP，並將Full control設定為Manage app

<figure><img src="/files/jVjrxQsPPChNzK54z0aE" alt=""><figcaption></figcaption></figure>

新增完畢後，點選Generate New Token即可完成

<figure><img src="/files/golXDRF5QKA8N86QKF7Z" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/dVYdaYTZPme1Fk0cefFg" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HVi1cgOpqOKMRnJctt8Y" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/kG4kRVXOZhBQMHVJarPw" alt=""><figcaption></figcaption></figure>

取得後的Token，放入下圖\[6]，前面取得的Whatsapp Business帳號編號填寫在\[1]，電話號碼編號在\[2]，\[3]以及\[4]可參考Facebook非代管部分，用於驗證是否來自Whatsapp payload，\[5]則是你可以自己設定驗證碼，越複雜越好。就完成了。

<figure><img src="/files/bIAGykBV3Ol3L4Omdsgg" alt=""><figcaption></figcaption></figure>


# 其他


# WordPress

{% embed url="<https://youtu.be/3fZhv3Z0Xm4>" %}
wordpress教學
{% endembed %}


# API

大致上跟下面網址API一致

API密鑰產生後，可以複製密鑰，並在Header的Authorization帶入'Bearer ' + {{token}}即可，注意產生密鑰後查看請複製該密鑰，十五分鐘後將會無法再查詢到。

{% embed url="<https://docs.communeify.com/tw/products/dmflow/tutorials/docs/bot-restapi.html>" %}

另新增

### 閒聊角色

更新產品

PATCH /\_api/v1/roleqa/product/info/{id}

| HEADER KEY    | HEADER VALUE |
| ------------- | ------------ |
| Authorization | {{auth}}     |

REQUEST JSON

```json
{
	"title": "",
	"description": "",
	"rating": 0.0f,
	"enabled": false
}
```

<table><thead><tr><th>REQUEST_PATH</th><th data-type="checkbox">必填</th><th>型態</th><th>說明</th></tr></thead><tbody><tr><td>title</td><td>false</td><td>string</td><td>若填寫則會覆蓋</td></tr><tr><td>description</td><td>false</td><td>string</td><td>若填寫則會覆蓋</td></tr><tr><td>rating</td><td>false</td><td>number</td><td>0~5</td></tr><tr><td>enabled</td><td>false</td><td>boolean</td><td>是否</td></tr></tbody></table>

RESPONSE JSON

```json
{
	"rc" : 0
}
```

### 表單問答

#### 查詢表單

POST /\_api/v1/formqa/search

| HEADER KEY    | HEADER VALUE |
| ------------- | ------------ |
| Authorization | {{auth}}     |

REQUEST JSON

```json
{
	"id": "",
	"tableId": "",
	"index": 0,
	"onlyReturnCount": false,
	"wheres": [{
			"name": "",
			"compare": "",
			"value": ""
		}
	]
}
```

<table><thead><tr><th>REQUEST_PATH</th><th data-type="checkbox">必填</th><th>型態</th><th>說明</th></tr></thead><tbody><tr><td>id</td><td>false</td><td>string</td><td>主鍵ID，有ID將不會理會wheres</td></tr><tr><td>tableId</td><td>true</td><td>string</td><td>表單ID</td></tr><tr><td>index</td><td>true</td><td>number</td><td>頁碼</td></tr><tr><td>onlyReturnCount</td><td>false</td><td>boolean</td><td>是否只要count</td></tr><tr><td>wheres</td><td>false</td><td>array</td><td>conditions</td></tr><tr><td>wheres[0].name</td><td>true</td><td>string</td><td>欄位鍵(不能使用於text欄位)</td></tr><tr><td>wheres[0].compare</td><td>true</td><td>enum</td><td>eq(關鍵字使用eq等同in), gt, lt, lte, gte</td></tr><tr><td>wheres[0].value</td><td>true</td><td>string</td><td>如果是日期欄位請使用(秒數)，數字則請用數字</td></tr></tbody></table>

暫時不支援order以及size，預設每次size為20

RESPONSE JSON

```json
{
	"rc" : 0
	"error": "",
	"data": {
		"total_element": 0,
		"docs": []
	}
}
```

#### 表單觸發動作

POST /\_api/v1/formqa/action

Trigger action API限制每個trigger每小時執行100次包含(迴圈次數)，但不會因為100次而停止，假設已經運行了99次，最後一次如果有100次包含迴圈則仍會執行最後一次，而不是執行一半停止。

| HEADER KEY    | HEADER VALUE |
| ------------- | ------------ |
| Authorization | {{auth}}     |

REQUEST JSON

```json
{
	"parameters": {},
	"triggerId": "",
	"tableId": "",
	"guestId": ""
}
```

<table><thead><tr><th>REQUEST_PATH</th><th data-type="checkbox">必填</th><th>型態</th><th>說明</th></tr></thead><tbody><tr><td>parameters</td><td>true</td><td>object</td><td><p>{</p><p>    "product": "產品名",</p><p>    "price": 200,</p><p>    "quantity": 5</p><p>}</p></td></tr><tr><td>triggerId</td><td>true</td><td>string</td><td>觸發器ID</td></tr><tr><td>tableId</td><td>true</td><td>string</td><td>表單ID</td></tr><tr><td>guestId</td><td>false</td><td>string</td><td>匿名使用者ID</td></tr></tbody></table>

RESPONSE JSON

```json
{
	"rc" : 0
	"error": "",
	"data": {
		"error": false,
		"success": true,
		"response": ""
	}
}
```

data.error 代表觸發器觸發了錯誤節點

data.success 代表觸發器成功抵達END節點

rc不為零為錯誤訊息，此錯誤可能是因為API KEY不對，或是參數不正確，而error是告知你為何錯誤。

### 使用須知

目前伺服器採用使用才啟動，若第一次呼叫API可能會需要一點時間，但後面就會恢復正常時間。

### 已棄用

/\_api/v1/bot/chat


# latest

2025-04-02

* 新增sendgrid Node asm功能
* Telegram sendMessage由string改為textarea
* 增加觸發器背景節點數量由10上升到20
* 修正第三方註冊改為不用驗證信箱導致沒寄送歡迎信的問題

2025-04-01

* 訪客移除改成異步處理
* 部分輸出連結添加utm\_source=dmflow\.chat\&utm\_medium=chat\&utm\_campaign=general
* Whatsapp如果是電話號碼，自動查詢locale
* 修復Telegram reply\_markup問題
* 將thinking phase加入輸出驗證中
* 修正UI 輕量版寫兩位用戶 改成三位用戶
* 新增文檔問答翻頁功能
* 修正試用版每月100 AI點數，不會因為到期轉免費導致得到部分點數
* 新增Markdown link 點擊都要出現alert 確認才能前往

2025-03-28

* 更新UI loading圖
* Login若沒驗證成功會跳出正確錯誤訊息，而不是未知
* 更新專員svg，設計更好看
* 修復舊有的sitemap若先前未使用過濾網頁功能，造成顯示不出來的bug
* 資源Header添加使用者訊息使用
* 新增AI magic功能，目前僅支援翻譯1萬字元(免費/試用)，10萬字元(輕量版)
* 網頁聊天新增刷新功能
* 新增Telegram/LINE 群組添加寄送人名稱(LINE使用id轉成Visitor-number)

2025-03-25

* 簡化註冊流程，第三方登入將不驗證信箱
* 表單問答UI添加category欄位
* 觸發器Webhook payload限制進入流量大小為1MB
* 修復點選AI建議文檔問答，未顯示於UI的bug

2025-03-19

* 新增whatsapp widgets
* 網頁轉真人將不會受到流量控制
* 轉真人將會提醒訪客轉真人，轉機器人也會提醒訪客轉機器人
* 發布1.0.51

2025-03-18

* 合併whatsapp分支

2025-03-16

* 當轉交專員後，每次會儲存LINE replyToken提供給專員送出，將不用每次都調用push功能

2025-03-15

* 修正若未命中意圖也需要通知專員(所以若一開始沒命中意圖加上訪客寄送將會同時寄出兩次訊息)

2025-03-13

* 網頁聊天訪客資訊將原先的language拆分成country和language
* 調降免費/試用表單限制為1000

2025-03-11

* 新增專員可以修改對外暱稱
* 增加lead form 檢查是否填寫過
* 移除finger print功能

2025-03-11

* 定期刪除90天後的機器人日誌
* 發布1.0.50

2025-03-10

* human\_agent\_help新增群組功能
* 網頁聊天新增訪客離線以及上線提示

2025-03-07

* 新增網頁聊天，AI建議以及等待提醒

2025-02-24

* 新增思考模式

2025-02-20

* 新增文檔評估功能

2025-02-19

* 取消表格問答的聊天功能
* 修正admin知識庫過濾碼只找自己的問題
* 新增閒聊工具 預約查找
* 移除LINE notify

2025-02-18

* 文檔問答API添加文檔狀態(每次爬取會檢查狀態，同時間只能使用一次爬蟲API)
* 移除機器人和領域多語言功能(簡化)
* 新增PDF(圖片)以及語音自動擷取資料功能
* 修正調用儲存記憶時，未降低AI點數的問題
* 修正領域SessionId為空，查找不到資料的問題

2025-02-07

* 更新gemini 2.0
* 新增文檔問答進階功能
* 新增OpenAI和OpenRouter的response\_format

2025-02-02

* 移除每日免費額度，改為一次寄送額度
* 修改原先的計次方式(先前計次是對話次數)，正確使用session計次(每次30分鐘內有對話自動延長)

2025-01-27

* 將爬蟲user\_agent改為DMflowBot(將不模擬真人操作，若使用cloudflare請添加排除這個user\_agent)
* 新增json parsed 自動修復功能，會自動修復llm產生錯誤的json輸出
* 新增產品諭覽版

2025-01-22

* 取消免費版本還可以轉為試用版本的按鈕
* 若在Start節點，若沒有喚醒將不紀錄日誌(也就是不喚醒機器人就不會記錄任何對話)

2025-01-19

* 添加閒聊角色的限制以CJK為單位，讓英文的長度可以更常

2025-01-17

* 資源取得的payload限制為1K調漲到16K
* 添加觸發器LINE和Telegram節點會自動縮減字元，避免送出失敗

2025-01-14

* 修正LINE 按鈕label沒自動縮減20字元的錯誤

2025-01-12

* 自動回覆留言可以看到次數
* 新增一名使用者可附件增加1GB的規則
* human\_agent\_help 工具會自動回饋給專員

2025-01-10

* 網頁聊天，若點倒讚將會提供回饋填寫

2025-01-08

* 閒聊角色添加資源使用(客製API)
* 免費/試用版本附件縮減到100MB
* 提供Load balance分配專員，會根據負責案件數自動分配
* 新增Loops done 當Loops節點完畢後會調用
* 添加背景流程限制秒數，預設五分鐘
* 開放使用自定義OpenAI
* 發布1.0.49

2025-01-04

* 免費版本禁止使用API
* 添加session次數限制
* 發布1.0.48

2024-12-31

* 新增閒聊角色歡迎詞搭配按鈕
* 發布1.0.47

2024-12-20

* 發布1.0.46

2024-12-18

* 新增網頁lead form  客製欄位
* 發布1.0.45

2024-12-17

* 新增google routes api 在閒聊工具內
* 添加產生領域密鑰
* 工作流觸發器新增hour定時

2024-12-15

* 添加文檔問答上傳API
* 關閉文檔問答重新訓練的按鈕
* 添加工作流觸發器以及Webhook

2024-12-12

* 新增記憶模組，可以額外儲存訪客記憶
* 添加專員送出標籤messenger tag

2024-12-08

* 添加文檔索引內容可見
* 添加文檔快取添加訊息

2024-12-07

* 將附件拆分機器人、領域以及表單將不共用公開附件
* 修復表單儲存NULL的問題

2024-12-06

* 新增文檔問答過濾功能

2024-11-30

* 調降試用版AI點數每日贈送50改成20
* 新增公司統編認證
* 發布1.0.44

2024-11-28

* 修復資源節點參數位置問題
* 加強閒聊角色時區

2024-11-27

* 加速載入資源節點頁面
* api /bot/users/{cid} 可修改debug渠道的新增以及修改日期，使用milliseconds

2024-11-26

* api /formqa/search 添加size參數，最多可以20，預設也是20
* api /formqa/search 回應值添加success參數

2024-11-25

* 將public檔案綁定機器人(目前每個機器人仍可以選擇其他機器人的公開檔案，將會於機器人隔離後將每個機器人只能選擇自己創建的public檔案)
* 機器人流程分支節點，conversation前綴，可支援大於、小於，會先比對兩者是否為數字，否則用compare比較
* 機器人流程分支節點，目標長度從52更改為255
* 機器人流程變數節點，可以更改conversation前綴的參數，並提供函數replace使用
* 機器人記憶模板，session移除list功能
* 除了訪客可以讀取userId, id, username, email, phone，添加created\_time 以及 updated\_time，創建時間，以及最後修改時間(此時間應命名為最後互動時間，修改參數不會影響到此時間，僅會在訪客呼叫機器人時才會更新)
* 網頁聊天新增彈跳視窗可發送訊息
* 發布1.0.43

2024-11-22

* 修正儀表板儲存到我的最愛但是擁有者、最後修改以及新增日期消失的問題

2024-11-21

* 修正廣播在顯示傳送訪客的名單時間使用到milliseconds而不是seconds
* 修正廣播前端修改時，渠道、版本以及選項未disabled的問題

2024-11-20

* 機器人流程，memory(user、sys\_user、session、conversation) 字串型態可使用regex
* regex限制上限從52提升到255
* 資源節點注入的sys\_user參數添加email、username以及phone
* \[fixed] 移轉群組內人員到空的群組，會導致前一個群組未移除該人員的bug
* 優化線上客服排版與畫面
* 新增客服優先功能
* 客服優先規則為
* 一、第一次詢問的訪客轉為封鎖使用者，不會觸發機器人回覆
* 二、網頁聊天如果轉為封鎖使用者不會觸發機器人，前往真人客服也會收不到訊息，僅會新增使用者
* 三、其他渠道則是訪客的問題會自動轉進聊天客服專區，需等到客服人員或有權限的人員取消封鎖使用者，才可以轉成機器人自動回覆
* 發布1.0.42

2024-11-18

* 添加沒有專員上線的自動留言訊息

2024-11-15

* 自動開啟的網頁聊天全部禁止user-agent包含bot的機器人
* 場景如果填寫不存在的，一率以Main場景為主
* 網頁聊天添加 FullChatbot以及PluginChatbot
* 網頁聊天Chatbot、PluginChatbot新增function popupWindow()，可以使用於網頁按鈕強制展開
* 網頁聊天Chatbot、PluginChatbot、FullChatbot新增sendMessage(text: string)
* 新增observeSwitchLiveChat 可以透過監聽input text前往真人客服
* 網頁聊天預設參數新增以下參數

```json
{
  "theme": {
    "button": {
      "autoWindowOpen": {
        "autoOpen": true,
        "openDelay": 10,
        "autoOpenOnMobile": false
      }
    }
  }
}
```

2024-11-14

* 知識庫添加更新日期、新增日期以及擁有者，且增加擁有者可自行添加
* 將登入和註冊畫面們改背景
* \[fixed] 組件 標籤 新增完畢將轉為只可讀
* \[fixed] 知識庫的文本降低65536 到 16384(先前版本已經改了儀表板)
* 發布1.0.41

2024-11-12

* 付款領域數量可選擇暫時從十降低到三
* 閒聊角色工具新增表單列表以及搜尋表單列表可以多選，限制工具最大為十個
* 增加提示聯絡人無法使用屬性功能
* 添加閒聊角色座標查詢工具
* 發布1.0.40

2024-11-11

* \[fixed] 已經成為邀請者的帳號註冊租戶擁有者錯誤訊息
* \[fixed] LINE 在AI問答沒出現快速回覆 有用以及無用的點擊
* 發布1.0.39

2024-11-06

* 修復資源權限刪除沒立即刷新的顯示問題
* 修復組件快速點擊兩次導致無法關閉的問題
* 新增文檔問答語法完成可添加網址
* 角色工具rate\_conversation，當訪客覺得該答案有幫助後，可以順勢再提供一個回答(回答建議可包含幫忙評價的網址)

<figure><img src="/files/UiwIPB2UsK0yv1xRXzNj" alt=""><figcaption><p>新增文檔問答語法完成可添加網址</p></figcaption></figure>

2024-11-01

* 新增機器人日誌可以轉移真人客服，需同時擁有代理人以及機器人分析員的權限(此功能主要是為了Instagram，若主動聊天導致對方回應觸發機器人的解決方案)
* 發布1.0.38

2024-10-31

* 新增儀表板圖表，分別是折線、面積、柱狀、圓餅圖
* 優化網頁聊天carousel樣式

2024-10-28

* 機器人日誌添加30日內新增以及活躍用戶過濾
* 添加Instagram 24小時內廣播
* \[修正] LINE下載檔案名稱問題
* 新增Haiku Dev版本，尚未發布
* 發布1.0.37

2024-10-26

* 將LINE RichMenu 移除後同時會將已發布的全部移除，不會殘留於系統上
* 添加前端可複製LINE RichMenu的id

2024-10-25

* \[修正] sitemap更新過濾器後，將移除同步索引的按鈕，需一小時後才可點擊

2024-10-23

* 新增opentable可以將插入表單分享出去
* 添加角色工具插入表單連結
* 發布1.0.36

2024-10-20

* 新增轉帳以及Paypal付款

2024-10-18

* 添加角色工具陣列功能(自動上標籤)

2024-10-13

* 新增LINE RichMenu
* 優化預約對話(不包含表單)，會檢查並提供空閒時間給用戶
* 分組代理人(agent)分配後一樣會有租戶擁有者(租戶擁有者可以查看所有訊息)
* 由於同時在領域測試以及知識庫admin對話框會互相影響對話，所以改為如果在兩者選一對話將會刪除上下文

2024-10-11

* 網頁聊天輸入內容限制為1024字元
* \[修正] 預約周末顯示問題

2024-10-10

* \[修正] 不同權限仍看的到其他權限菜單(雖然點不了)，將改為也看不到
* \[修復] 快速點擊進入知識庫，但知識庫尚未加載的問題，將改為加載後才可點擊
* 移除原先廣播圖片上傳方式，統一改為公開圖片上傳
* 提供Facebook/Instagram 留言的JSON注入方法
* 發布1.0.35

2024-10-09

* 網頁爬蟲不會爬取任何被robots.txt禁止的網頁
* 代理人備註新增姓名欄位
* 添加Telegram通知，目的為取代明年三月下架的LINE Notify

2024-10-07

* \[修復] 場景上限無法修改的問題

2024-10-04

* 表格內下載添加Dialog確認使用者是否想下載
* \[修正] 儀錶板我的最愛因為修改欄位造成原先儲存的欄位消失問題，此問題沒徹底解決，建議欄位新增或刪除存在於我的最愛時，請重新建立我的最愛列表。
* 內嵌網頁新增複製以及來源排版優化

2024-10-03

* 添加文檔問答修正後也可以重新建立過濾器

2024-10-02

* 回覆節點語系加入國旗

2024-10-01

* 新增禁止使用機器人的功能添加到機器人日誌內，以及修改標籤以及屬性等(後面兩個尚未在畫面顯示)
* 添加領域在限制次數內強制結束
* 發布1.0.34

2024-09-30

* 歡迎詞顯示將不會僅命中一的流程即結束，假設你第一個五秒，但第二個十秒也命中，兩個都會顯示
* 文檔問答若狀態未在ready以及創建未滿一小時禁止刪除

2024-09-25

* 網頁聊天輸出Markdown連結預設為target="\_blank"以及rel="nofollow"
* 將關閉內嵌網頁的按鈕，打開後消失，讓整個內嵌網頁下移80px
* 添加打開內嵌網頁上方可以滑動的小工具列，目前支援電話/信箱/FB/IG/TG
* 發布1.0.32以及內部大量修改架構後發布1.0.33

2024-09-24

* 更新前端架構

2024-09-22

* 新增Facebook/Instagra/Threads 在觸發器(本意其實是要添加留言的功能，但未實現)
* 移除OpenAI以及OpenRouter的列表映射功能，將不會帶入表單歷史上下文
* 並發布1.0.31

2024-09-18

* 移除文檔問答的檔案保存，未來將不再保存任何檔案
* 將部分頁面變得更好看
* 新增網頁聊天電話碼根據瀏覽器語系顯示

2024-09-17

* \[修正] 歡迎詞列表每次刪除都會刪除第一個的問題

2024-09-15

* 新增應用程式檢查，假設你身旁同事偷走你的登入Token，會比對簽名發送通知。
* 新增廣播標題設置，主要用於Facebook 一次性通知以及定期通知
* 將網頁設置右側的內嵌網頁隨著移動而移動
* 新增租戶群組
* 新增租戶描述，會將今天星期幾以及今天上線時間自動帶入真人聊天描述中
* 並發布1.0.30

2024-09-14

* 新增真人客服筆記列表(除了顯示在對話中，右邊欄位也會顯示)，對話中的顯示會隨著30天候刪除

2024-09-12

* 添加自動產生提示詞在角色的功能(此功能可以使用於Gemini以及GPT)，若是SYS\_PROMPT產生的提示詞僅限於GPT
* 添加自動留言關鍵字以及留言不得比對成功的規定(就算成功也不會造成循環留言)

2024-09-11

* 延長歡迎詞從64到128
* \[修正] 歡迎詞顯示不好看的問題

2024-09-09

* 新增Facebook/Instagram 持久菜單以及開始(getStarted)的功能
* 新增過期後可以自行轉為免費版本(目前限制過期後兩天才可以點選)

2024-09-04

* 新增Me節點在觸發器，可以查看操作者目前是誰
* 重新發布新的網頁聊天的SVG(格式統一)

2024-08-31

* 線上客服直接在網頁聊天選項可以直接啟動
* 允許網頁限制，protocol為http(此功能僅限本地開發)不用https
* 新增網頁小工具Youtube/Facebook/Threads/Github/Linkedin

2024-08-30

* 添加大量文字限制規則，例如LINE在模板上的文字大部分都會超過，會自動將超過的部分截掉
* 新增Facebook/Instagram自動刪除、隱藏回覆功能

2024-08-28

* 將大量畫面支援手機
* 新增使用者最後登出時間
* 新增網頁聊天如果發生錯誤的訊息提醒

2024-08-27

* \[修正] 機器人流程調用節點的變數列表未出現的問題
* \[修正] 當APP\_ID改成其他導致真人客服無法閱讀到使用者的問題

2024-08-26

* 歷史紀錄新增信箱以及電話是否存在的過濾功能
* 文檔問答的對話檔案提供csv模板下載

2024-08-25

* 機器人流程節點新增信箱、電話、語系，包含變數節點以及分支節點以及回覆節點的autocomplete
* 將回覆節點訊息長度從255上升到512

2024-08-24

* 網頁聊天新增重新發送，避免網路有問題還需要重新打字


# 1.0.29

DMflow\.chat更新歷程，由1.0.25至1.0.29

### 1.0.29

#### 2024-08-23

1. 分支條件系統渠道新增@web
2. 添加系統使用者欄位locale作為語系
3. 添加機器人測試在剛開始時也會有loading text.
4. 新增網頁聊天機器人當發生錯誤時可以重新發送
5. 將機器人歷史使用者排序預設為更新時間
6. 修正Telegram儲存時檢查失敗
7. 修復Gemini Fallback一直失敗原因

1.0.29到正式版本將會停住，直到付費版完成，以下是1.0.29更新後繼續更新的部分

#### 2024-08-29

1. 新增sys\_user的email、phone以及locale在記憶模板
2. 將所有回覆長度從255添加到512，並會自動根據不同渠道切掉長度，請注意有按鈕模板在LINE上面沒圖片最多長度為160，如若超過此長度請使用"設計模板"無外添加渠道模板。
3. 修正文檔問答Fallback未紀錄之問題
4. 新增歷史紀錄搜尋存在信箱或是手機
5. 文檔問答"對話"新增下載csv
6. 網頁使用者預設語言以瀏覽器優先其次才是自行設定的語言
7. \[修復] 文檔問答直接更新chunk導致檔案為空(但搜尋內容仍有效)，另外補充網頁的chunk不能更新，更新網頁會進行重新抓取該網頁內容。

#### 2024-08-29

1. \[修復]新建領域預設模型不管選哪個都是Gemini的bug
2. 文檔問答於LINE以及Instagram/Facebook添加useful以及useless標籤於快速回覆，LINE則添加文檔問答的連結於快速回覆
3. 新增同session問相似的問句可以命中快取(但相似度設定到0.9且沒做同義詞，所以幾乎要一樣才會命中)，不增加AI積分。
4. 當AI積分使用完畢會同時啟用離開以及Fallback(原本只有離開，添加Fallback可以在上下文未命中新增呼叫代理人)
5. 新增trial試用版取代原先的free免費版，trial版本跟先前免費版功能一樣，而免費版本將每日免費AI積分調降到10
6. 調整Gemini Latest到gemini-1.5-flash-exp-0827。

### 1.0.28

2024-08-21

1. 將Web Chat內嵌網頁數據保存
2. 此版本主要是將Gemini部分會產生的錯誤工具移除。

### 1.0.27

2024-08-19

* 添加Facebook粉絲頁圖示以及Instagram帳戶圖片(如果有)，並且提供按鈕確認是否在運作
* 線上客服排版調整
* 部分圖片上傳超過5MB，若是尺寸超過會自動調整到最大為1024(編輯此文件時已經是1.0.29後版本更改為超過1MB會自動調整壓縮圖片)

### 1.0.26

2024-08-25

* 新增機器人Fallback統計以及各渠道總共人數、三十日內新增、活躍人數
* 將管理員knowledge每頁數量增加到100
* 新增歡迎詞提醒，可以根據前端網頁以及日期改變歡迎詞
* 新增廣播定期提供用戶是否點擊(到下一次廣播前都存在)以及一次性廣播的點擊除了標示發送人數以及點擊人數也可以顯示點擊的用戶(目前不支援勾選特定用戶傳送訊息，需要使用標籤，也不支援顯示用戶添加標籤)
* 將觸發器紀錄器改為排序建立日期
* 調降先前版本文本64k降到16k
* 修復追蹤廣播點擊的問題
* 新增觸發器新節點(Exist Node)可以檢查該資料是否存在

### 1.0.25

2024-08-12

1. 新增網頁渠道使用者的language(提供國旗以及國碼表)
2. 將網頁渠道歡迎詞從32字元限制提升到64字元
3. Facebook/Instagram，自動回覆，選擇貼文改為多選，過濾條件改為多項，並新增刪除回覆
4. 限制所有LLM輸入將在16000 tokens以內
5. 調整Facebook Recurring Notifications每次執行完後會進入wait而不是ready(ready會在下一次時間點直接執行，wait則是要手動調整訊息)，避免傳送兩次相同訊息。
6. 調整Telegram註冊廣播，如果使用者封鎖後註冊廣播將會一併刪除，但過濾條件將不會主動將使用者改成被使用者封鎖
7. 網頁聊天或是各渠道未指定代理人，將會隨機分配給在線上的人，若未有人在線上則以留言為主。


# 1.0.24

DMflow\.chat更新歷程，由1.0.20至1.0.24於2024-08-07更新

## 1.0.24

2024-08-07T11:02:00+08:00

1. 修正網頁爬取條件調整
2. 新增停止代理人(可以將人工客服狀態強行關閉，包含Facebook Page Inbox，不含Instagram)
3. 新增"設計"，提供全渠道(未包含網頁)，文字、圖片、語音、影片、檔案、卡片、多卡片，檔案可直接選取
4. 將真人客服，新的呼叫將會移到最上方，仍存在的不變位置

## 1.0.23

2024-08-03T00:36:00+08:00

1. 修正文檔問答在擷取sitemap時，沒更新到舊的網頁
2. UI設計大量圓角，以及畫面優化
3. 新增"公開連結"的檔案網址取得
4. 新增sitemap/rss/atom 可以過濾title/content/link(僅存在於xml)

## 1.0.22

2024-07-30T14:56:00+08:00

1. 觸發器-背景執行開啟stream，可以在可視化圖形看到目前執行的節點
2. 新增Background Bebug包含HTTP Payload
3. 新增agent頭貼
4. 將前台ui的卡片以及彈跳視窗圓角，以及彈跳視窗可以自由縮放
5. 觸發器測試新增停止，以及停止後可以直接查看該節點的data以及debug\_history所有執行過包含LOOPS內的data都會顯示。

## 1.0.21

2024-07-26T22:00:00+08:00

1. 新增Google Index以及XML節點
2. 更新內嵌網頁的外部連結圖片
3. 更新觸發器節點所有預設文字節點圖片
4. 修正tag字數太常導致點不了刪除的問題<br>

## 1.0.20

2024-07-23T09:28:00+08:00

1. GPT3.5更改GPT-4o mini
2. 移除對話模板後，將Facebook Messenger的OTN、Recurring Notifications移動到註冊事件節點自動配置


# 1.0.19

DMflow\.chat更新歷程，由1.0.18至1.0.19於2024-07-18更新

## 1.0.19-1

2024-07-17T23:20:00+08:00

1. 修改IF節點Output樣式
2. 將回覆留言的私人回覆選項加回去
3. 移除所有前台全時段的時間表(將在下一個版本全部移除)

## 1.0.19

2024-07-15T16:51:00+08:00

1. \[fixed] 觸發器載入不一致導致空白節點出現(待驗證)
2. 網頁機器人，客服對話新增時間。
3. Instagram驗證新增unsends messages
4. Sendgrid 新增templateId 寄送
5. 解決瀏覽器safari以及iphone/ipad網頁聊天無法認證用戶問題
6. 開放Facebook和Instagram代管

## 1.0.18

1. Calendar 畫面優化，文字不超過外框
2. 新增刪除渠道
3. \[fixed] 真人客服輸出空白問題
4. 移除文檔問答sentence輸出範圍


# 1.0.17

DMflow\.chat更新歷程，由1.0.7至1.0.17於2024-07-10更新

目前版本仍是Beta版本，當前以1.0.17當前最新版為主。

## 1.0.17

2024-07-09T00:31:00+08:00

1. 新增附件上限提醒
2. 將預設模型從GPT 3.5改為Gemini 1.5 flash
3. 修正表單預設排序失效問題
4. 新增Google Calendar以及Google Drive(限制只有DMflow\.chat創建才可操作)使用
5. 表單視角Calendar優化Mobile使用

### 1.0.16

2024-06-23T23:15:00+08:00

1. 更新Facebook和Instagram審核(等待審核完畢會開放)
2. 新增未命中全局設定(當判斷為FALLBACK後自動添加此按鈕)

### 1.0.15

2024-06-22T00:42:00+08:00

1. 新增Instagram
2. 新增留言回覆(認證中)

### 1.0.14

2024-06-12T22:39:00+08:00

1. 新增Agent中位數及平均數完成以及第一次回覆時間
2. 將user被別人封鎖和封鎖別人表示出來

### 1.0.13

2024-06-11T16:37:00+08:00

1. 新增聲音通知訊息
2. 系統安全更新

### 1.0.12

2024-06-07T00:51:00+08:00

1. Agent新增移除
2. 分享功能添加原先提供的scene以及lang參數
3. 修理calendar產生的bug
4. 觸發器背景執行規則添加: 移除、修改若未忽略過濾碼，則操作者必須存在於擁有者

### 1.0.11

2024-06-05T21:37:00+08:00

1. 新增機器人分享(QR code以及網址)
2. 修復widget前台提醒不一致
3. 文檔問答爬sitemap內的網址，標題改為網頁內容的標題
4. 修復閒聊查詢文檔錯誤配置

### 1.0.10

2024-06-03T00:39:00+08:00

1. 網頁內嵌新增潛在客戶表單(可收集EMAIL、PHONE以及姓名)
2. 新增閒聊角色技能
3. 修正文檔問答，sitemap無法再次點擊的問題
4. sitemap爬出來的網頁名稱都以該網頁的title為命名。
5. 新增儀表板視圖簡易日曆以及卡片
6. 修復真人客服點擊完成沒將已讀歸零的問題

### 1.0.9

2024-05-27T00:35:00+08:00

1. \[修復] 部分節點擷取不到觸發器JSON節點
2. \[修復] 預先取得檔案連結點擊第一次尚未取得連結的BUG
3. 新增觸發器節點可以擷取檔案連結的工具
4. 新增日期公式DATETIME\_DIFF、DATETIME\_FORMAT、TODAY、WEEKDAY等...
5. 優化表單問答AI方面
6. 新增儀表板預先載入
7. 新增儀表板同一個表單若在背景觸發器更新文檔會通知當前頁面

### 1.0.8

2024-05-23T01:00:00+08:00

1. 新增Markdown預覽
2. Markdown textarea可以點擊跳出新視窗
3. 可以查看廣播過濾或者註冊的使用者
4. Messenger welcome 新增mentions
5. 新增Agent通知以及觀看Agent是否休息
6. 修復領域設定儲存失敗的問題

### 1.0.7

2024-05-18T02:10:00+08:00

1. 網域更新（app.dmflow\.chat)
2. \[fixed]修復新用戶無法寫入新的訪客名單
3. 新增首頁「最新消息」
4. \[fixed]修復機器人流程註冊事件消失的bug
5. 新增聯絡人，目前僅提供跟系統管理者對話
6. 新增可添加系統管理者用戶，不受使用者數量限制


