# 交談腳本

{% hint style="info" %}
FIRST LINE 提供強大且靈活的聊天機器人流程設定，透過多樣化的組合，打造**個性化的對話體驗**。此外，還能結合大型語言模型的 AI 技術，提供更智能、更自然的客戶互動。

👉 <https://www.firstline.cc/chatbot>
{% endhint %}

## 我該如何使用？

您能依據不同聊天情境，編輯不同的腳本，如當客戶發出訊息時，跳出選項透過引導幫助客戶找出解答...等，以協助企業處理客戶服務。&#x20;

交談腳本能幫助你處理各種情境下的對話，利用「事件」、「條件」並搭配「動作」這三要素，能處理更為複雜的情境，例如：

* 利用選單引導顧客進行流程，**回覆更精準的答案**。
* 依據不同流程將顧客**優先分派給不同的客服人員**。
* 發送優惠卷或是促銷活動資訊等。

![利用腳本來協助處理客服人員常見問題](https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2Fy5xPbknioyCqFQFfAvRy%2FmessageImage_1639559973049.jpg?alt=media\&token=9ccb75a2-d994-4dbd-b28b-d1877b346eba)

## 開始設計專屬腳本

要建立一個交談腳本並使其運作，只需遵循以下簡單的步驟：

1. **建立腳本**：在「應用程式」裡找到「聊天機器人」分類下的「交談腳本」功能。點擊介面中的「新增」按鈕或「範本」按鈕即可開始。
2. **設計腳本**：根據您的業務需求，例如設置關鍵字自動回答、促銷活動推廣等，開始規劃您的腳本。在編輯過程中，您可以利用模擬功能進行即時檢驗。若需中途離開，可隨時儲存草稿。
3. **發布腳本**：腳本設計完畢後，點擊編輯畫面中的「發佈」按鈕，將您的腳本從草稿階段正式發布。
4. **關聯腳本**：為了讓腳本在實際場景中發揮作用，需要將它關聯到相應的交談管道，比如LINE、Facebook。在腳本列表中找到「管道關聯」頁籤，完成關聯設置。
5. **大功告成**：至此，您的專屬交談腳本已經準備就緒，可以開始在指定的管道中自動回應客戶的訊息了。

### ✏️ 操作介面

在單筆腳本介面中，您會看到幾個關鍵功能按鈕，它們分別為：

<table><thead><tr><th width="165">功能</th><th>描述</th></tr></thead><tbody><tr><td>名稱</td><td>允許設定或修改腳本的名稱和描述，有助於保持腳本組織有序。</td></tr><tr><td>模式切換</td><td>讓您可以在腳本的編輯模式和檢視模式之間切換。<br>1.  在檢視模式下，介面會隱藏部分操作按鈕。<br>2. 在檢視模式下，您檢視的已發布腳本資訊，而在編輯模式下，則是您所儲存的腳本草稿資訊。</td></tr><tr><td>範本、匯入</td><td>使用 FIRST LINE 團隊提供的流程範本，或從其他來源匯入腳本 JSON，節省設計時間。</td></tr><tr><td>匯出</td><td>允許將當前腳本匯出為 JSON 格式，方便存檔或其他環境使用。</td></tr><tr><td>模擬機器人</td><td>在編輯階段進行即時測試草稿流程，查看腳本實際運行表現，根據測試結果進行調整。</td></tr></tbody></table>

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2FKdJNnCzOXKOYHvk5YCLr%2Fimage.png?alt=media&#x26;token=d299c120-5f9e-4f45-9c5e-3d2982c1c05d" alt=""><figcaption></figcaption></figure>

### 📝 注意事項

1. **對於正在進行的腳本流程**：當腳本更新並發布時，若有客戶正處於該腳本流程中，系統將主動將他們返回至起始點重新開始流程。
2. **主腳本設計規則**：主腳本的起始處必須放置至少一個「事件」節點，用以定義客戶進入腳本的條件。這樣設計是為了明確開始互動的觸發點，確保客戶能夠根據預設條件順利開始腳本流程。
3. **經過節點數量限制**：為了避免過於複雜的設計導致的客戶體驗不佳，客戶從發起對話到下一次發話之間經過的節點（包括「條件」、「動作」等）數量不能超過200個。若超出此限制，系統會自動將客戶引導回起始點，以防止可能的錯誤設計流程對客戶造成不良影響。

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2FjAjuWgyh5d6GlYoNnmxs%2Fimage.png?alt=media&#x26;token=c0990491-1d59-459b-9de7-b01374d79bb4" alt=""><figcaption></figcaption></figure>

## 腳本節點類型？

交談腳本依據用途，節點區分為幾種不同類型：

<table><thead><tr><th width="134">類型</th><th>描述</th></tr></thead><tbody><tr><td>入口</td><td>用戶進入流程的起點，能連其他節點於後方，但無法刪除。</td></tr><tr><td>事件</td><td>等待指定事件發生，可以連接於「動作」後方執行流程，如發送訊息「請輸入您要的服務」後，判斷用戶的內容決定步驟。</td></tr><tr><td>條件</td><td>能判斷用戶資料，如目前時間、所傳送的訊息等。如判斷為特定時段傳送優惠訊息。</td></tr><tr><td>動作</td><td>能執行流程操作，如發送訊息、選項等。可以連接於「事件」或「條件」後，當符合特定情境時才作業。</td></tr><tr><td>出口</td><td>代表整個流程結束並離開。而在離開後，也能執行其他最後操作，如轉派專人、接續其他腳本等。</td></tr></tbody></table>

