辦活動累得半死,名單還在手動 Key?WordPress「活動名單自動分流」實戰:從報名秒匯入到業務自動指派的技術解方

2026/01/27 | API 串接與自動化, CRM 應用, 技術教學資源, 數位行銷策略

告別 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 之前,我們得先釐清資料流。一個成熟的自動化分流系統,通常包含三個節點:

  1. 觸發點 (Trigger):使用者在 WordPress 活動頁面填寫報名表單。
  2. 中介邏輯層 (Middleware Logic):這是大腦。負責接收資料、判斷規則(例如:預算 > 100萬分給 資深業務 A,否則分給 業務 B)、執行分派演算法。
  3. 終點 (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 成為你業績增長的絆腳石了。

延伸閱讀

如果你對上述提到的技術細節感興趣,強烈建議閱讀以下幾篇深入的文章:

常見問題 (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 小時不打烊的自動化業務系統。

立即聯繫浪花科技,啟動你的數位轉型

 
立即諮詢,索取免費1年網站保固