Google Sheets 新增資料自動 LINE 通知:n8n 低程式碼實作教學
☰ 目錄 table-of-contents.md
報名表單一直進來,負責人卻得整天掛在試算表上按 F5,深怕漏掉一筆新訂單或新報名——這種守望工作早該交給機器。用低程式碼工具 n8n 拉一條「Google Sheets 觸發 → LINE Notify 發送」的工作流,試算表每新增一列,n8n 就自動抓取內容推播到指定的 LINE 聊天室。全程用滑鼠拉節點,一行程式都不用寫。
整件事只有三個關鍵步驟:(1) 設定 Google Sheets 觸發節點、(2) 取得 LINE Notify 權杖、(3) 設定 LINE 節點並用表達式客製化訊息。底下我會一步步帶你做完,並補充每一步背後的原理,讓你不只是照抄,而是真的懂它為什麼會動。
為什麼該學 n8n 自動化?這不只是工程師的玩具
聽到「自動化」、「串接」就覺得門檻很高?其實像 n8n 這類低程式碼 (Low-code) / 無程式碼 (No-code) 工具,早就把門檻降到地板了。它的核心價值是:把各種網路服務(Google、LINE、Slack、WordPress…)當成一塊塊樂高,用節點串起來,讓資料自動流動。
幾個立刻能用的情境:
- 電商賣家:網站後台的訂單進到 Google Sheets 後,自動發 LINE 通知給出貨小幫手。
- 行銷人員:線上活動報名表單(例如 Google Forms)一有新提交,立刻通知活動負責人。
- 專案經理:團隊成員在共用 Google Sheets 更新任務狀態,自動發通知到專案群組。
這些以往需要手動處理、或花錢請工程師開發的功能,現在動動滑鼠就能實現。重點不只是省時間,而是把人從重複瑣事中解放,專注在更有價值的事情上。
n8n 的工作流是怎麼運作的?先搞懂這三個概念
動手前先建立心智模型,後面會順很多。一個 n8n 工作流 (Workflow) 由「節點 (Node)」串成,資料像水流一樣從左往右經過每個節點:
- 觸發節點 (Trigger):工作流的起點,決定「在什麼時機啟動」。本文用的是 Google Sheets 的「新增列」事件。
- 動作節點 (Action):觸發後要「做什麼」,例如發送 LINE 通知、呼叫 API、寫入另一張表。
- 資料傳遞:前一個節點的輸出(Output)會變成下一個節點的輸入(Input)。所以 LINE 節點才能讀到 Google Sheets 抓回來的那筆資料。
記住「觸發 → 動作、上一節點輸出 = 下一節點輸入」這條主線,整個自動化的邏輯就清楚了。
實戰開始:打造你的第一個自動化工作流
觀念講完,開始實作。整個流程分三步:
- 設定觸發器:讓 n8n 監控 Google Sheets 的變化。
- 取得權杖:拿到 LINE Notify 的「通關密語」。
- 設定執行動作:設定 LINE 通知並客製化訊息內容。
第一步:設定 Google Sheets 觸發節點 (Trigger)
首先你需要一個 n8n 實例。你可以使用 n8n 的雲端版本,或像我們一樣自己架設(這又是另一個能聊很久的話題)。登入 n8n 後,點擊「Add workflow」建立新工作流。工作流的起點,就是一個觸發器。
- 點擊畫面上的「+」按鈕,搜尋
Google Sheets。 - 看到 Google Sheets 節點後點擊它。第一次使用需要授權 n8n 存取你的 Google 帳號。
- 在「Credential for Google Sheets API」點擊「Create New」。n8n 會引導你完成 OAuth2 認證流程,基本上就是登入 Google 帳號並同意授權。這一步是確保 n8n 有權限讀取你的試算表。
- 授權完成後回到節點設定。在「Trigger On」欄位選擇
On Row Added,代表「當有新的橫列被新增時」就觸發工作流。 - 在「Sheet ID」欄位填入你的 Google Sheets ID。打開試算表,網址會長得像:
https://docs.google.com/spreadsheets/d/THIS_IS_YOUR_SHEET_ID/edit#gid=0,把那串 ID 複製貼上即可。 - 接著指定「Sheet Name」,也就是工作表名稱,例如「工作表1」。
- 最後點擊「Test step」,n8n 會抓取試算表裡最新的一筆資料當範例。成功的話,資料會出現在右邊的 Output 區塊。
看到資料就代表觸發器設定成功了,是不是比想像中簡單?
為什麼 Test step 要先抓一筆範例資料?
這一步常被當成「只是確認連線成功」,其實它還有個更重要的作用:把真實的欄位結構先抓回來,當作後面節點的設計藍本。當 Output 出現了你試算表的欄位(例如「客戶姓名」「訂單品項」),下一個 LINE 節點才能在 Input 區塊看到這些欄位、讓你直接點選引用。沒有這份範例資料,你在寫訊息表達式時就只能盲打欄位名稱,很容易拼錯。
「新增列觸發」是即時的嗎?理解輪詢的概念
這裡補充一個讓你日後少踩坑的通用觀念:像 Google Sheets 這種「新增列就觸發」的機制,背後通常是輪詢 (Polling)——n8n 會每隔一段固定時間去檢查試算表有沒有新資料,而不是試算表主動即時通知。所以從新增資料到收到 LINE,可能會有短暫的延遲,這是正常現象,不是設定壞了。如果你的場景需要「秒級即時」,那通常要改用來源系統主動推送的 Webhook 機制(這就是另一種設計了);但對訂單、報名這類通知情境,輪詢帶來的延遲幾乎無感,完全夠用。
第二步:取得 LINE Notify 的存取權杖 (Access Token)
接下來要讓 n8n 能跟 LINE「說話」,這需要一把鑰匙,也就是 LINE Notify 的權杖 (Token)。
- 前往 LINE Notify 官網並登入你的 LINE 帳號。
- 滑到最下方,點擊「發行權杖」。
- 給權杖取一個好記的名字,例如「n8n-訂單通知」。
- 選擇要接收通知的聊天室。可以選「透過1對1聊天接收LINE Notify的通知」,或任何一個你所在的群組。工程師小提醒:如果要傳到群組,記得先把「LINE Notify」官方帳號邀請進那個群組裡。
- 點擊「發行」,你會得到一長串亂碼,這就是你的權杖。務必、務必、務必立刻把它複製下來!因為這個權杖只會顯示這一次,關掉視窗就找不回來了。
拿到這串神秘代碼,我們就取得了通往 LINE 的門票。
權杖等於一把鑰匙:請當成密碼來保管
為什麼權杖只顯示一次、又要你立刻複製?因為這串字串本身就代表「以你的身分發送通知」的權限——任何人拿到它,都能往你指定的聊天室發訊息。所以請把它當成密碼等級的機密:
- 不要寫進公開的程式碼、文件或截圖裡。
- 在 n8n 裡,權杖是存在「Credential(憑證)」中而非寫死在節點,這樣方便集中管理、日後也能整批更換。
- 萬一外洩或不再使用,回到 LINE Notify 官網把該權杖「解除連動」即可立即失效,再重新發行一個新的。
第三步:設定 LINE Notify 節點並客製化訊息
回到 n8n 工作流畫面,把 Google Sheets 和 LINE 串起來。
- 點擊 Google Sheets 節點右邊的「+」號,新增一個節點。
- 搜尋
LINE Notify並點擊它。 - 第一次使用一樣要在「Credential for LINE Notify API」建立新憑證。點擊「Create New」,跳出視窗後填入一個你自訂的名稱,把剛剛複製的 LINE Notify 權杖貼到「Access Token」欄位,儲存即可。
- 接下來是最有趣的部分:設定「Message」欄位。我們要讓訊息內容是動態的,而不是寫死的文字。
- 點擊「Message」欄位旁邊的「Add Expression」按鈕,會看到一個編輯器。
- 在這裡可以自由組合文字與來自上一個節點(Google Sheets)的資料。左邊「INPUT」區塊會顯示上一步抓到的範例資料,你可以一層層點開,找到要的欄位直接點擊,n8n 就會自動產生對應語法。
假設你的 Google Sheets 有「客戶姓名」「聯絡電話」「訂單品項」這幾個欄位,可以這樣寫:
🔔 新訂單通知!
客戶姓名:{{ $json.客戶姓名 }}
聯絡電話:{{ $json.聯絡電話 }}
訂單品項:{{ $json.訂單品項 }}
請盡速處理!
這裡的 {{ ... }} 語法叫做表達式 (Expression),它會被 n8n 自動替換成 Google Sheets 對應欄位的實際內容。這就是自動化的精髓所在。
表達式到底在做什麼?
很多人卡在「為什麼有時候打了欄位名卻抓不到值」。理解一個原則就好:表達式裡的 $json 代表的是「流進這個節點的那一筆資料」,也就是 Google Sheets 觸發節點輸出的內容。$json.客戶姓名 的意思就是「取這筆資料裡名為『客戶姓名』的欄位值」。
所以兩件事要對齊:
- 欄位名稱要完全一致:包含大小寫、空格、全形半形。建議直接從左側 INPUT 點選欄位,讓 n8n 自動產生語法,避免手打拼錯。
- 表達式模式要開啟:欄位一定要切到「Expression」狀態(而不是純文字 Fixed 模式),
{{ }}才會被當成程式碼解析;否則它只會原樣輸出大括號文字。
設定完成後點擊「Test step」。神奇的事發生了——你的 LINE 馬上跳出剛剛設定好的通知訊息,而且裡面的內容就是你試算表裡的資料。
啟用工作流:讓它 24 小時為你工作
測試成功後,別忘了點擊畫面右上角的「Active」開關,把它從「Inactive」切到「Active」。這樣一來,工作流就會在背景持續運行,只要 Google Sheets 一有新資料,它會在很短時間內自動執行,把通知發到你的 LINE。恭喜你,已經成功打造了一個不休息的自動化小幫手。
關鍵差異:在編輯器裡按「Test step」是手動觸發、用來除錯;把工作流切成「Active」之後,才是真正交給 n8n 在背景自動監控與執行。沒切 Active,工作流不會自己跑。
常見卡關與排錯:上線前先看這一段
實作時最容易卡住的幾個點,先講清楚,可以幫你省下大把除錯時間。
收不到 LINE 通知,先檢查什麼?
- 權杖是否貼對:複製時容易少一字或多一個空白。重貼一次最快。
- 群組是否邀請了 LINE Notify:要發到群組,「LINE Notify」官方帳號必須已在該群組內,否則發不出去。
- 工作流是否已 Active:只在編輯器按過 Test step、卻忘了切 Active,是最常見的「測試成功但實際沒反應」原因。
表達式抓不到資料、或顯示成空白?
- 確認該欄位已切到 Expression 模式。
- 確認欄位名稱與試算表標題列完全一致(含空格與全半形)。
- 先重新對觸發節點按一次 Test step,確保 INPUT 有最新的範例資料可供引用。
會不會重複發、或漏發通知?
這是把通知自動化後值得放在心上的通用觀念:因為新增列觸發是定時去檢查試算表,所以你要避免「同一筆資料被當成兩筆」或「一次貼上很多列」造成的非預期行為。實務上可以從來源端著手——例如讓寫入試算表的流程一次只新增一列、或在資料中保留一個可辨識的唯一識別欄位,方便日後對帳。先用少量資料測穩,再放大量真實資料進來,是上線前最穩妥的做法。
工程師的囉嗦時間:還能玩什麼?
這個「Google Sheets → LINE Notify」只是最基礎的應用。n8n 的強大之處在於你可以像堆樂高一樣,組合出更複雜的工作流。例如:
- 加入判斷邏輯:在中間加上一個「IF」節點。例如只有當訂單金額大於 1000 元時,才發送 LINE 通知。
- 串接更多服務:收到新訂單後,除了發 LINE 通知,還可以同時呼叫會計系統的 API、在 Trello 新增一張卡片、甚至發一封客製化的感謝 Email 給客戶。
- 資料處理:在發送通知前,用「Set」或「Code」節點對資料加工。例如自動計算含稅總價,或將客戶地址格式化。
低程式碼工具的出現,不是要取代工程師,而是把我們從重複性工作中解放,去解決更複雜、更有趣的問題;同時也賦予非技術背景的夥伴親手打造解決自身痛點工具的能力。這是一種能力的賦權,也是未來工作協作的大趨勢。
希望今天的教學對你有幫助!自動化的世界廣闊無邊,而你已經成功踏出第一步。如果你在操作上遇到任何問題,或想討論更複雜的企業級自動化流程設計,例如串接 CRM、ERP 系統,浪花科技的團隊隨時準備好為你提供專業的顧問服務。
別再讓人肉作業流程拖慢你的腳步了,立即與我們聯繫,讓我們用技術為你的企業打造一座高效的自動化引擎!
延伸閱讀
常見問題
如何用 n8n 讓 Google Sheets 新增資料時自動發 LINE 通知?
去哪裡取得 Google Sheets 的 Sheet ID?
n8n 偵測 Google Sheets 新增列是即時的嗎?
LINE Notify 權杖該如何保管?外洩了怎麼辦?
n8n 訊息表達式裡的 $json 是什麼意思?為什麼欄位抓不到值?
訂閱免費電子報
把 AI 自動化、企業系統設計與 WordPress / Laravel 開發的真實案例和可直接照做的技巧,整理成電子報寄給你。只寄精選內容、不灌垃圾信,一鍵就能退訂。