首先聲明,這篇不是教學文章,是一個初學者的實驗記錄!
說到AI自動化,常聽到工具如Zapier、Make、n8n、Coze、微軟的Power Automated,我陸續有關注,但因工作與生活性質,好像用不到自動化工具?直到本週突然遇到一個場景需求,我立刻抓緊機會來嘗試!
一開始以為只是個簡單的串接,而且網紅介紹說很簡單,自動化工具也都標榜No Code(不用程式碼),沒想到零經驗的我,雖然有GPT的幫助,還是搞了好幾個小時......但最後完成還是有成就感的!以下是實驗筆記。先來介紹運用場景
因為各種因素,同事用手機拍照後會傳LINE給我,請我幫忙放到公司電腦中。聽起來只要幾秒鐘,但卻是一個重覆、打斷專注的小動作。重覆作業,不就是最適合自動化的場景嗎?(別問為何不用xxx方式上傳或email,因為有「各種因素」。)
此場景的要求很簡單明確:
- 同事可以用手機發出LINE照片(而不是其他APP)
- LINE接收到照片後自動寄email到公司信箱
- 免費,不花錢訂閱平台服務或架站
n8n遇到的困難
優點與缺點
因為「免費」的要求,我首先選擇的軟體是n8n。我是在上資料庫課程中,從老師口中得知n8n,優點是開源,如果下載到自己的電腦自己架站,沒有使用n8n線上平台,就是免費。
使用n8n的缺點:
- 要自己安裝
相比於其他雲端平台,n8n自架有小小門檻(n8n也有要收費的雲端功能)。剛好我最近學會Docker容器的使用方式,所以躍躍欲試地下載n8n來測試,發現安裝挺容易的。 - 自動化的服務時間(電腦要一直開機嗎?)
因為我預設是架在自己的公司電腦,所以如果我的個人電腦沒有開機執行n8n,就無法啟用自動化功能。不過,回到預設場景,本來就是要我有上班,同事才能傳照片給我轉存,上班時間我就會開機,下班時間也不會有這個需求,所以這個缺點算是不存在。
工作流步驟分析
用一句話跟GPT說明需求後,GPT拆解成以下流程:
問:我想用n8n做個簡單程序,當用戶發圖片到LINE時,把圖片寄到指定信箱。
答:流程概念
- 用戶在LINE傳圖片給Bot
Bot透過LINE的Messaging API把事件推送到n8n的Webhook - n8n解析事件
確認訊息類型是"image"。透過LINE API把圖片檔抓下來。 - n8n寄Email
把圖片檔當成附件,寄到指定信箱。
工作步驟看起來簡單清晰,沒想到第一個步驟就遇到小困難,裡面的Webhook是什麼意思?接著問GPT。
什麼是Webhook?
GPT回答:
🔔 什麼是 Webhook?
Webhook 可以想像成一個「自動門」:
平常它一直「開著」,等外部事件來觸發。
當某件事發生(例如:有人傳訊息給 LINE Bot),LINE 的伺服器就會主動呼叫你設定的網址,把資料送過來。
📦 舉例
你在 LINE 跟 Bot 說:「傳一張圖片」。
LINE Server 收到訊息後 → 會「推一包資料」到你設定的 Webhook URL。
這包資料包含:誰傳的、傳什麼(文字 / 圖片)、時間等等。n8n 裡的 Webhook 節點 就像一個「接收信箱」,專門接收這些資料。
📊 對比理解
API Request(你去問別人):就像打電話「主動去問」天氣幾度。
Webhook(別人通知你):就像氣象局「主動打電話來告訴你」現在下雨了。
再問:為什麼不能直接連n8n要透過webhook?
🔑 關鍵原因
LINE 不知道 n8n 在哪裡
LINE Server 在雲端,它要把「用戶傳的圖片」送過來。 但它需要一個 公開網址 才能送資料。
n8n 的 Webhook 節點,就是專門給外部服務「找到 n8n 的門口」。Webhook 是一種標準介面
幾乎所有外部系統(LINE、Slack、GitHub、支付平台…)都是用 Webhook 來通知事件。
n8n 也跟著這個標準,所以才有「Webhook 節點」。
即時觸發
如果不用 Webhook,你就要「一直去問 LINE:有新訊息嗎?」(這叫 polling,效率低、延遲大)。
有了 Webhook,LINE 主動通知 n8n,「嘿!剛有人傳圖片喔!」 → n8n 馬上執行流程。
🖼️ 用生活比喻
Webhook:像是你在門口裝一個 對講機。有人按門鈴 → 對講機就通知你有人來了。
直接連線:就好像你要自己一直站在門口,盯著看有沒有人來,累而且低效。
📊 在 n8n 的角色 Webhook 節點其實就是「n8n 的大門」。
你把它網址交給 LINE → LINE 就知道「原來要把訊息送到這裡」。
三問:Webhook 是什麼服務或平台嗎?
👉 Webhook 不是一個服務或平台,而是一種「機制/規格」。
📖 定義
Webhook = Web + Hook
Web:指網路上的一個 URL(網址)。
Hook:程式裡的「鉤子」,用來接收事件。
合起來意思就是:「一個可以被呼叫的網址,用來接收事件資料」。
🖥️ 它長什麼樣子?
Webhook 就是一個 HTTP(S) 的 URL,例如:https://example.com/webhook/line-incoming這個網址沒有網頁畫面,而是專門給程式「送資料」用的。
📦 角色關係
平台(例如 LINE, GitHub, PayPal) → 負責「發事件」的人(誰傳了圖片、誰下單付款…)。
Webhook → 一個公開網址,讓平台知道「要把資料丟到這裡」。
接收方(例如 n8n) → 在 Webhook 節點上「聽」這個網址,接收資料後觸發流程。
🔑 重點
- Webhook 不是一家公司,也不是一個軟體。
- 它就是一個「網址規則」,讓不同系統可以互相通知事件。
- 在 n8n 裡,Webhook 節點 就是你自己產生的一個 Webhook。
📊 總結
Webhook = 一個特別的網址,讓別的系統(像 LINE)在有事件時能「主動通知」你的系統(像 n8n)。
了解了webhook後,依照GPT指示在n8n製作第一個節點(webhook),設定好不知道是什麼意思的HTTP Method(POST)、Path,並依照指示測試這個節點,下個步驟就是建立LINE機器人並綁訂Webhook。
LINE官方帳號(Official Account, OA)
依照GPT建議,到LINE Developers,要建立Messaging API。
GPT洋洋灑灑寫一堆,實際到LINE Developers網站發現要使用API,需要申請LINE官方帳號。在快速查詢LINE官方帳號最低使用額度不用付費後,申請了LINE官方帳號,但要取得API的Channel步驟還是很多,此時GPT的指示已經開始失效,畢竟LINE的網站服務可能會改版,找不到GPT說的設定位置,所以這部份我是參考網路教學,終於拿到Channel ID和Channel Secret。
ngrok?!

