綜合實戰:個人文件自動化中樞
前五課做完,你手上有五條流程在跑:Drive 新檔案自動歸位、Gmail 每天早上自動摘要、Sheets 表單進來報表自己長好、會議前自動備料會議後自動記錄。每一條流程都好用,但它們彼此之間沒有連通——你的 Drive、Gmail、日曆各走各的,每週底要整理一週工作進度時,你還是要手動開四個分頁、各自確認一遍。
「自動化」真正值錢的不是每條流程各自省幾分鐘,是讓整個資訊流從進入、處理、到彙整都不需要你盯著。這堂課就是要把它做完:建一個個人文件自動化中樞,把前五課串成一個有入口、有出口的完整系統,最後用一份每週自動送到你信箱的週報作為整個循環的收尾。
這堂學什麼
- 系統架構設計:五課流程如何串成一個有入口有出口的中樞
- 每週自動週報:Schedule Trigger → 多源資料彙整 → AI 摘要 → Gmail 寄出,全程無人值守
- n8n 執行紀錄除錯:流程壞了怎麼在 Executions 頁找到問題節點,四步驟搞定
- 成本總估算:整套系統跑起來每月花多少(有你意想不到的答案)
- 常見坑大全整理:六個最容易讓系統靜悄悄停止運作的問題
- 下一步:AI Agent 課與 MCP 課能再幫你省什麼
系統架構:五課合一
先退後一步看整個系統的樣子。

四個 Google 服務是系統的「收件入口」:Gmail 收信、Drive 收檔、Sheets/Forms 收表單回應、日曆/Meet 收會議。每個入口各自有一個 Trigger 流程(前五課分別建好的)。這些資料流統統進入 n8n 的 AI 分類引擎:判斷這筆資料要做什麼,接著執行對應動作(歸檔、貼標、更新報表、生會議記錄)。每個動作執行完,結果都匯到一個地方:每週一早上的自動週報。
這個架構的核心概念是單向資料流:資料只往一個方向走,不同流程之間不互相呼叫,只透過共同的 Google Sheets「事件紀錄表」溝通——這樣就算某一條流程壞掉,其他條不受影響。
觀念:Google Workspace Studio vs n8n
在開始串流程之前,先說清楚一件事。2025 年底 Google 發表了 Workspace Studio,並於 2026 年 3 月起對一般使用者陸續開放,讓 Business 以上方案的用戶可以用自然語言(背後是 Gemini 3),建立跨 Gmail、Drive、Sheets 的 AI 自動化代理。很多人看到之後問:「這樣我還需要 n8n 嗎?」

簡單說:Workspace Studio 適合純在 Google 生態內、快速試用的情境;n8n 的核心優勢是跨平台、完全自訂 Prompt、400+ 整合,以及你可以完整看到每一筆執行紀錄來除錯。這堂課學的是後者——不是因為它比較厲害,是因為它對「跨服務、生產級、要長期穩定運作」的自動化需求來說才是對的工具。
如果你的 Workspace 方案已含 Workspace Studio,可以用它快速試做小流程;要做本課整合系統,繼續跟 n8n 走。
手把手實戰
這堂課的主要實作是:建一條「每週自動週報」流程,把前五課各條流程的產出彙整成一封信,每週一早上 08:00 寄給你自己。
建立共用的「事件紀錄表」
系統整合的黏合劑是一張 Google Sheets 表格,專門記錄「這一週各流程的動作」。前五課的每條流程,在完成動作後都往這張表寫一行紀錄,週報流程再來讀這張表彙整。
在你的 Google Sheets 建一個新工作表,命名為「自動化事件紀錄」,欄位如下:
A: 時間戳記 (自動填入)
B: 來源 (gmail / drive / sheets / calendar)
C: 事件類型 (新信件 / 歸檔 / 新表單 / 新會議記錄)
D: 摘要 (一句話描述這個事件)
E: 連結 (選填,可以是信件連結或檔案連結)
記下這張表的 Spreadsheet ID(從 URL 裡取:.../spreadsheets/d/這一段/...)。接下來每條流程的最後都要加一個「Sheets Append Row」節點,把事件寫進來。
在現有流程末尾加上「寫入紀錄」節點
打開你第 2 課的 Drive 歸檔流程。在 Move + Rename 節點執行完之後,加一個 Google Sheets 節點,Operation 選「Append or Update Row」:
- Spreadsheet:選剛剛建的「自動化事件紀錄」
- Sheet:Sheet1
- Columns to Match On:留空(每次都是新增一行)
- Fields to Send:
時間戳記: {{ $now.toISO() }}
來源: drive
事件類型: 歸檔
摘要: {{ $json.newName }} 已歸入 {{ $json.category }}
連結: https://drive.google.com/file/d/{{ $json.fileId }}
其他四課的流程同樣在最後加這個節點,來源和摘要的內容對應調整:
- Gmail 摘要流程:來源
gmail、摘要「今日處理 X 封重要信件」 - Sheets 流程:來源
sheets、摘要「收到新表單回應:{{ $json.姓名 }}」 - 日曆流程:來源
calendar、摘要「會議記錄已建立:{{ $json.title }}」
這樣做完,這張表就是整個系統的「黑盒子飛行紀錄器」:任何時候你想知道系統這週做了什麼,打開這張表看一眼就好,不用一條一條流程去追。
建每週自動週報流程
建一個全新的 Workflow,命名「每週自動週報」。

