首頁 / n8n 工作流模板 / 從 Dialpad 來電自動在 Syncro 中建立工單

從 Dialpad 來電自動在 Syncro 中建立工單

Dialpad to Syncro

此工作流程透過 webhook 擷取來自 Dialpad 的來電,在 Syncro 中搜尋匹配的客戶,並根據聯絡人或客戶資料建立或更新支援工單。

Webhook21 個節點業務營運SyncroDialpadCRM

工作流介紹

Dialpad to Syncro 整合工作流程分析

這個名為「Dialpad to Syncro」的 N8n 工作流程範本,旨在自動化**Dialpad(一個基於雲端的商務電話系統)與Syncro(一個為 MSP 設計的 IT 服務管理平台)**之間的整合。它讓企業能夠在透過 Dialpad 接到來電時,根據來電者識別資訊,自動在 Syncro 中建立或更新支援工單。該工作流程會智慧地使用電話號碼匹配客戶或聯絡人,並將相關資料記錄到 Google Sheets 以供追蹤和報告。


工作流程功能

此工作流程的主要功能是:

  • 監聽來自 Dialpad 的傳入網頁鉤子事件(由來電觸發)
  • 透過使用來電者的電話號碼在 Syncro 的資料庫中搜尋,來識別來電者
  • 判斷來電者是已知的聯絡人還是客戶
  • 檢查是否已有與該聯絡人相關聯的未關閉工單
  • 建立新工單或向現有工單添加評論
  • 將通話和對應的工單資訊記錄到 Google Sheets 以供稽核和分析

此自動化確保每通來電都能啟動一個可追蹤的服務記錄,從而簡化客戶服務營運,減少手動輸入並改善回應時間。


主要功能與能力

  1. 網頁鉤子觸發執行

    • 監聽來自 Dialpad 的即時 POST 請求,使其成為事件驅動且響應迅速。
  2. 動態客戶/聯絡人匹配

    • 使用來電者的電話號碼(清除格式,如 +、前導 1 或 0)來搜尋 Syncro 的 API。
    • 同時處理個人聯絡人和公司層級的客戶。
  3. 條件邏輯分支

    • 使用多個 IF 節點根據以下條件做出決策:
      • 通話方向(inbound)
      • 搜尋結果長度(是否存在 1 個匹配項)
      • 是否存在未關閉的工單
  4. 工單管理自動化

    • 如果不存在未關閉的工單,則建立新工單
    • 更新現有未關閉的工單並添加通話詳細資訊,而非建立重複工單
  5. 資料豐富與轉換

    • 使用 Function 節點從原始 API 回應中提取結構化資料
    • 使用全名、電話號碼和公司名稱格式化動態訊息
  6. 透過 Google Sheets 進行外部記錄

    • 在 Google Sheets 中記錄每項操作(工單建立/更新),包含:
      • 通話 ID
      • 工單 ID
    • 對於稽核、計費或績效追蹤非常有用
  7. 環境配置

    • 使用 EnvVariables Set 節點集中配置(如基礎 URL 和使用者 ID),以便於維護。
  8. 錯誤彈性和備用路徑

    • 包含 NoOp(無操作)節點作為備用路徑,以防止因遺失資料而導致執行中斷。

主要節點及其用途

節點名稱 類型 用途
Webhook Webhook Trigger 在發生來電時接收來自 Dialpad 的 POST 負載
IF (Direction Check) IF Condition 確保僅處理 inbound 通話;忽略外撥/內部通話
EnvVariables Set Node 儲存環境常數,如 Syncro 基礎 URL 和預設使用者 ID
GetCustomer HTTP Request 使用已清除格式的來電號碼查詢 Syncro 的搜尋 API
Contacts Function Node 解析 API 回應以提取聯絡人記錄
Customers Function Node 解析 API 回應以提取客戶(公司)記錄
IFContacts / IFCustomers IF Conditions 檢查是否找到剛好一個聯絡人或客戶
GetTicket HTTP Request 搜尋與已識別聯絡人關聯的未關閉工單
IFMoreThanOne IF Condition 判斷是否存在未關閉的工單(長度 > 0),然後決定更新或建立
UpdateTicket HTTP Request 向現有工單添加一個隱藏的評論,記錄通話
CreateTicket / CreateTicketForCustomer HTTP Request 在聯絡人或客戶下建立新工單
Set Nodes (ForGoogle)* Set Node 為記錄準備結構化資料(通話 ID + 工單 ID)
**Google Sheets * ** Google Sheets Node 將記錄條目附加到試算表中以供追蹤
**NoOp * ** No Operation Node 作為虛擬輸出,處理未採取任何行動的情況

使用案例與效益

