n8n workflow 教學 Gmail Google Sheets Webhook 自動化

n8n 第一個自動化工作流:表單 → Gmail → Google Sheet(附模板)

手把手教你做 n8n 第一個自動化工作流。有人填表單 → 自動寄 email 通知你 → 同時把資料存到 Google Sheet。附模板 JSON 直接下載匯入。

N8NMarket 2026年3月26日 10 分鐘閱讀

n8n 第一個自動化工作流:表單 → Gmail → Google Sheet(附模板)

n8n 裝好了、介面也認識了,現在來動手做第一個自動化。這個 workflow 做的事情很簡單:

有人填表單 → 自動寄 email 通知你 → 同時把資料存到 Google Sheet

不囉唆,直接看怎麼做。


這個 Workflow 做什麼?

想像一下這個場景:你有一個聯絡表單(在你的網站上或用 Google Form),有人填了之後:

  1. 你馬上收到一封 email — 告訴你誰填了表單、填了什麼
  2. 資料自動存到 Google Sheet — 不用手動複製貼上

以前你可能用 Zapier 做這件事,每個月要付錢。用 n8n 自架,同樣的事情不用錢。

流程圖

有人填表單(送出 HTTP 請求)


Webhook 節點(接收資料)

    ├── 寄 Gmail 通知你

    └── 存到 Google Sheet

事前準備

項目說明
n8n已經裝好並能打開(還沒裝?看 Docker 安裝教學一鍵部署
Gmail 帳號用來寄通知 email
Google 帳號用來存 Google Sheet

不確定介面上的按鈕在哪裡?先看 n8n 介面完全導覽


Step 1:建立新的 Workflow

  1. 登入 n8n
  2. 在首頁按 「Add Workflow」
  3. 新的 workflow 會打開,畫布上還是空的
  4. 點上方的 workflow 名稱,改成「表單通知 + 記錄」

Step 2:加入 Webhook 觸發器

Webhook 是一個「入口」— 當外面有人送 HTTP 請求到這個網址,workflow 就會被觸發。

  1. 按畫布上的 + 按鈕,打開節點面板
  2. 搜尋 「Webhook」,點進去
  3. 設定參數:
參數說明
HTTP MethodPOST表單通常用 POST 送資料
Pathcontact-formWebhook 的路徑,可以自己取
  1. 「Listen for test event」(監聽測試事件)

測試 Webhook

現在 n8n 會給你一個測試用的 URL,長這樣:

https://你的n8n網址/webhook-test/contact-form

打開終端機(或 Postman),送一筆測試資料:

curl -X POST https://你的n8n網址/webhook-test/contact-form \
  -H "Content-Type: application/json" \
  -d '{
    "name": "王小明",
    "email": "[email protected]",
    "message": "我想了解你們的服務"
  }'

如果 n8n 那邊顯示收到資料了,就表示 Webhook 設定成功。


Step 3:設定 Gmail 憑證

在加 Gmail 節點之前,要先設定 Google 的登入憑證(Credential)。

3.1 建立 Google OAuth 2.0 憑證

  1. Google Cloud Console
  2. 建立一個新專案(或用現有的)
  3. 啟用 Gmail APIGoogle Sheets API
  4. 到「Credentials」→「Create Credentials」→「OAuth 2.0 Client ID」
  5. Application type 選「Web application」
  6. 在「Authorized redirect URIs」加入你的 n8n OAuth 回調網址:
    https://你的n8n網址/rest/oauth2-credential/callback
  7. 記下 Client IDClient Secret

3.2 在 n8n 中設定

  1. 到 n8n 左側面板 → Credentials
  2. 「Add Credential」
  3. 搜尋 「Google OAuth2 API」
  4. 填入 Client ID 和 Client Secret
  5. 「Sign in with Google」,授權你的 Gmail 帳號

這個 credential 設定一次就好,之後 Gmail 和 Google Sheets 節點都能用。


Step 4:加入 Gmail 節點

  1. 點 Webhook 節點右邊的 +
  2. 搜尋 「Gmail」
  3. 設定參數:
參數說明
Credential剛剛建立的 Google OAuth2選你設好的
OperationSend an Email寄信
To你的 email通知寄給誰
Subject新的表單提交:{{ $json.name }}主旨帶上對方的名字
Email TypeText或 HTML 都行
Message見下方信件內容

Email 內容

在 Message 欄位填入:

