昨天,我們成功地建立了一個「中央資料庫」,讓來自四面八方的資訊,都能被 n8n 有條不紊地自動寫入 Google Sheets。
這幫助我們解決了資料散亂的問題。
但資料躺在表格裡,終究只是冰冷的數字。
它們的價值,在於被看見、被解讀。
【今天的煩惱】
每天早上 9 點一到,老闆或團隊主管就會在頻道裡問:「昨天新進了多少客戶?」、「目前總共有幾筆活動報名?」、「昨天的訂單總金額是多少?」...
為了回答這些問題,我都得手動打開 Google Sheets,篩選昨天的日期、計算欄位數量、對某個欄位進行加總... 最後把幾個數字複製貼上到 Slack。
日復一日,單調又乏味。
【今天的進化解法】
我們要打造一個「每日自動戰情回報」工作流。
它會在每天早上,比你老闆更早「醒來」,自動讀取我們 Google Sheets 裡的數據,完成所有計算與分析,最後將一份格式精美的「戰情摘要」,主動發佈到團隊頻道或寄送到主管的信箱。
複習 Schedule 觸發器、Google Sheets 節點 (Get All 模式)、Set 節點的彙整運算。
第一步:設定每日早晨的鬧鐘 (Schedule Trigger)
這是我們最熟悉的老朋友了。一個自動化的報告,始於一個自動化的觸發器。
在新的工作流中,將第一個節點設定為 Schedule。
Mode: Every Day。
Hour: 8 (或任何你想發送報告的時間,例如早上 8 點)。
Minute: 55。
這樣,我們的 n8n 就會在每個工作日的早上 8:55,準時啟動這個任務。
第二步:讀取整個資料庫的數據 (Google Sheets - Get All)
鬧鐘響了,情報官的第一個動作,就是去翻閱資料庫。
在 Schedule 節點後,加上一個 Google Sheets 節點。
Operation: Get Many Rows。
Document: 選擇我們之前建立的「團隊任務總表」。
Sheet: 選擇你要分析的那個分頁,例如 行銷素材申請。
Options -> Return All: 務必打開這個選項,我們要的是完整的資料,而不是預設的前 50 筆。
執行這一步後,n8n 會將你指定的整個分頁,變成一個巨大的 JSON 陣列,每一筆資料代表表格中的一列。
第三步:戰情分析與報告撰寫 (Set 節點的威力)
這是今天最核心、也最見功力的一步。我們要用一個 Set 節點,把上一動傳來的一大堆「生資料」,加工成幾個關鍵指標,並撰寫成報告。
假設我們的表格有 Timestamp 和 預估花費 這兩個欄位。
在 Google Sheets 節點後加上一個 Set 節點,我們來新增幾個 Value:
篩選出「今天」的資料
Name: today_entries
Value (Expression):
JavaScript
{{ $items.filter(item => new Date(item.json['Timestamp']) >= new Date(new Date().setHours(0, 0, 0, 0))) }}
這行運算式使用了 JavaScript 的 .filter() 方法,意思是「把所有資料 ($items) 拿來,只保留 Timestamp 欄位的時間是在今天凌晨 0 點之後的那些項目」。
計算「今日新增筆數」
Name: today_count
Value (Expression): {{ $json.today_entries.length }}
我們直接計算上面篩選出來的 today_entries 這個陣列的長度,就得到了今天的總筆數。
加總「今日預估花費」
Name: today_total_cost
Value (Expression):
JavaScript
{{ $json.today_entries.reduce((sum, item) => sum + Number(item.json['預估花費']), 0) }}
.reduce() 是 JavaScript 中更進階的陣列方法,你可以把它想像成一個「累加器」。它會遍歷 today_entries 裡的每一筆資料,把 預估花費 這個欄位的值,一筆筆累加起來,最後給出總和。Number() 是為了確保文字格式的數字能被正確計算。
撰寫最終報告
Name: report_message
Value (Expression):
JavaScript
{{
`📊 團隊任務每日戰情回報 (${new Date().toLocaleDateString('zh-TW')})
本日重點數據:
做得很好,團隊繼續加油!`
}}
我們再次用上了「樣板字面值」這個大絕招,把上面計算出的所有變數 (today_count, today_total_cost),完美地嵌入一段預設好的報告文字中。
第四步:發佈戰情報告 (Slack / Email)
萬事俱備,只差發送。
在 Set 節點後,加上 Slack 或 Send Email 節點。
在其 Text 或 Body 欄位中,你只需要填入一個簡單的運算式:
{{ $json.report_message }}
因為所有的計算和排版,都已經被我們萬能的 Set 節點處理完畢了。
今天過後,你不再只是一個資料的「搬運工」或「記錄員」。
你升級成了資料的「分析師」與「報告者」。
你打造的,是一個能自動從數據中提煉洞見,並主動向團隊同步進度的智慧系統!