Marketing n8n Demo
基於實驗精神,和客戶一起做了一個小型的流程串連,要做的事很單純:
- 使用者填表單加入電子報
- 寄出歡迎信
- 將使用者加入email list (Google Sheets)
因為是試用webhook,表單只在本地環境沒有上線,欄位內容檢查也先跳過 (偷懶)
整個流程:
- Webhook收到表單資訊
- 讀取資料和欄位比對
- 成功的時候會發送email,並寫入Google Sheets “工作表1”
- 失敗的時將錯誤訊息寫入Google Sheets的ErrorLog 分頁

記錄一下每個node的設定
Webhook
按下project右上角的加號 (Open nodes panel),打開nodes選擇清單並找到Webhook
選了之後會出現編輯畫面,在HTTP Methods欄位選擇POST (表單的預設方法是POST),就會得到Test URL,會很像n8n Docs的範例截圖,只是其中的GET Method會改成POST。
將Test URL設定為表單的request發送目標,例如表單程式碼有一個submitForm function專門用來送出reuqest:
function submitForm(data) {
const URL = "https://your-project.app.n8n.cloud/webhook-test/test-url-path"
fetch(URL, {
method: 'POST',
body: JSON.stringify(data),
})
}
表單資料比對
n8n收到的表單欄位可能和Google Sheets工作表的欄位不同,所以通常需要手動對上。再次點開Open nodes panel並找到 Edit Fields node
在這個例子中,雖然欄位相同但還是用了手動比對
- Google Sheets工作表欄位: email、name、phone
- 表單送出的欄位: email、name、phone

其他設定用預設即可
發送email
n8n nodes 支援很多種email發送服務,像是 Mailchimp、Mailgun、Zoho email、Brevo、或是自訂的Email Trigger (IMAP)。這次試用免費的Brevo
設定方式是將在Brevo建立好的API Key (SMTP & API -> API keys & MCP),貼到 Connect欄位即可,串接好帳戶之後也能使用在Brevo建立好的Template (Campaigns -> Templates)
寄送位址選擇Edit Fields產出的email欄位

Google Sheets
Google Sheets node 設定方式和Brevo node有點像,都是在連接帳戶 (Connection)之後,用下拉選單選擇要用的工作表
連接Google的方法比較多: 直接登入、OAuth2、Service Account
連好之後貼上Google Sheets URL,就可以看到可以用的工作表
新增的node,成功和失敗的node有點不同
- 成功: 新增或更新資料,如果email相同就更新,不然就新增
- 失敗: 新增,收集錯誤log的工作表一直新增就好了

測試
測試的時候按下畫面下方的 Execute workflow,webhook就會開始監聽表單送出的request,也啟動整個工作流