✅ 使用案例

  • 託管服務提供者 (MSPs):自動追蹤客戶互動,無需代理在每次通話後手動建立工單。
  • 客服中心:在代理接聽電話前,提供關於來電者的背景資訊,提高首次回應效率。
  • 銷售與支援團隊:維護所有來電通訊的詳細記錄,並直接連結到 Syncro 中的 CRM 式記錄。
  • 合規與稽核:在 Google Sheets 中保留不可變的記錄,將通話連結到服務活動。

✅ 效益

  • 減少手動工作:無需手動查找客戶和開啟工單。
  • 防止重複工單:智慧邏輯避免系統混亂。
  • 提高責任制:每次通話都會留下數位足跡。
  • 增強情境意識:代理可以在接聽或回撥電話前查看近期活動。
  • 可擴展且可配置:可擴展至包含 SMS、語音郵件或電子郵件整合。

逐步工作流程邏輯

  1. 觸發:偵測到來電

    • Dialpad 向 /moezdialpad 網頁鉤子端點發送 POST 請求。
    • 負載包含來電號碼(external_number)、通話 ID 和方向。
  2. 篩選:僅處理來電

    • 第一個 IF 節點檢查 direction === 'inbound'。
    • 如果為 false,則路由到 NoOp2(不做任何事)。
    • 如果為 true,則繼續下一步。
  3. 載入環境變數

    • EnvVariables 節點注入:
      • syncro_baseurl:Syncro API 的基礎 URL
      • 其他稍後使用的靜態值(例如,使用者 ID)
  4. 在 Syncro 中搜尋來電者

    • GetCustomer 向以下網址發送 HTTP GET 請求:
      {{syncro_baseurl}}/api/v1/search?query={cleaned_phone}
      
    • 電話號碼使用 .replace() 進行清理,以移除 +、前導 1 或 0。
  5. 將結果解析為聯絡人和客戶

    • 兩個並行的 Function 節點(Contacts 和 Customers)解析搜尋結果 JSON:
      • 過濾 _index === 'contacts' 或 'customers' 的條目
      • 提取關鍵欄位:姓名、ID、customer_id、電話
    • 輸出匹配的聯絡人/客戶陣列
  6. 檢查是否剛好有一個匹配項

    • IFContacts:如果找到剛好一個聯絡人 → 繼續檢查工單
    • IFCustomers:如果找到剛好一個客戶 → 繼續建立客戶層級工單
    • 否則,路由到 NoOp/NoOp1(不採取任何行動)
  7. 檢查未關閉的工單(按聯絡人)

    • 如果找到聯絡人,GetTicket 會查詢:
      /api/v1/tickets?contact_id=X&status=Not%20Closed
      
    • 返回該聯絡人的未關閉工單列表
  8. 決定:更新還是建立工單?

    • IFMoreThanOne 評估:
      • 是否至少有一個未關閉的工單?
    • 如果是 → 前往 UpdateTicket
    • 如果否 → 前往 CreateTicket
  9. 更新現有工單

    • UpdateTicket 向第一個未關閉的工單發布評論:
      • 主旨:「來自 John Doe (+1234567890) 的電話」
        -內文:「John Doe 打了電話。」
      • 隱藏:true(內部備註)
      • 分配給預設使用者
    • 然後透過 ForGoogle → Google Sheets 準備並記錄資料
  10. 建立新工單

    • 如果沒有未關閉的工單:
      • CreateTicket 建立一個新工單,包含:
        • 來自匹配聯絡人的客戶 ID 和聯絡人 ID
        • 動態主旨行
        • 狀態:「進行中」
        • 分配給預設使用者
    • 然後透過 ForGoogle1 → Google Sheets1 記錄
  11. 處理客戶層級備用方案

    • 如果沒有找到聯絡人但找到了客戶:
      • CreateTicketForCustomer 在組織層級建立工單
      • 在主旨中包含公司名稱
      • 透過 ForGoogle2 → Google Sheets2 記錄
  12. 記錄到 Google Sheets

    • 所有成功的操作(更新/建立)都會導致附加一行:
      • A 欄:通話 ID
      • B 欄:工單 ID
    • 三個獨立的分支確保所有路徑都得到適當記錄

摘要

這個「Dialpad to Syncro」工作流程例證了 n8n 如何透過智慧自動化連接通訊平台與服務管理系統。透過結合網頁鉤子、條件邏輯、API 整合和外部記錄,它提供了一個強大的解決方案來增強客戶服務工作流程——確保沒有通話被遺漏,並且每次互動都能為改善支援成果做出貢獻。

使用方法:下載 JSON 檔案,然後在 n8n 中選擇「從檔案匯入」。