打造 Google 表單與 Gmail 自動回信報名系統 | (EP.1) n8n 自動化講師應用教學
為什麼你需要一套自動化報名系統?
今天我們要實作一個很多講師與活動主辦人夢寐以求的工具:用 n8n 打造 Google 表單 × Gmail 全自動報名回信系統。
你是否曾有這樣的經驗:活動開放報名後,一個下午都在反覆開啟試算表,手動一筆一筆貼上確認信收件人,再逐一寄出?這種流程不只費時,還容易漏寄或寄錯。
透過本文介紹的 n8n 自動化流程,只要學員送出 Google 表單,系統就會自動:
- 彙整報名資料到試算表
- 篩選並建立正式名單
- 發送個人化確認信
- 更新寄件完成狀態
從此,報名通知這件事,你完全不需要再碰。
自動化工作流的五大關鍵步驟
這套系統的核心邏輯分為以下五個步驟,環環相扣、自成閉環:
- 學員提交表單: 學員填寫包含姓名、學號、Email、課程名稱等資訊的 Google 報名表單並送出。
- 原始資料彙整: 表單回應自動同步至 Google 試算表的「原始資料」工作表,作為所有後續處理的來源。
- 正式名單拋轉: n8n 定期掃描原始資料,將尚未處理的新報名者篩選出來,整理後寫入「正式名單」工作表。
- 自動觸發寄信: 根據正式名單中的 Email 與報名資訊,系統透過 Gmail 自動發送個人化確認信,信件內容可包含上課時間、地點或 Google Meet 連結。
- 更新寄件狀態: 信件成功送出後,系統自動將該筆資料的寄信欄位標記為「Yes」,完成整個自動化閉環,方便隨時查閱進度。
關鍵設計概念: 以「寄信狀態是否為 Yes」作為判斷依據,確保每位報名者只收到一封確認信,不重複、不漏寄。
拆解 n8n 節點:五個節點完成全流程
在 n8n 畫布中,我們用五個節點串起整套流程。以下逐一說明各節點的用途與設定重點:
1. Schedule Trigger(定時排程觸發)
設定每分鐘(或自訂頻率)自動觸發流程。n8n 會定期「醒來」掃描試算表,確認是否有新報名者需要處理。
2. Google Sheets:讀取原始資料
撈取「原始資料」工作表中所有尚未同步至正式名單的新資料列,作為後續節點的輸入來源。
3. Google Sheets:寫入正式名單
將清洗過的報名資料(姓名、Email、課程代碼等)寫入正式名單工作表,同時預設「確認信」欄位為空白,作為待處理的標記。
4. Gmail Node(發送確認信)
從正式名單中讀取 Email,套入預先設計好的信件範本,自動發送報名成功通知。信件內容可使用 n8n 的表達式(Expression)動態帶入學員姓名、課程名稱等個人化資訊。
5. Google Sheets:更新寄件狀態
這是整套流程最關鍵的一步。Gmail 節點成功執行後,立即回寫試算表,將該筆資料的「確認信」欄位更新為「Yes」。若寄信失敗,此步驟不會執行,狀態維持空白,讓管理員一眼識別異常並手動補寄。
延伸應用:上課前提醒信
這套邏輯同樣可以套用在「活動前一天的提醒信」:新增一個獨立的 n8n 排程,掃描正式名單中「提醒信」欄位為空白的學員,批次發信並標記「Yes」,一套模板即可重複使用。
常見問答 (FAQ)
Q:我沒有程式背景,能自己做出這套流程嗎?
A:完全可以!n8n 採用視覺化的節點拖拉介面,不需要撰寫任何程式碼。本文及對應的 YouTube 教學影片都有完整的逐步示範,只要跟著操作就能建立起整套流程。建議先用 n8n Cloud 試用版(免費)快速上手,再視需求考慮自架。
Q:n8n 的觸發頻率可以自訂嗎?每分鐘跑一次會不會太頻繁?
A:可以完全自訂。「每分鐘」是教學中用於快速測試的設定。正式部署時,建議根據活動規模調整:一般課程每 5~15 分鐘跑一次即可。n8n 的 Schedule Trigger 支援 cron 語法,可設定任意時間間隔或指定時段(例如僅在工作時間執行)。
Q:如果報名者填錯 Email,系統會怎麼處理?
A:若 Email 格式錯誤,Gmail Node 會拋出錯誤並中斷後續流程,「更新寄件狀態為 Yes」的步驟便不會執行。管理員只需過濾試算表中「確認信」欄位為空白的列,即可快速找出所有未成功寄達的報名者,進行人工確認與補寄。這個設計確保了問題的可追蹤性。
Q:這套流程使用的 Google 服務需要付費嗎?
A:不需要。Google Forms、Google Sheets 與 Gmail 均為免費方案即可使用,沒有特殊 API 費用。n8n 本身提供免費的雲端試用方案(n8n Cloud),若需大量執行或長期使用,可選擇付費方案或自架免費的開源版本。
Q:確認信的內容可以個人化嗎?能自動帶入學員姓名嗎?
A:可以。n8n 的 Gmail Node 支援 Expression(表達式)功能,可以直接引用前置節點傳入的欄位變數,例如 {{ $json.name }} 帶入姓名、{{ $json.course }} 帶入課程名稱。不需要任何程式基礎,直接在信件編輯框中點選「插入變數」即可完成個人化設定。
Q:這套系統可以同時管理多個課程或活動嗎?
A:可以。有兩種常見做法:(1)分開工作表: 在同一份 Google 試算表中,為每個課程新增獨立的工作表,搭配對應的 n8n 流程或分支判斷節點;(2)統一管理: 在表單中加入「課程名稱」欄位,以此欄位進行篩選,在同一套 n8n 流程中以條件分支(If Node)分流處理不同課程的信件範本。
Q:這套流程可以套用到企業內部的報名系統嗎?
A:完全適用。企業內部的講座、教育訓練、會議邀約等場景,只需替換 Google 表單欄位與 Gmail 信件範本即可直接套用。更進一步,企業用戶可搭配 Google Workspace 的共享試算表,讓多位管理員同時查看報名狀態,達到跨部門協作的效果。