節點一:Schedule Trigger
新增 Schedule Trigger 節點:
- Trigger Interval:選
Week - Trigger at Day of Week:選
Monday - Trigger at Hour:
8 - Trigger at Minute:
0
這等同於 Cron 表達式 0 8 * * 1——每週一早上 08:00 觸發。
節點二:抓取本週事件紀錄
加一個 Google Sheets 節點,Operation 選「Get Rows」:
- Spreadsheet 選「自動化事件紀錄」
- Filters:設條件「時間戳記 >= 上週一的日期」
用 n8n 的 expression 算出上週一的日期:
{{ $now.minus({days: 7}).startOf('week').toISO() }}
這樣每次執行只會抓過去 7 天的記錄,不會把以前的資料也拉進來。
節點三:統計各來源數量
加一個 Code 節點(JavaScript),把資料彙整成統計:
const rows = $input.all().map(i => i.json);
const counts = { gmail: 0, drive: 0, sheets: 0, calendar: 0 };
rows.forEach(r => {
const src = (r['來源'] || '').toLowerCase();
if (counts[src] !== undefined) counts[src]++;
});
const events = rows.map(r => `• [${r['來源']}] ${r['摘要']}`).join('\n');
return [{
json: {
totalEvents: rows.length,
gmailCount: counts.gmail,
driveCount: counts.drive,
sheetsCount: counts.sheets,
calendarCount: counts.calendar,
eventList: events,
weekLabel: $now.toFormat("yyyy 第 WW 週"),
}
}];
節點四:AI 摘要
加一個 Basic LLM Chain 節點(模型選 GPT-4o mini 或 Claude Haiku 成本最低),System Prompt:
你是個人效率助手。根據提供的一週工作事件清單,產出簡短的工作週報。
輸出結構如下,不要多餘說明:
1. 本週亮點(3 點,每點一句話)
2. 需要跟進的事項(從事件清單中挑出未完成感或需確認的事,最多 3 點,沒有就省略)
3. 下週注意事項(1-2 句話,根據日曆事件預告)
語言用繁體中文,口吻簡潔專業。
User Prompt:
本週標籤:{{ $json.weekLabel }}
總事件數:{{ $json.totalEvents }}
分類統計:Gmail {{ $json.gmailCount }} 封、Drive {{ $json.driveCount }} 個檔案、表單 {{ $json.sheetsCount }} 筆、會議 {{ $json.calendarCount }} 場
本週事件清單:
{{ $json.eventList }}
節點五:組裝 HTML 信件
加一個 Code 節點,把統計數字和 AI 摘要組成一封 HTML 信:
const stats = $('統計節點').first().json;
const aiText = $input.first().json.text;
const html = `
<div style="font-family:sans-serif;max-width:600px;margin:0 auto;color:#2f3b54;">
<h2 style="border-bottom:3px solid #4a90d9;padding-bottom:8px;">
📋 週報 ${stats.weekLabel}
</h2>
<div style="display:flex;gap:16px;margin:20px 0;">
<div style="flex:1;background:#f0f4ff;border-radius:8px;padding:14px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#4a90d9;">${stats.gmailCount}</div>
<div style="font-size:12px;color:#666;">信件處理</div>
</div>
<div style="flex:1;background:#f0fff4;border-radius:8px;padding:14px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#27ae60;">${stats.driveCount}</div>
<div style="font-size:12px;color:#666;">檔案歸檔</div>
</div>
<div style="flex:1;background:#fff8f0;border-radius:8px;padding:14px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#e67e22;">${stats.sheetsCount}</div>
<div style="font-size:12px;color:#666;">表單回應</div>
</div>
<div style="flex:1;background:#fdf0ff;border-radius:8px;padding:14px;text-align:center;">
<div style="font-size:28px;font-weight:700;color:#8e44ad;">${stats.calendarCount}</div>
<div style="font-size:12px;color:#666;">會議場次</div>
</div>
</div>
<h3 style="color:#4a90d9;">🤖 AI 週報摘要</h3>
<div style="background:#f9f9f9;border-radius:8px;padding:16px;white-space:pre-line;line-height:1.7;">
${aiText}
</div>
<p style="color:#aaa;font-size:12px;margin-top:24px;">
由 n8n 自動生成 · ${new Date().toLocaleDateString('zh-TW')}
</p>
</div>`;
return [{ json: { html, subject: `📋 週報 ${stats.weekLabel}` } }];
節點六:Gmail 寄出
最後加一個 Gmail 節點,Operation 選「Send」:
- To:
你自己的 Gmail 信箱 - Subject:
{{ $json.subject }} - Message:
{{ $json.html }} - Email Type:HTML
存檔,啟用 Workflow。下週一早上 08:00 它就會自己跑,一封整齊的週報出現在你的信箱。
設定 Error Workflow:壞了要知道
流程上線之後,你最怕的不是流程壞掉,是流程壞掉了你不知道。n8n 有一個 Error Workflow 機制,每次任何流程執行失敗,就觸發另一個指定的流程——你可以讓它寄信通知你。
建一個新 Workflow,命名「錯誤通知」。第一個節點選 Error Trigger,後面接一個 Gmail Send 節點:
- To:你的信箱
- Subject:
⚠️ n8n 流程執行失敗:{{ $json.workflow.name }} - Message:
流程名稱:{{ $json.workflow.name }}
失敗時間:{{ $json.execution.startedAt }}
錯誤訊息:{{ $json.execution.error.message }}
請到 n8n Executions 頁查看完整紀錄。
存檔啟用這個 Workflow。接著打開你的每一條流程,進 Workflow Settings(右上角三個點),找到「Error Workflow」,選剛剛建的「錯誤通知」。
設完之後,以後任何一條流程執行失敗,你都會收到一封通知信,知道是哪條流程、什麼時候、什麼錯誤。不用每天手動去 Executions 頁巡邏。
流程壞了怎麼查:n8n 執行紀錄完全指南