而每個類型節點又包含多種相對應的功能與設定，將於下述解說到。

### 🚩入口

在腳本設計中，<mark style="background-color:yellow;">**「入口」扮演著用戶進入流程的關鍵起點角色，所以「入口」是一個固定節點，它無法被刪除。**</mark>

而入口所連結的第一個腳本節點，其規則取決於該腳本的性質：

* 對於**主腳本**，第一個節點必須是「事件」中的「當客戶訊息符合時」，這樣設計是為了確保流程能夠在特定條件觸發執行。
* 對於**子腳本**（即在某一腳本流程中被另一腳本調用的腳本），則沒有此限制。子腳本不必以「事件」節點作為起始點，無論其起始節點為何，系統都會在調用時自動執行後續步驟。

***

### 👀 事件

**事件會「等待」指定的事件發生，才接續執行連接步驟**，如你新增「當客戶訊息符合時」的事件，會等客戶發送才接續執行後續流程。而目前相關功能有以下。

<table><thead><tr><th width="226">事件類型</th><th>描述</th></tr></thead><tbody><tr><td>客戶發送訊息</td><td>顧客訊息符合所設定的關鍵字其中之一。</td></tr><tr><td>客戶瀏覽頁面</td><td>當客戶瀏覽符合特定網頁時。</td></tr><tr><td>客戶寄送信件</td><td>當客戶寄送信件，且符合所設定條件。</td></tr></tbody></table>

***

### 🔀 條件

依據資料決定流程是否繼續執行，或是進行其他流程。

<table><thead><tr><th width="168">條件類型</th><th>描述</th><th>可能的應用</th></tr></thead><tbody><tr><td>星期符合</td><td>如果當天日期符合指定之星期。</td><td>發送優惠訊息、特定活動提醒等</td></tr><tr><td>記憶變數比對</td><td>比對事件中記憶的資料是否設置或等於指定值。</td><td>客製化回應、流程分支、資料驗證等</td></tr><tr><td>客戶訊息符合時</td><td>顧客訊息符合所設定的關鍵字其中之一。</td><td>啟動特定對話流程、標籤分類、回復訊息等</td></tr><tr><td>專員正在線上</td><td>是否有專員正在線上使用系統。</td><td>導向真人服務、顯示等待時間、自動回應等</td></tr><tr><td>客戶資料是否存在</td><td>進線顧客是否有連結的客戶資訊。</td><td>客戶身份驗證、資料更新提示、個人化服務等</td></tr><tr><td>訊息類型</td><td>客戶傳遞的訊息是文字或是檔案。</td><td>檔案處理流程、關鍵字回應等</td></tr><tr><td>網頁網址</td><td>客戶進線的網址是否符合特定網址。</td><td>網站導航協助、客製化廣告顯示、活動頁面導向等</td></tr></tbody></table>

***

### ⚡ 動作

<table><thead><tr><th width="153">動作類型</th><th>描述</th><th>應用範例</th></tr></thead><tbody><tr><td>傳送訊息</td><td>傳送訊息給顧客，文字或是圖片。</td><td>客服通知、活動宣傳、產品資訊分享等</td></tr><tr><td>傳送選項</td><td>傳送最多三個選項給顧客，依據不同管道顯示有所不同。而三個項目為當前社群媒體統一交集上限。</td><td>服務選單、快速回應選擇等</td></tr><tr><td>傳送輪播訊息</td><td>傳送水平捲動的輪播圖卡。</td><td>產品展示、活動介紹、使用指南等</td></tr><tr><td>傳送快速選項</td><td>傳送不能重複點擊選項引導客戶。</td><td>問題解答、預約選擇、服務導引等</td></tr><tr><td>Webhook 腳本</td><td>呼叫 webhook 腳本進行 API 整合。</td><td>數據同步、第三方服務整合、自動化任務處理等</td></tr><tr><td>搜尋知識庫文章</td><td>透過對話變數找尋符合關鍵字最接近的知識庫文章。</td><td>FAQ 回答、自助解決方案、知識分享等</td></tr></tbody></table>

***

### 🔚 出口

<table><thead><tr><th width="166">出口類型</th><th>描述</th><th>應用範例</th></tr></thead><tbody><tr><td>結束流程</td><td>結束目前對話流程。</td><td>完成查詢、結束互動、解決問題後自動結束等</td></tr><tr><td>其他腳本</td><td>結束並緊接另一腳本。</td><td>從一個服務流程轉到另一個相關流程，如從產品查詢到下單流程</td></tr><tr><td>轉派專員</td><td>將用戶對話進線至系統並分派給專人。</td><td>當自動化服務無法解決顧客問題，需人工介入時</td></tr></tbody></table>

***

## 常見問題

### 腳本設計完成，該如何與管道關聯？

