AI 正在初次分析文章並整理建議,請稍候…
辦活動累得半死,名單還在手動 Key?WordPress「活動名單自動分流」實戰
我是 Eric,浪花科技的資深工程師。如果你跟我們公司那些行銷夥伴一樣,每次辦完線上研討會或實體活動,第一件事就是打開後台,下載 CSV,然後開始痛苦地手動複製貼上,把名單分給業務部門,那你真的該停下來看看這篇文章了。
現在都已經 2026 年了,AI Agent 都能幫你寫 Code 了,為什麼你的「活動名單自動分流」還停留在石器時代?
在這篇文章中,我不會跟你談什麼空泛的數位轉型,我要直接教你怎麼用 WordPress 結合 Webhook 和一點點 PHP 魔法(或是 n8n),實現「活動名單自動分流:報名資料自動匯入並指派業務」的自動化流程。讓你的業務在客戶按下「送出」報名表的 3 秒內,就能收到通知並開始跟進。
為什麼你需要自動分流?不只是為了偷懶
工程師常被說懶,但我們的懶是為了效率。在活動行銷的戰場上,速度就是成交率。根據 2025 年的銷售數據統計,潛在客戶在填寫表單後的 5 分鐘內接到電話,成交機率是 30 分鐘後的 21 倍。是的,你沒看錯,是 21 倍。
如果你的流程是:
- 使用者填單。
- 行銷人員每天下午 5 點下載 Excel。
- 行銷人員手動整理,依照地區或產品分配給業務 A、B、C。
- 寄 Email 給業務。
- 業務隔天早上看到信才聯絡。
恭喜你,你已經完美錯過了黃金成交期。你的客戶早就忘記他填過什麼,甚至已經跟別家廠商簽約了。
技術架構:如何實現報名資料自動匯入並指派業務?
要達成這個目標,我們通常有兩種路徑:
- 純代碼派 (Code-First): 直接在 WordPress 內寫 Hook,根據邏輯分配後,呼叫 CRM API。
- 低代碼派 (Low-Code): 使用 Webhook 將資料拋送到中介平台 (如 n8n),在那裡處理分流邏輯。
身為工程師,我兩種都愛,但為了系統的穩定性與可維護性,針對複雜的「輪替 (Round-Robin)」邏輯,我建議在 WordPress 端就先處理好「指派」的標記,再送出去。
實戰場景:業務輪替 (Round-Robin) 分派
假設你有 3 位業務:Alice, Bob, Charlie。我們希望報名名單依序分給他們,確保公平。如果在 Excel 裡做,你要算得頭昏眼花;但在 WordPress 裡,這只是一個簡單的計數器。
實作教學:使用 PHP Hook 進行自動指派
這裡以最常見的表單外掛(如 Gravity Forms 或 WS Form)為例。我們不需要裝一堆肥大的 CRM 外掛,只需要一段精簡的 PHP 程式碼。
請將以下程式碼加入你的子佈景主題的 functions.php 或使用 Code Snippets 外掛:
1. 建立業務輪替邏輯
// 定義業務名單與 Webhook URL
function get_sales_team_config() {
return [
'team' => ['Alice', 'Bob', 'Charlie'],
'crm_webhook' => 'https://your-n8n-or-crm-endpoint.com/webhook/lead'
];
}
// 核心邏輯:取得下一位業務 (Round-Robin)
function get_next_sales_rep() {
$config = get_sales_team_config();
$team = $config['team'];
// 從資料庫取得上一次指派的索引值 (使用 Option API)
$last_index = get_option('roamer_last_sales_index', -1);
// 計算下一位
$next_index = ($last_index + 1) % count($team);
// 更新索引值
update_option('roamer_last_sales_index', $next_index);
return $team[$next_index];
}
2. 綁定表單提交動作
這段程式碼會在表單送出後觸發,自動將「活動名單自動分流」的結果寫入,並發送給外部系統。
// 以 Gravity Forms 為例 (gform_after_submission)
add_action('gform_after_submission', 'roamer_auto_assign_leads', 10, 2);
function roamer_auto_assign_leads($entry, $form) {
// 假設這是活動報名表單 (Form ID = 5)
if ($form['id'] != 5) {
return;
}
// 1. 取得指派業務
$assigned_sales = get_next_sales_rep();
// 2. 準備要傳送的資料
$payload = [
'event_name' => $form['title'],
'lead_name' => rgar($entry, '1.3') . ' ' . rgar($entry, '1.6'), // 假設欄位 ID
'lead_email' => rgar($entry, '2'),
'lead_phone' => rgar($entry, '3'),
'assigned_to' => $assigned_sales, // 這裡就是自動分流的關鍵
'submitted_at' => date('Y-m-d H:i:s'),
'source' => 'WordPress_Event_Form'
];
// 3. 發送 Webhook 到 CRM 或 n8n
$config = get_sales_team_config();
$response = wp_remote_post($config['crm_webhook'], [
'body' => json_encode($payload),
'headers' => ['Content-Type' => 'application/json'],
'timeout' => 5,
'blocking' => false // 非阻塞,不影響使用者體驗
]);
// (選用) 可以在這裡加入 Log 紀錄以便除錯
if (is_wp_error($response)) {
error_log('Lead Assignment Error: ' . $response->get_error_message());
}
}
這段程式碼做了三件事:
- 狀態保存: 記住上一次分給誰,確保下一次分給不同人。
- 資料清洗: 抓取表單資料,整理成乾淨的 JSON 格式。
- 即時傳送: 使用
wp_remote_post將資料丟出去,並且設定blocking => false,這樣使用者按下送出後不會感覺到延遲。
進階應用:依照條件分流 (Conditional Logic)
當然,現實世界往往比輪替更複雜。你可能需要根據客戶填寫的「預算」或「地區」來分派。
例如,如果是「北區」的活動,只分給北區業務;預算超過 100 萬的,直接分給王牌業務 Eric (笑)。
function get_sales_by_region($region) {
$north_team = ['Alice', 'Bob'];
$south_team = ['Charlie', 'David'];
if ($region === 'North') {
// 這裡可以再加入該區域的 Round-Robin 邏輯
return $north_team[array_rand($north_team)];
} else {
return $south_team[array_rand($south_team)];
}
}
把這個邏輯替換掉上面的 get_next_sales_rep(),你就完成了一套智慧化的「報名資料自動匯入並指派業務」系統。
串接後的最後一哩路:通知
資料送出去了,業務要怎麼知道?這就是 n8n 或 Zapier 登場的時候了。你的 Webhook 接收端可以設定為:
- Slack/LINE Notify: 機器人直接標記業務:「@Alice 新的活動名單進來了,客戶是王先生,電話 0912…」
- CRM 建立: 自動在 HubSpot 或 Salesforce 建立 Deal,並將 Owner 設為你剛剛指派的人。
- 發送簡訊: 如果是超級 VIP 客戶,直接發簡訊叫業務起床。
資深工程師的小囉嗦:注意事項
雖然自動化很爽,但有幾個坑請務必避開:
- 資料重複 (De-duplication): 同一個人重複報名怎麼辦?記得在 CRM 端或 PHP 端做 Email 檢查,不要讓業務重複打電話騷擾客戶。
- API Rate Limit: 如果你的活動突然爆紅,一分鐘進來 500 單,直接打 CRM API 可能會被鎖。這時候建議中間加一層 Queue (佇列) 或使用 n8n 的等待機制。
- 業務離職: 寫死在 Code 裡的名單最怕業務離職。建議將名單設定做成一個簡單的 WordPress 後台選項頁面 (Options Page),讓行銷主管可以自己勾選誰在值班。
結論
「活動名單自動分流」不是為了炫技,而是為了將行銷的熱度無縫轉化為業務的動力。透過 WordPress 簡單的程式碼與 Webhook,我們能省下無數個整理 Excel 的夜晚,更能搶下那些稍縱即逝的訂單。
別再讓你的名單在硬碟裡發霉了,讓它們動起來吧!
延伸閱讀
如果你想進一步優化你的自動化流程與系統架構,推薦閱讀以下幾篇深度文章:
- 資料孤島終結者!n8n Webhook + API 串接實戰:讓你的 WordPress 與外部系統「秒速」通靈
- 行銷活動流量爆衝卻撞牆?API Rate Limit (429) 處理實戰:別讓技術限制殺了你的轉換率
- 告別「憑感覺」抓業績!用 WordPress + CRM 數據打造你的 AI 銷售預測水晶球
常見問題 (FAQ)
Q1: 如果業務請假怎麼辦?自動分流會分給他嗎?
這是一個好問題!在基礎的程式碼中如果不手動移除名單,系統確實會照分不誤。解決方法是在 WordPress 後台建立一個「業務值班表」的功能,或者在程式碼中加入檢查機制,串接 Google Calendar API 確認該業務當天是否為「休假」狀態,若是則自動跳過。
Q2: 除了 Gravity Forms,Contact Form 7 (CF7) 也可以這樣做嗎?
可以的!雖然 CF7 的 Hook 不同(通常使用 wpcf7_mail_sent),但原理完全一樣。不過 CF7 原生不支援 Webhook,你可能需要額外安裝 “CF7 to Webhook” 類型的外掛,或是自己在 functions.php 裡使用 wp_remote_post 來發送資料。
Q3: 這樣做會不會讓網站變慢?
只要程式碼寫得當(使用非阻塞模式 blocking => false),對使用者的填單體驗幾乎是零影響。資料是在背景發送的,使用者按下送出後會立刻看到感謝頁面,而不需要等待 CRM 回傳結果。