系統接好之後,偶爾會遇到流程突然停止的狀況。除錯的第一步不是重建流程,是看執行紀錄。
進入方式: n8n 左側選單點「Executions」。畫面會列出所有流程的執行歷史,成功的顯示綠色「Succeeded」,失敗的顯示紅色「Error」,點進去就能看流程圖。
流程圖上,成功跑完的節點邊框是綠色,失敗的是紅色,還沒跑到的是灰色。點紅色節點,看右側 Output 面板裡的 Error 欄——這就是真正的錯誤原因。
常見的錯誤訊息解讀:
| 錯誤訊息 | 原因 | 解法 |
|---|---|---|
The caller does not have permission |
OAuth token 失效 | Credential 重新授權 |
Error 400: redirect_uri_mismatch |
Redirect URI 設定錯 | Google Cloud Console 更新 URI |
429 Too Many Requests |
API 呼叫過快 | 加 Wait 節點,或降低批次頻率 |
SyntaxError: Unexpected token |
AI 輸出不是純 JSON | Prompt 加強 + Code 節點防禦解析 |
File not found |
Drive 移動後 ID 變了 | 合併 Move + Rename 成單一節點 |
Invalid grant |
Refresh token 被 Google 撤銷 | OAuth 同意畫面改為「已發布」後重授權 |
看到錯誤訊息不知道怎麼辦,最快的方法是:把錯誤訊息原文貼給 Claude 或 ChatGPT,說「這是 n8n 執行報錯,我的流程是接 Google Drive/Gmail/…,請解釋原因並告訴我怎麼修。」比自己查文件快三倍。
成本總估算
很多人以為自動化要花很多錢,實際算起來你可能會驚訝。