你收到一筆新的表單提交!

姓名:{{ $json.name }}
Email:{{ $json.email }}
訊息:{{ $json.message }}

---
此通知由 n8n 自動發送

{{ $json.name }} 這種寫法是 n8n 的 Expression 語法,它會自動帶入 Webhook 收到的資料。


Step 5:加入 Google Sheets 節點

  1. 回到 Webhook 節點,從它右邊再拉一條線出來(按 +
  2. 搜尋 「Google Sheets」
  3. 設定參數:
參數說明
Credential同上,用剛剛的 Google OAuth2
OperationAppend Row在最後面新增一行
Document選你的 Google Sheet先在 Google Sheets 建一個新的試算表
SheetSheet1或你取的名稱

Google Sheet 格式

在你的 Google Sheet 裡,第一行(標題列)建好這些欄位:

ABCD
姓名Email訊息時間

然後在 n8n 的 Google Sheets 節點裡,對應每個欄位:

Sheet 欄位n8n 值
姓名{{ $json.name }}
Email{{ $json.email }}
訊息{{ $json.message }}
時間{{ $now.format('yyyy-MM-dd HH:mm:ss') }}

Step 6:測試整個 Workflow

全部設好之後,來跑一次完整測試:

  1. 按上方的 「Execute Workflow」
  2. Webhook 節點會進入監聽模式
  3. 用剛才的 curl 指令再送一筆測試資料
  4. 看每個節點是不是都顯示綠色打勾

如果成功,你應該會:

  • 收到一封 email 通知
  • Google Sheet 裡多了一行新資料

Step 7:上線!

測試沒問題之後,把 workflow 開起來讓它自動跑:

  1. 點上方右邊的 Active 開關,切到啟用狀態
  2. Save 儲存

現在你的 Webhook URL 就是正式的了(注意:正式的 URL 跟測試的不一樣):

https://你的n8n網址/webhook/contact-form

把這個 URL 放到你的網站表單 action,或者用在任何需要的地方。

接到前端表單

如果你有一個 HTML 表單,可以用 JavaScript 送資料到你的 Webhook:

<form id="contactForm">
  <input type="text" name="name" placeholder="姓名" required>
  <input type="email" name="email" placeholder="Email" required>
  <textarea name="message" placeholder="訊息" required></textarea>
  <button type="submit">送出</button>
</form>

<script>
document.getElementById('contactForm').addEventListener('submit', async (e) => {
  e.preventDefault();
  const formData = new FormData(e.target);
  const data = Object.fromEntries(formData);

  const response = await fetch('https://你的n8n網址/webhook/contact-form', {
    method: 'POST',
    headers: { 'Content-Type': 'application/json' },
    body: JSON.stringify(data)
  });

  if (response.ok) {
    alert('送出成功!');
    e.target.reset();
  }
});
</script>

完成後的 Workflow 長這樣

[Webhook] ──┬── [Gmail: 寄通知]

            └── [Google Sheets: 存資料]

兩個節點是並行的 — Webhook 收到資料後,Gmail 和 Google Sheets 同時跑,不用等對方。


常見問題

Q: Webhook URL 是 http:// 開頭,外部服務不接受怎麼辦?

你需要設 HTTPS。看 n8n HTTPS 設定教學

Q: Gmail 寄信失敗,顯示 authentication error?

檢查你的 Google OAuth2 credential 有沒有過期。到 Credentials 頁面,刪掉舊的重新設一次。

Q: Google Sheet 找不到我的試算表?

確認你在 Google Cloud Console 有啟用 Google Sheets API,而且 OAuth 授權時有勾到 Google Sheets 的權限。

Q: 可以同時寄給多個人嗎?

可以。Gmail 節點的 To 欄位用逗號隔開多個 email 就好:

[email protected], [email protected]

模板下載

不想從頭做?直接下載模板匯入:

免費下載這個 workflow 模板 >> n8nstart.cc/templates

下載 JSON 檔後,到 n8n 首頁 → Import from file → 選檔案 → 搞定。


下一步

做完第一個 workflow 之後,你可以試試:

  • 加一個 IF 節點,根據訊息內容自動分類
  • 加一個 Slack 節點,同時通知 Slack channel
  • 用 Schedule Trigger 取代 Webhook,做定時自動化

更多學習資源:


本文最後更新:2026-03-24 有問題?到 n8n 官方社群N8NMarket 粉專 問我們。