n8n節點設計
搞定LINE機器人,要怎麼把LINE連接到n8n的webhook?GPT推薦我使用ngrok:「如果要讓 LINE Server 從外網打進來,需要用 ngrok或 Cloudflare Tunnel,因為 LINE 無法連到你公司內網的私有 IP。」
我看到「從外網連線進來」的關鍵字,第一個想到的就是資安風險。詢問GPT,它強調只是練習測試,關掉後就沒有風險,但長期運轉的話,使用ngrok資安風險較高。GPT另外推薦我使用Cloudflare,但查起來覺得好像很麻煩,要申請帳號,故暫時作罷。
此時,因為一直無法解決,我先請GPT跳過LINE連接webhook的步驟,往下進行,練習n8n設定,暫時結束這一回合。
註:事後我詢問認識的資安人員,他嚴厲地告知:「公司設備禁止使用ngrok!」ngrok只能拿來個人或測試使用。
這也是使用生成式AI自己寫程式的風險之一,若自己的認知不足,AI又沒有提示的話,直接照著AI指示做,可能不小心踩了資安的大坑。
Zapier…?
把n8n架在自己電腦遇到連外網的資安問題,考量我自己對這方面不甚了解,只好選擇雲端服務。我再次重新回到起點:選擇工具。網路查詢後,發現Zapier 提供免費版本,但每月僅限100 個任務。考量使用場景,傳圖片的需求1個月不會超過100張,使用Zapier免費版應該夠了?
不幸的,我在建立第一個節點時就遇到困難。Zapier沒有內建LINE節點,要使用Webhooks,沒想到一點選Webhook,就看到僅限Premium(付費)用戶......還要收錢啊!再換!

Zapier的Webhooks功能要收費
Make
最後我來到Make平台,每個月可以有1000次免費credits,每個節點執行會消耗一單位(就算執行失敗,沒有跑完整個流程也會計算,所以在測試途中就用掉許多credits)。
HTTP,Make a request還是Get a file
有了之前n8n、Zapier的經驗,在GPT指導下,順利地設定好Make的第一個節點Webhooks。第二個節點,GPT叫我選擇HTTP的Make a request。我看到HTTP還有另外一個選項:Get a file。咦?我是要下載圖片,為何不是選擇Get a file?GPT回答說:Get a file比較單純,無法設定較多的參數、變數,使用Make a request較通用,適合要呼叫需要權限的 API。