一旦您完成了腳本設計，即可透過腳本列表介面中的「管道關聯」頁籤，將您精心設計的腳本與 LINE、Facebook 等您選擇的交談管道進行關聯。

接著，當客戶透過這些管道發送訊息，或其他您所指定的事件被觸發時，系統都能夠根據您設計的流程開始執行。

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2FFb7XpaIlvA51gWPbiu9o%2Fimage.png?alt=media&#x26;token=1833fd67-a6bb-45cc-b25f-cbe0a68285e1" alt=""><figcaption></figcaption></figure>

### 如何測試腳本流程？

在腳本設計完成後，進行測試以確保流程能正常運作且符合預期是非常重要的一步。無論您處於設計階段還是已準備好發布腳本，都有適合的測試方式：

1. **草稿階段的測試**：在編輯模式下，利用腳本介面中的「模擬機器人」功能進行即時測試。這允許您在還未正式發布之前，預覽和評估草稿階段流程的效果，及時發現並調整可能存在的問題。
2. **發布後的測試**：若腳本已經發布，您可以透過正式管道進行實際測試。如果不想影響當前正常使用的管道，您則可以建立一個專用的「即時聊天」管道進行測試。建立管道後，點擊即時聊天介面的即時檢視按鈕，即可開始在真實應用環境中評估腳本的表現。

### 有提供範本參考嗎？

為了幫助您快速上手並激發創意思維，我們提供了一系列多樣化的流程範本。這些範本覆蓋了一些基本應用，展示如何有效利用我們的腳本設計功能來優化客戶服務和互動體驗。<mark style="background-color:yellow;">您可以在腳本列表中，或是在單一腳本的編輯界面右上方找到範本按鈕。</mark>

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2FihcPtI6xFB9TtaMoSjrq%2Fimage.png?alt=media&#x26;token=84706bf2-a2a7-418e-b044-6258453e2ff2" alt=""><figcaption><p>透過列表開啟範本視窗</p></figcaption></figure>

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2F4k5GraEvo7eWfQ5ae8yb%2Fimage.png?alt=media&#x26;token=9f7e550f-3b6d-4dc9-9370-8a99f4c604cc" alt=""><figcaption><p>在編輯界面中開啟範本視窗</p></figcaption></figure>

### 如何編輯腳本名稱、描述或停用？

要對交談腳本進行細更改其名稱或是新增備註，您可以直接在單一腳本的編輯界面進行操作。

1. 在您需要修改的腳本上，進入其介面。
2. 在單一腳本界面的頂部，找到交談腳本的標題。點擊標題，即可進行修改。值得注意的是，更改腳本名稱是即時生效的，但這一操作並不會觸發腳本的發布或保存當前編輯的流程。

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2FlFj9kveeJypcMbrd91W7%2Fimage.png?alt=media&#x26;token=30c3d4bf-3d18-4251-9519-6740c39ae160" alt=""><figcaption></figcaption></figure>

### 如何利用條件或事件進行判斷

在整個流程中，當你需要進行分支判斷時，可以透過區塊中的「事件」、「條件」兩種進行判斷，此兩種類別區塊會判斷**同一層級的相同類型區塊**。

<figure><img src="https://842546780-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MNRu7dk70ei7JV9HlW9%2Fuploads%2F60NVp299GD16ZNNcfScV%2Fimage.png?alt=media&#x26;token=dec1db48-3ad5-4d60-b4ce-8456a96de4f9" alt=""><figcaption><p>流程會判斷同層級的相同區塊</p></figcaption></figure>

如上圖所示，流程會判斷同層級的「事件」區塊，當判斷條件為否時，將會自動依據判斷下一個「事件」區塊，直到條件為是或連接到非相同區塊。

## 進階使用

### 利用子腳本細分流程

當你的單一腳本越來越龐大時，會變得難以維護與掌握，而在這種情況發生時，建議將腳本細拆為其他不同的腳本，例如依據使用情境與不同的選項劃分。

接著，利用「出口」區塊的功能，呼叫其他的子腳本繼續銜接流程，這樣就能輕鬆化繁為簡。

當然，若你的不同腳本間，有一小部分相同的流程，則更建議你將此相同的步驟新增為另一個腳本加以重複利用。

### 利用「訊息變數」判斷接續流程

在腳本部分區塊設定中，你可以將訊息儲存至當前腳本的變數中，來協助後續流程更加流暢。例如，當你詢問客戶暱稱並且客戶回應後，將客戶的暱稱儲存至變數 nickname ，再接續流程透過「傳送訊息」，設定 **`{{ nickname }} 先生/小姐，您好！`** 跟客戶打聲招呼並確認。

### 利用模板語法傳送個人化訊息

你能透過記憶變數與模板語法，將傳遞的訊息內容進行處理，輕鬆傳送所需要的訊息。

如採用模板語法，你可以這樣簡單使用。

```php
{{ name ?? '會員' }}，您好！
```

而更多複雜的應用，請參考下列文章。

{% content-ref url="../other/template-syntax" %}
[template-syntax](https://help.firstline.cc/feature/other/template-syntax)
{% endcontent-ref %}
