跳至主要內容

里程碑

自動化幫我紀錄待辦事項 並標記Pending 或是Done

MorningStar @morningstar發布於

目前的 n8n 建置方式

  1. LINE 與 n8n 串接:使用 n8n 的 Webhook 節點接收 LINE Messaging API 傳入的訊息。

主要設定:
HTTP Method:POST
Path:campusmate
Respond:Immediately
使用 Production URL 作為 LINE Developers 的 Webhook URL
在 LINE Developers 開啟 Use webhook
透過 LINE Reply API 回覆訊息
目前已排除 Webhook 驗證錯誤,LINE 傳送訊息後,n8n 能正常觸發工作流程。

  1. AI 自然語言處理:透過 Basic LLM Chain 與語言模型處理使用者輸入,並依照需求輸出固定格式的 JSON,供後續節點判斷。

預計支援的操作類型:
add_task 新增待辦事項
list_tasks 查詢待辦事項
complete_task 完成待辦事項
chat 一般聊天

例如使用者輸入「幫我新增明天完成機器學習作業」,AI 會將訊息轉成任務名稱、期限及操作類型等欄位,再交給後續節點處理。

  1. Google Sheets 資料管理:建立 CampusMate Tasks 試算表,作為待辦事項的儲存空間。

目前規劃的欄位如下:
task_id 任務識別碼
user_id LINE 使用者識別碼
title 任務名稱
due_at 任務期限
status 任務狀態
created_at 建立時間
任務狀態使用 pending 表示待完成,使用 done 表示已完成。

透過 Google Sheets 節點的 Append Row 新增資料,並使用 Get Row(s) 讀取任務;更新任務則使用 Update Row。

  1. n8n 條件分流:使用 IF 節點依照 AI 輸出的 action 判斷後續操作。

add_task:將任務寫入 Google Sheets。
list_tasks:讀取任務資料,整理後回覆 LINE。
complete_task:查找指定任務,確認資料後更新狀態。
chat:進入一般聊天回覆流程。
這種設計可以將 AI 的自然語言理解能力與實際資料操作分開,讓後續增加功能時更容易維護。

四、目前開發成果
LINE Webhook 串接✅
n8n 工作流程正常觸發✅
AI 一般對話與 LINE 回覆✅
Google Sheets 新增資料✅
Google Sheets 查詢流程✅
待辦事項完成狀態更新並刪除⚠️
定時提醒與主動推播❌

五、目前尚待完成的功能

  1. 完整待辦管理:確認新增、查詢、完成三種操作都能端到端正常運作。
  2. 定時提醒:使用 Schedule Trigger 定期檢查期限,並透過 LINE Push API 主動通知使用者。
  3. 錯誤處理:處理 AI JSON 格式錯誤、查無任務、重複任務與 LINE API 失敗等情況。

卡住的地方
流程初期將第二個 AI 節點放錯位置,不小心覆蓋掉 Code 節點解析好的 JSON 意圖標籤。
原先使用 IF 節點僅能雙向判斷,後續改用 Switch 節點才順利展開新增、查詢、完成與聊天四條獨立路線。

Google Sheets 變數與比對限制
首次測試新增資料時,未將欄位切換為 Expression 模式,導致 {{ }} 變數語法被當作純文字直接寫入試算表。
實作完成任務功能時,因 Google Sheets 更新節點預設為「完全比對」,若 AI 抓到的任務名稱與表單內不完全一致(例如「機器學習的作業」與「完成機器學習作業」),就會找不到資料並造成流程無聲中斷。

LINE 回覆未觸發報錯
早期多條分支共用同一個 HTTP Request 節點並寫死前置節點名稱,導致走其他分支時引發「Node hasn't been executed」錯誤,最終透過為每個分支建立獨立的回覆節點,並改用 $json 相對變數才順利解決。

0 個愛心0 則留言

登入並驗證手機後就能留言。登入