Make。HTTP-Make a request節點設定
依照它的建議設定Make a request,但實際欄位和GPT說明一直對不上,多次詢問嘗試後,GPT叫我改用Get a file…不幸的是,設定好Get a file,下個步驟設定Gmail節點時,又出現其他問題(下載的檔案是html而不是圖片檔),GPT又叫我改回Make a request…😑。
換回去Make a request搞了半天,遇到困難後,GPT又說要用Get a file…😡。
此時,我決定改去問Google Gemini,Gemini叫我使用Make a request…結果問題點是在Gmail的節點,附加檔案File Name 欄位,需要手動設定副檔名".jpg”。之前的錯誤,跟HTTP節點沒有關係呀!🤬
Make綁訂Gmail

Make要連結Gmail產生錯誤
用Make連接Gmail非常...麻煩。
因為Google憑證較嚴格,依照GPT的建議,試了幾次無法成功連線到Gmail,網路上也搜尋了教學文章,但應該是版本不同,也一直失敗。直到我在搜尋的關鍵字加入"2025" (Google關鍵字:make 無法連接gmail 2025),才找到一篇可行的文章:
🚀 Day 15:工具使用說明:Make × Gmail 實作教學
簡述步驟:建立Google Cloud專案、啟用Gmail API、設定OAuth(包含授權網域、資料存取範圍、建立應用程式密碼…等等),詳細的設定請看文章連結。
(為了這個專案,我另外申請了一個Google帳號)
我終於成功了!接下來呢?
成功連接到Gmail後,剩下的設定(相比於前面的魔王)就是小case,測試幾次後,email就成功收到line傳的照片啦!可以關機去睡覺了!
增加分機篩選功能

Make最終版本:增加分支寄到不同信箱
做成了連接很有成就感,我第二天就迫不及待加入新功能:根據不同的Line用戶,辨識分機號碼,傳到不同的email。簡述工作步驟:
- 建立一個 Router 來根據訊息類型,將流程分為兩個分支:一個處理分機號碼(文字訊息),另一個處理圖片。
- 建立 Data Store(資料儲存庫)
用Make後台的Data Store功能,建立儲存庫,建立兩個欄位(LINE ID和分機號碼) - 利用filter,如果LINE收到文字(用戶傳分機號碼),就連到Data store;如果LINE收到圖片,就連到HTTP-Make a request。
- HTTP-Make a request節點後面增加Data store-Get a record,
在收到圖片訊息後,利用LINE ID查詢儲存庫資料,得到分機。 - 利用filter建立分支,不同的分機號碼,傳到不同的指定email。
下一個需求...留待未來嘗試
目前的自動化設計,已經可以交付給同事使用了,但預計未來會有個小問題:如果用戶連續傳10張圖片,Make會就會執行10次,傳10封email,一封信一張圖片。除了消耗執行次數,也會造成使用者的困擾。
初步詢問Gemini得到的工作流程:
- 使用者傳送多張圖片:每次傳圖都會觸發 Line Webhook。
- Make 暫存圖片:每次觸發時,不會立刻寄信,而是將圖片的 URL 暫時存到一個地方(例如一個 Google Sheets 或 Data Store)。
- 一次性處理:
使用者傳送「結束」。從兩個 Data Store 中讀取分機號碼和所有暫存的圖片網址。將所有圖片下載並打包成一封信寄出。寄出後,清除圖片的暫存資料。
結語:AI是導航,不是自駕車
對一個非資訊人員來說,這次的自動化嘗試既有趣又折磨。從 n8n、Zapier 到最後落腳 Make。GPT、Gemini這些AI助手可以問很方便,很多時候直接截圖貼上,不需要文字描述,就可以直接讓GPT判斷結構和欄位內容。但須注意,AI無法每步驟完全正確,中間還是需要操作者自己判斷(甚至差點踩資安地雷),常常會原地繞圈幾次,需要有耐心,適時搜尋人類寫的教學網頁,當發現它開始鬼打牆時,也可以換另外一個生成式AI交叉比對。
雖然初次嘗試花了我幾個小時,實現的功能(LINE傳圖轉Gmail)實際上也不會節省我多少時間,但重要的是經驗獲取,以及一個認知:我有能力踏入自動化的門檻了!