你是否也曾想紀錄飲食及花費,下載了無數個記帳或熱量追蹤 App,最後卻因為「手動輸入太多欄位太麻煩」而半途而廢?每次吃完飯都要查熱量、算卡路里,甚至還要分開記帳,光想就覺得心累 。
如果告訴你,只需在 Notion 隨手打上「韭菜水煎包一顆 15元」,剩下的熱量估算、餐費歸檔、餐別判斷甚至是飲食建議,全部都能由 AI 自動幫你完成,是不是聽起來輕鬆多了?今天這篇教學,將帶你使用 n8n 串聯 Notion 與 Gemini,打造一個全自動的「AI 飲食記帳助理」,你還可以建立常吃的食物熱量表,讓 Gemini 檢索查找,更客製化建立你的專屬飲食日記 。
如何在 Notion 建立「每日飲食紀錄」資料庫
步驟 1: 前往 Notion 頁面,登入您的帳號。
步驟 2:由於我們會串連 Gemini ,僅會使用少量的 Notion AI 因此方案選擇免費版即可。
步驟 3:進入頁面後選擇「Notion AI」。
步驟 4:在 Notion AI 對話框輸入以下提示詞,送出以建立「每日飲食紀錄」資料庫 :
幫我建立一個「每日飲食紀錄」資料庫,包含以下欄位:
-
餐點名稱 (Text):這是標題欄位
-
用餐時間 (Date):預設包含時間
-
餐別 (Select):選項包含「早餐、午餐、晚餐、點心、宵夜」
-
餐費 (Number):格式設為 TWD
-
預估熱量 (Number)
-
AI 營養分析 (Text)
補充:Notion AI 目前對免費用戶有使用次數限制,用完後需付費訂閱。若次數用盡,請依照上述欄位手動建立即可 。
步驟 5:建立完成的「每日飲食紀錄」資料庫就會出現在側邊選單。
步驟 6:由於我們希望可以自動記錄輸入時間,點選資料庫中的「用餐時間」欄位,選擇「編輯屬性」,將「類型」改選為「建立時間」。
如何在 Notion 建立讓 AI 查找熱量的「食物熱量資料庫」
步驟 1:準備好你的參考資料(例如:下載 City Cafe 熱量表、國民健康署的食物代換表 PDF檔 、五十嵐飲料熱量截圖常食用的食品)將圖片或 PDF 丟給 Notion AI。
步驟 2:輸入以下提示詞並送出。以建立「食物熱量資料庫」 :
請閱讀我上傳的圖片/文件,幫我建立一個「食物熱量資料庫」資料庫,包含以下欄位:
欄位包含:名稱 (Text)、單位/份量 (Text)、熱量 (Number)、備註(Text)。
請盡量完整列出識別到的品項。
步驟 3:建立完成的「食物熱量資料庫」資料庫就會出現在側邊選單。後續如想新增其他熱量表,可以手動更新匯入,或點選資料庫接著選擇右下角的「Notion AI」圖示。
步驟 4:將欲新增的熱量表圖貼上並輸入提示詞:「請閱讀我上傳的圖片/文件,更新資料表。」並送出。
如何取得 Notion 金鑰將資料庫串聯 n8n
步驟 1:在 Notion 左側選單選擇「設定」,接著選擇「連接」。
步驟 2:點選「開發或管理整合」。
步驟 3:點選新整合「+」圖示。
步驟 4:在整合名稱輸入「n8n飲食助手」,關聯工作空間下拉選單選擇你的工作空間,接著點選「儲存」。
步驟 5:將「內部整合密鑰」金鑰複製保存,稍後會使用到,接著點選「存取權限」。
步驟 6:選擇「編輯存取權限」,點選稍早建立的「每日飲食紀錄」、「食物熱量資料庫」資料庫完成授權,接著「儲存」。
如何取得 Gemini 金鑰
步驟 1:前往 Google AI Studio 頁面,登入您的帳號。
步驟 2:點選左側的「Get API key」。
步驟 3:點選「Create API key」。
步驟 4:在 Name your key 輸入「n8n飲食助手」命名、Choose an imported project 選擇「Create project」。
步驟 5:在 Name your project 輸入「n8n assistant」,接著選擇「Create project」。
步驟 6:點選「Create key」。
步驟 7:選擇複製圖示,將金鑰複製保存,稍後會使用到。
如何設定 n8n 自動化流程
步驟 1:登入你的 n8n 後台,選擇「Create workflow 」建立一個新的工作區。
步驟 2:點選「+」圖示,搜尋「Notion」選擇「on page added to database」。
步驟 3:點選 Credential 下方的「Create new credential」。
步驟 4:在 Internal Integration Secret 欄位輸入稍早複製的 Notion 金鑰,接著儲存。
步驟 5:Database 選擇要監測的資料庫「每日飲食紀錄」,接著點選「Fetch Test Event」確認是否有成功連到資料庫。此節點的功能是當資料庫新增資料時,會啟動流程。
步驟 6:回到畫布新增節點,搜尋「Notion」並選擇「Get many database pages」。
步驟 7:Database 選擇要讓 AI 查找的熱量表「食物熱量資料庫」,將「Return All」開啟,以回傳熱量表所有資料,接著點選「Fetch Test Event」確認是否有成功連到資料庫。
步驟 8:回到畫布新增節點,搜尋「Aggregate」。
步驟 9:在 Aggregate 欄位選擇「All Item Data(Into a Single List)」,接著點選「Execute step」。確認是否成功將「食物熱量資料庫」的資料彙整成一個清單,能避免 AI 需要分次查找。
步驟 10:回到畫布新增節點,搜尋「Gemini」,選擇「Message a model」。
步驟 11:點選 Credential 下方的「Create new credential」。
步驟 12:輸入稍早在 Google AI Studio 複製的 API key,接著儲存。
步驟 13:選擇要使用的語言模型,在 Prompt 輸入以下指示詞,告訴 AI 要執行的任務:
你是一位專業的營養師與記帳助手。
【任務說明】
使用者輸入了一筆飲食紀錄(可能包含價格)。
請依照以下步驟處理:
1. **查表**:優先搜尋下方的【熱量參考資料庫】,若有對應食物名稱,直接引用其熱量;若無則自行估算。
2. **抓金額**:從【使用者輸入】中提取金額(例如 "70元" -> 70),若沒寫則回傳 0。
3. **判斷餐別 (關鍵步驟)**:
- ⚠️ 注意:下方的【用餐時間】為 UTC 格式,請務必先 **+8小時** 換算為台灣時間。
- 換算後,請依照以下時段判斷:
* 05:00-10:30 -> 早餐
* 11:00-13:30 -> 午餐
* 14:00-17:00 -> 點心/下午茶
* 17:30-20:00 -> 晚餐
* 20:30後 -> 宵夜
4. **分析**:針對【使用者輸入】給予簡短營養建議。
【熱量參考資料庫 (這是字典,不要計算這裡的熱量!)】
{{ JSON.stringify($json) }}
【使用者輸入 (這才是我吃的)】
"{{ $('Notion Trigger').item.json['餐點名稱'] }}"
【用餐時間 (UTC)】
"{{ $('Notion Trigger').item.json['用餐時間'] }}"
【輸出格式 (嚴格遵守 JSON)】
請回傳純 JSON,不要有 markdown:
{
"calories": 450,
"meal_type": "點心",
"cost": 25,
"analysis": "..."
}
步驟 14:開啟「Output Content as JSON」選項,這能幫助下一個節點準確擷取 AI 分析的內容,接著點選「Execute Step」執行測試。
步驟 15:回到畫布新增節點,搜尋「Notion」並選擇「Update a database page」。
步驟 16:在 Database Page 選項中選擇「By ID」。
步驟 17:將 Notion Trigger 的 ID 拖曳至 Database Page ID 欄位中,接著選擇「Add Property」。
步驟 18:在 Key Name or ID 選擇「預估熱量」。
步驟 19:在 Key Name or ID 選擇「預估熱量」,在 Number 欄位輸入以下表達式,表示要回傳 AI 解析內容中 calories 的值,並點選「Add Property」:
{{JSON.parse($json.content.parts[0].text).calories}}
步驟 20:依照相同的步驟,選擇對應欄位並填入要回傳的值後,點選「Execute Step」執行測試。:
-
餐費 (Number): {{ JSON.parse($json.content.parts[0].text).cost }}
-
餐別 (Select): {{ JSON.parse($json.content.parts[0].text).meal_type }}
-
AI 營養分析 (Text): {{ JSON.parse($json.content.parts[0].text).analysis }}


