告別 Excel 煉獄:秒級成交的活動名單自動分流術
潛在客戶在黃金 5 分鐘內聯繫,成交率將暴增 21 倍!您還在讓珍貴名單躺在 CSV 檔裡發霉嗎?工程師 Eric 親授,如何利用 WordPress 表單、Webhook 與 API,打造零失誤的自動化分流架構,實現秒級指派、公平分配,並杜絕資料錯誤。本文深入實戰 Round Robin 演算法與條件式分流邏輯,助您將業務流程從絕望帶入救贖。立即停止人工搬運,啟動您的企業級自動化系統,抓住每一個黃金商機!
嗨,我是浪花科技的 Eric。每當行銷部門辦完一場大型研討會或線上活動,我看著他們臉上的表情,通常只有兩種:一種是看著爆量報名表單的興奮,另一種則是看著 Excel 試算表,想著要怎麼把這 500 筆資料手動分給 10 個業務時的絕望。
「Eric,能不能幫我寫個 Script,把這些人依據『產業』和『預算』自動分給負責的業務,然後直接建立在 CRM 裡?」
這句話我大概聽了八百遍。說實話,身為工程師,我也很討厭看到珍貴的客戶名單(Lead)躺在冷冰冰的 CSV 檔裡發霉。統計數據告訴我們,潛在客戶填寫表單後的「黃金 5 分鐘」內聯繫,成交率是 30 分鐘後的 21 倍。如果你還在用人工分派,等你分完,客戶早就忘記你是誰了。
今天這篇文章,不講空泛的理論,我們直接來談技術實作。如何利用 WordPress 表單(如 Gravity Forms 或 Fluent Forms)結合 Webhook 與 API,實現「活動名單自動分流:報名資料自動匯入並指派業務」的自動化架構。這不僅是技術升級,更是業務流程的救贖。
為什麼你需要自動分流?不只是為了「快」
很多老闆以為自動化只是為了省下助理 Key 資料的時間。錯了,大錯特錯。自動化分流的核心價值在於「轉換率」與「公平性」。
- 速度即成交:如前所述,系統秒級指派,業務的手機立刻跳出 Slack 或 LINE 通知,馬上撥電話,客戶會覺得「這家公司效率真好」。
- 杜絕「挑食」:人工分派容易有私心,或者業務會搶好單。透過程式邏輯(如 Round Robin 輪叫機制),可以確保每位業務拿到的名單數量公平,或者依據能力精準分配。
- 資料正確性:手動複製貼上一定會出錯,Email 少個字、電話多個零,這筆名單就廢了。API 串接能確保資料 100% 正確傳遞。
技術架構圖解:從表單到 CRM 的旅程
在開始寫 Code 之前,我們得先釐清資料流。一個成熟的自動化分流系統,通常包含三個節點:
- 觸發點 (Trigger):使用者在 WordPress 活動頁面填寫報名表單。
- 中介邏輯層 (Middleware Logic):這是大腦。負責接收資料、判斷規則(例如:預算 > 100萬分給 資深業務 A,否則分給 業務 B)、執行分派演算法。
- 終點 (Action):將處理好的資料寫入 CRM (HubSpot, Salesforce) 並發送通知 (Slack, LINE)。
實戰演練:用 PHP 實作「輪叫制 (Round Robin)」指派邏輯
假設你使用的是 WordPress 最常見的 Gravity Forms,我們可以利用它的 Hook `gform_after_submission` 來攔截資料。不需要昂貴的 Zapier,只要在 `functions.php` 或你的客製化外掛中加入這段邏輯。
這裡有一個經典的工程師痛點:如何知道上一次分給誰了?我們需要一個地方存儲「狀態」。在 WordPress,`update_option` 和 `get_option` 是你的好朋友。
程式碼範例:簡易輪叫指派系統
這段程式碼展示了如何將名單依序分給不同的業務,並模擬發送到 CRM 的過程。
// 定義業務團隊名單 (實際應用可從 CRM API 獲取)
$sales_team = [
['id' => 101, 'name' => 'Alice', 'email' => 'alice@roamer-tech.com'],
['id' => 102, 'name' => 'Bob', 'email' => 'bob@roamer-tech.com'],
['id' => 103, 'name' => 'Charlie', 'email' => 'charlie@roamer-tech.com']
];
add_action( 'gform_after_submission_1', 'eric_auto_assign_leads', 10, 2 );
function eric_auto_assign_leads( $entry, $form ) {
global $sales_team;
// 1. 獲取上一次指派的索引值,如果沒有則從 -1 開始
$last_index = get_option( 'roamer_lead_last_assigned_index', -1 );
// 2. 計算這一次該輪到誰 (Round Robin 演算法)
$team_count = count( $sales_team );
$current_index = ( $last_index + 1 ) % $team_count;
// 3. 鎖定負責業務
$assigned_agent = $sales_team[$current_index];
// 4. 準備要傳送給 CRM 的資料
$crm_payload = [
'name' => rgar( $entry, '1.3' ), // 假設欄位 ID 1.3 是姓名
'email' => rgar( $entry, '2' ), // 假設欄位 ID 2 是 Email
'phone' => rgar( $entry, '3' ),
'company' => rgar( $entry, '4' ),
'owner_id' => $assigned_agent['id'], // 關鍵:指派擁有者
'source' => 'Event_Registration'
];
// 5. 發送 Webhook 到 CRM (或是你的 n8n 端點)
$response = wp_remote_post( 'https://api.your-crm.com/v1/leads', [
'body' => json_encode( $crm_payload ),
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer YOUR_API_TOKEN'
]
]);
// 6. 更新索引值,確保下次換下一位
update_option( 'roamer_lead_last_assigned_index', $current_index );
// 可以在這裡加入 Slack 通知邏輯
// send_slack_notification($assigned_agent, $crm_payload);
}
這段程式碼雖然簡單,但它解決了核心問題:自動化與公平性。你不需要擔心業務 A 拿太多單,業務 B 沒飯吃。
進階玩法:條件式分流 (Conditional Routing)
當然,現實世界往往比輪叫制複雜。我們常遇到的需求是:「預算超過 100 萬的客戶,必須給王牌業務 Eric;預算未定的,給新進業務練手。」
這時候,你的 Middleware 邏輯就需要升級。我通常建議不要把過於複雜的邏輯寫死在 PHP 裡(維護起來很痛苦,相信我)。這時候,n8n 這樣的自動化工具就是絕佳的選擇。
你可以將 WordPress 的表單資料透過 Webhook 丟給 n8n,然後在 n8n 裡畫出漂亮的流程圖:
- If Node (判斷節點):
預算 >= 1,000,000? - True: 指派給 ID 101 (Eric) -> 標記為 VIP -> 發送 LINE Notify 給主管。
- False: 進入 Round Robin 流程 -> 指派給其他業務 -> 發送 Slack 給業務群組。
這樣做的好處是,當行銷策略改變(例如 VIP 門檻降到 50 萬),你不需要叫工程師改 Code,直接在 n8n 介面上拖拉即可。這才是真正的「系統思維」。
常見的雷區與防護措施
在實作這類系統時,我有幾個血淚經驗要分享,希望能幫大家少走彎路:
1. 處理重複名單 (De-duplication)
同一個客戶可能因為心急填了兩次表單,或者他其實已經在 CRM 裡了。如果系統盲目建立新資料,業務會氣死。務必在寫入前,先用 Email 或電話 Call 一次 CRM 的搜尋 API:「這個人存在嗎?」如果存在,則更新 (Update) 而非建立 (Create),並通知原負責業務,而不是分派給新人。
2. API Rate Limit (流量限制)
如果活動太熱門,一分鐘進來 1000 筆報名,直接打 CRM API 很可能會被鎖帳號(429 Too Many Requests)。這時候你需要佇列系統 (Queue) 或是指數退讓機制 (Exponential Backoff)。這也是為什麼我推薦使用 n8n 或 Laravel 這種有佇列處理能力的架構,而不是單純用 WordPress PHP 硬幹。
3. 資料驗證
別相信使用者輸入的資料。他們會在電話欄位填「無」、在 Email 欄位填「test@test.com」。在資料進入分派邏輯前,加上一層驗證與清洗(Sanitization),能大幅提升業務的效率。
總結:把人要做的事交給人,重複的事交給機器
「活動名單自動分流」聽起來是個技術名詞,但它的本質是商業效率的優化。當我們把這些繁瑣的搬運工作自動化後,行銷人員可以專注於策劃更好的活動,業務人員可以專注於與客戶建立關係,而工程師如我,則可以……嗯,去優化下一個更難的系統。
別再讓 Excel 成為你業績增長的絆腳石了。
延伸閱讀
如果你對上述提到的技術細節感興趣,強烈建議閱讀以下幾篇深入的文章:
- B2B 業務自動化實戰:從潛在客戶名單到自動派單系統,讓你的 WordPress 變身 24 小時頂尖業務助理
- WordPress 不再是孤島!資深工程師帶你串接 LINE / HubSpot / n8n,打造企業級自動化帝國
- 資料同步還在「每 5 分鐘刷一次」?Webhook vs. Polling 終極對決,資深工程師教你選對架構不燒主機
常見問題 (FAQ)
Q1: 我的業務團隊有人離職或請假,輪叫系統怎麼處理?
這是一個好問題。最簡單的方式是在程式碼中維護一個「Available Agents」的陣列。如果做得更進階一點,可以透過 API 讀取 CRM 或 HR 系統中的「出勤狀態」。如果某人狀態為「休假中」,程式邏輯應自動跳過該索引,尋找下一位可用的業務,確保客戶不會因為業務休假而被晾在一邊。
Q2: 自動分流只能用 Gravity Forms 嗎?Contact Form 7 (CF7) 可以嗎?
原理上都可以。Gravity Forms 和 Fluent Forms 開發者友善度較高,內建豐富的 Hook 和 Webhook 介面。CF7 雖然也能做,但通常需要安裝額外的 Extension (如 CF7 to Webhook) 或手寫更多 `wpcf7_mail_sent` 的 Hook 程式碼,維護成本相對較高。以企業級應用來說,我建議使用付費表單外掛以確保穩定性。
Q3: 如果串接失敗(例如 CRM 當機),名單會消失嗎?
這就是為什麼我們強調「Log (日誌)」和「錯誤處理」的重要性。在程式碼中,務必使用 `try-catch` 捕捉 API 錯誤,並將失敗的請求記錄在 WordPress 的資料庫或發送 Email 給管理員。更保險的做法是先將名單存入 WordPress 本地的 Entry (資料表),再進行 API 傳送,這樣即使 API 失敗,原始資料依然保留在網站後台,隨時可以手動匯出或重試。
還在被手動分派名單搞得焦頭爛額?讓我們幫你打造 24 小時不打烊的自動化業務系統。