整套系統跑起來,費用的大頭反而是你本來就在付的 Google Workspace。n8n 如果選擇自架(用 Docker 跑在 NAS 或雲端 VPS),授權費用是零;Google Cloud 的 OAuth API 啟用完全免費,在個人用量下不會觸及付費門檻;AI API 按用量計費,本課的流程以每天處理幾十封信、每週一次週報的規模,每月大約 $2–5 美元。
自架 n8n 方案月費估算:$9–12 美元(約 280–370 台幣)
如果你不想自架,選 n8n Cloud Starter 方案(€24/月,約 $26 美元,提供 2,500 次執行),五條流程的月執行次數大約是 200–500 次,Starter 方案足夠。加上 Google Workspace 就是 $33–42 美元/月,相當於每月一杯 Starbucks 的價格,省下的時間以一週 3–5 小時計算,等同讓自己的時薪翻一倍。
- AI API 選小模型:週報摘要用 GPT-4o mini 或 Claude Haiku 就夠,不需要用旗艦模型。小模型每次呼叫成本低 10–20 倍,在本課的用量下感覺不出差異。
- n8n 自架:有 NAS 或 VPS 的人建議自架,Docker 安裝五分鐘搞定,自架版功能和 Cloud 版完全一樣,只差在你自己管更新。
常見坑大全
整合五條流程之後,問題比單條流程更難找,因為失敗點可能在任何一條。以下是整個系統跑起來後最常見的六個問題:
坑 1:OAuth token 7 天到期,整批流程同時失效
症狀:某天早上所有 Google 相關節點全部報 Token has been expired or revoked 或 The caller does not have permission,不是某一條流程出問題,是所有流程。
原因:Google Cloud 的 OAuth 同意畫面發布狀態是「測試中(Testing)」,測試模式下 token 只有 7 天效期。7 天到就全部失效。
解法:Google Cloud Console → API 和服務 → OAuth 同意畫面 → 把「發布狀態」改為「已發布(In production)」。Drive API 不屬於受限制範圍,不需要 Google 審核,直接改。改完後在 n8n 的 Credentials 重新「Sign in with Google」一次,之後 token 就是長效的,不用再煩這件事。
坑 2:Google Sheets 寫入成功,但「事件紀錄表」欄位對不上
症狀:事件紀錄表裡有資料,但某些欄位是空的,或資料跑錯欄。週報抓資料時統計全部是 0。
原因:Sheets Append Row 節點的欄位名稱,必須和工作表的「第一行標題」完全一致,包含空格和標點符號。最常見的是欄位名稱用了全形冒號或多了一個空格。
解法:在 n8n 的 Sheets 節點,展開「Fields to Send」,每一個 Key 的名稱都照 Sheets 的標題原封不動複製貼上,不要手打。懷疑欄位對不上時,加一個 IF 節點先做除錯,把實際寫入的 JSON 打印出來看。
坑 3:Schedule Trigger 時間跑偏——台灣時間 08:00 結果 16:00 才寄
症狀:週報設定週一 08:00,結果信到下午才來。
原因:n8n 的 Schedule Trigger 時間是依伺服器的時區設定。n8n Cloud 的伺服器時區預設是 UTC,台灣是 UTC+8,所以 Trigger 設 08:00 = UTC 08:00 = 台灣 16:00。
解法:在 n8n 的「Settings」(左側選單底部)→「Personal Settings」或「Instance Settings」找到「Timezone」,改成 Asia/Taipei。或者如果你只有 Workflow 層的設定權限,在 Workflow Settings 裡設定時區。改完後 Schedule 的時間才對得上台灣時間。
坑 4:AI 摘要節點輸入 token 超長,API 報錯或費用暴增
症狀:某週事件特別多(例如一週處理 200 封信),AI 節點報 maximum context length exceeded,或 API 費用突然暴增。
原因:把整份事件紀錄清單原文灌給 AI,每行都是一筆事件,200 行就可能超過模型的 context 上限,或讓費用不成比例的升高。
解法:在 Code 節點的統計步驟裡加一個截斷:
// 只把前 50 筆事件傳給 AI,超過的只用統計數字
const maxEvents = 50;
const trimmedList = rows.slice(0, maxEvents)
.map(r => `• [${r['來源']}] ${r['摘要']}`).join('\n');
const eventList = rows.length > maxEvents
? trimmedList + `\n(另有 ${rows.length - maxEvents} 筆未列出)`
: trimmedList;
週報摘要不需要每一筆細節,AI 只需要統計數字和幾個代表性事件就能寫出好摘要。
坑 5:多條流程同時觸發,Sheets 寫入發生競爭
症狀:事件紀錄表某幾行資料不完整,或明明有五個事件卻只寫進來三筆。
原因:如果 Drive 流程和 Gmail 流程幾乎同時觸發(例如都設定每天 09:00 跑),兩條流程同時對同一張 Sheets 做 Append Row,偶爾會發生衝突。
解法:把不同流程的觸發時間錯開 2–5 分鐘(例如 Drive 09:00、Gmail 09:03、Sheets 09:06),避免同時寫入。或者在 Sheets 節點裡改用「Add Row」而非「Append or Update」,前者的衝突處理更穩定。
坑 6:週報流程成功執行,但週報信永遠沒到
症狀:n8n Executions 頁顯示週報流程「Succeeded」,但信箱沒有收到信。
原因有三種可能:第一,信被 Gmail 的垃圾郵件過濾擋掉了——自動化程式發出的 HTML 信件有時會觸發垃圾郵件判斷;第二,Gmail 節點用的是「Send」但沒選正確的 Credential,信其實是從別的帳號發出去的;第三,HTML 內容有語法錯誤導致 Gmail 靜默丟棄。
解法:先去「垃圾郵件」資料夾找找。如果都沒有,在 Gmail 節點裡把「To」改成一個你確定能收到信的 Gmail 帳號(不要自己發給自己,改發給另一個你的帳號),測試是否能收到。HTML 有問題的話,先用純文字格式測試成功,再逐步換回 HTML。
作業
在你的事件紀錄 Google Sheets 建好五個欄位,分別在前五課的各條流程末尾加上 Sheets Append Row 節點,讓每一條流程執行完都往表格寫一行紀錄。手動觸發各流程一次,確認表格有資料進來。
完整建好每週自動週報流程(從 Schedule Trigger 到 Gmail 寄出),手動執行一次測試,確認你的信箱能收到週報,格式正確。
建好 Error Workflow,並在所有流程的 Workflow Settings 指定它。之後找一個方法故意讓某條流程失敗(例如暫時把 Sheets ID 改錯),確認你會收到通知信。
選做:在週報 HTML 裡加一個「本週歸檔的檔案清單」區塊,列出前 5 個從事件紀錄表抓到的 Drive 歸檔事件,每個帶上 Drive 連結——這樣週報不只是統計數字,還能直接點開查看。
下一步
整個《Google 全家桶自動化》課程到這裡就完整了。你現在有一個真正在運作的個人文件自動化中樞——每一封信、每一個檔案、每一張表單、每一場會議,都有對應的自動化流程處理,最後每週一用一封週報告訴你整個系統這週做了什麼。
但這套系統還有一個層次你沒碰到:目前這些流程都是「固定規則的執行」——AI 在裡面扮演的是翻譯角色(把文字翻成結構化資料),還沒有真正的「決策能力」。如果你想讓 AI 不只分類,還能判斷「這封信需不需要我回覆」、「這個任務應不應該放進日曆」、甚至「幫我起草回信草稿」——那就是下一個層次:AI Agent。
AI Agent 課會教你用 n8n 的 AI Agent 節點建出有記憶、有工具、能多步驟推理的自動化代理,讓你的系統從「照規則執行」升級到「自主判斷執行」。MCP 課則會教你用 Model Context Protocol 讓 Claude 直接操作你的本機檔案和瀏覽器——這兩門課是這套系統的自然延伸,也是 2026 年 AI 自動化真正的前沿。