跳至主要內容

里程碑

不用再打開 Notion:用 LINE 直接新增到我的 To-do List

Dana @seni發布於 已編輯

為什麼想做這個?

我原本就有在使用 Notion 的 To-do List 。但實際使用一段時間後,我發現有時候我只是突然想到一件事情,例如:「明天要交作業」、「有空要整理照片」如果不馬上記下來可能很快就忘記了,但如果每次都要先打開 Notion、找到 To-do List、建立新項目、選分類、勾選 Must do、再填日期,其實會有一點麻煩。

所以我開始想:

如果我可以直接在 LINE 裡面講一句話,它就自動幫我整理成 Notion To-do,會不會方便很多?


設計理念

我希望它不只是堪用但沒有很好用,而是一個真的會想每天打開的小工具。所以我花了很多時間在構想這個chat bot應該要達到哪一些功能,也希望風格可以統ㄧ,這樣我每天點來開看的時候覺得賞心悅目,會更有動力去使用它!

  • 整體視覺風格

以黑 × 白 × 灰作為主要視覺,希望它看起來簡單、乾淨,有一點手帳風格的感覺,可以包含一點可愛的元素,回覆訊息要清楚明瞭,一眼就可以看懂

LINE 官方帳號的頭像也做成黑白蠟筆風的小企鵝 (光看頭像就會很想點進去跟他聊天對吧!> < )

  • LINE 回覆風格

✦ 狀態 / 標題
📎 To-do
📁 Project
└─ 子任務
🗓️ 日期
🖤 Must do
🤍 非必要
☁️ Reminder
☑️ 完成
🔎 搜尋失敗
♡ ✧˖° ✿ 🩶 ꕤ 裝飾與結尾


Notion To-do 結構

原本我的 Notion To-do List 本身就有一套分類。主要分成以下四種:

1. Task

一般需要完成的工作

Example:

程式碼
交資料結構作業
整理照片
準備宿營行李

2. Project

比較大型、底下會再拆成很多 Task 的工作

Example:

程式碼
SAD Midterm
└─ 查企業相關資料
└─ Gantt Chart
└─ NPV
└─ 整理簡報

3. Reminder

提醒性質,不用有什麼成果

Example:

程式碼
提醒我明天去蝦皮領包裹

4. 2min

兩分鐘左右可以快速完成的小事情

Example:

程式碼
回訊息
傳檔案
確認資料

除此之外,我的 To-do 還有:Must do、到期日、完成狀態、子任務等等的欄位,所以這個自動化需要先理解使用者的需求並加以分類,才可以成功填寫到對應欄位上。


整體 Workflow

這次主要使用:LINE Messaging API + n8n + OpenAI + Notion

整體概念大概是:

程式碼
LINE
↓
Webhook
↓
AI Agent
↓
Structured Output Parser
↓
Switch
├─ add
├─ complete
├─ help
└─ clarify
↓
不同條件判斷
↓
Notion
↓
LINE 回覆

看起來可能有點複雜,但其實就是把每一種可能情況慢慢拆開。


AI 怎麼判斷我要做什麼?

LINE 傳入來的自然語言會先交給 AI Agent

Example:

程式碼
這禮拜我要完成 SAD Midterm Project

AI 需要整理成:

json
{
  "action": "add",
  "title": "SAD Midterm",
  "category": "proj.",
  "mustDo": true,
  "dueDate": null,
  "parentProject": null
}

這邊其實很能會遇到很多實際操作會遇到的問題,需要在操作的過程中一一修改。


遇到的困難

這次其實花的時間比我一開始想像中多很多。

雖然我之前已經看完小屋無事和ai小精靈的課程,但真的開始做自己的東西後,才發現很多情況是課程裡不會剛好教到的。所以大部分的時候都是遇到問題去請教ai,理解原因後重新修改流程,最後再重新測試。

雖然過程繁複,也花了很多時間測試,但在這個過程中,反而也學到了很多原本沒有碰過的東西

以下列出幾個製作的過程遇到的問題:

  • Project 與子任務

Project 是這次比較麻煩的一部分

例如輸入:

程式碼
這禮拜我要完成 SAD Midterm Project

一開始 AI 會把 Project 名稱存成:

程式碼
完成 SAD Midterm Project

但下一次如果我說:

程式碼
SAD Midterm 包含查企業相關資料

它就會找不到原本的 Project。

所以後來我加入新的Project命名原則:

程式碼
SAD Midterm
SAD Midterm Project
SAD Midterm 專案

最後都統一成:SAD Midterm

這樣後面的只要打名稱可以都搜尋的到

  • 日期分開處理

這也是我做到一半才發現的問題

如果使用者說:

程式碼
「明天交資料結構作業」

系統可以得到:
dueDate = 2026-10-13

但如果使用者說:

程式碼
有空再整理照片

系統得到:
dueDate = null

Notion 的日期欄位不能直接接收 null,否則會出現:Invalid date

所以最後應該要多加一層 IF來做判斷:

程式碼
有日期?
├─ yes → Create Page with Date
└─ no  → Create Page without Date
  • 自然語言不是固定格式

「完成」這兩個字,不一定代表事情已經完成
像是「這禮拜我要完成 SAD Midterm」代表未來要做,所以是 add
但像「SAD Midterm 已經完成了」應該要分類到 complete

AI有時候會判斷錯「完成」背後真正的意思,這也是後來測試時花很多時間調整的地方

  • 搜尋不到時 Workflow 會直接停住

一開始 Notion Search 如果完全沒有結果,後面的 Code 跟 IF 根本不會執行。

所以即使我已經寫好:「找不到這個 To-do」的回覆模板 LINE 還是不會回。

後來才發現應該要打開:

程式碼
Always Output Data

讓沒有結果時也可以繼續往下跑


成果

請參考下面的附圖!

結語

我那時候在思考做什麼成品出來的時候想要真的做出一個自己會用到的東西,所以我花了一段時間確定自己真正需要的功能、要如何達成之後,才開始動工。過程中當然遇到很多波折,但也就是在這些遇到的問題裡,慢慢把它修成我自己想像中的樣子。
最後完成後,我自己其實蠻滿意的。而且現在 n8n 還剩大概一個禮拜試用期。所以接下來的目標就是:用爆它! 不然花這麼多時間做完結果沒什麼用到的話,我覺得超級可惜 XD

@…
@…

20 個愛心16 則留言

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

留言

  1. Mylie @mc2690

    我也有在用Notion,之前就是因為Notion To-Do 頁面太複雜又很花時間去整理,所以現在都只是把當做reminder用,而且電腦手機平板裡都要下載notion不然突然想起有事要做就沒辦法好好紀錄,所以我很喜歡你的想法!如果直接從line做到「新增」與「完成」待辦,感覺會輕鬆超多。

  2. 上哲 @nuva.ceo

    學個 Flex 讓這個呈現方式更直覺!!這裡推個:developers.line.biz/flex-simulator/

  3. 晉安 @0356

    已收藏,感謝你的分享!感覺 To-Do List 超實用的,我會逐幀學習你的方法。

    只是我自己習慣用的是 Google 的那個 To Do 軟體,所以可能會先從那個下手,等到熟練之後,再把近期的專案用 Notion 來整理!

  4. 蕭蕭 @hsiao.1114_

    這個好實用!!做為一個碩士研究生,真的很常突然多出很多待辦事項
    但也沒辦法馬上整理到自己的to-do list
    真的超級需要這個的

  5. XiuYan @0218_xiuyan

    對你所說的非常有感!上哲教的跟實際想要做的還是會有落差,這時候就要靠自己的能力去自學了。我也覺得這個功能很實用,我原本也是有在寫紙本待辦事項的人,但常常忙起來後就忘記了。基本上都要靠那不靠譜的腦袋(?)期待版主之後回饋使用上的心得~

  6. 安安 @annann111

    WOW!! 連接到其他APP這樣感覺好實用!!

  7. 尼莫 @fiiiii

    這個真的超實用的 不然像我就是會馬上忘記 有時候也會忘記自己到底有沒有完成 這個功能我真的超級需要 一定也有超多人想用

  8. Azaria/韓寒 @az.azarrria

    天啊,你這個好實用!!!我就是因為覺得麻煩,後來漸漸沒有使用notion,看完你的分享,如果可以裝的話,感覺又可以把notion撿回來用了!

  9. 欸樓 @l.___

    喔天啊這個超實用的欸!!我自己是一個常常因為寫代辦很麻煩就懶得寫(?)的人,如果這個可以實裝我想應該會有很多人想用~

  10. 雷陣雨 @rainafternoon

    哇哇哇我覺得你的動機超級寫實的(我也是QQ
    我自己最後是放棄把代辦一直放在太多APP裡面,所以最後統一集中google
    感覺如果在line裡面也很實用!!
    之後可能可以嘗試合併Line 原本的日曆功能?
    (不知道能不能抓他的資料就是了
    佩服佩服!!!

  11. 安妮 @annie_.323

    超級實用!我剛好近期因行程比以往的滿,所以也在更動自己的to-do-list和行事曆的紀錄方式,直接能在Line更新Notion這點好方便,向你學習你的方法應用在我的實體生活中。

  12. Jessie @jessie_95

    好厲害!我也是有在用 notion 但是也常常覺得新增一筆資料蠻麻煩的,要點很多還要思考屬性之類的。
    除了 n8n 的串接架構外,我也很喜歡你的 notion to-do 的架構分類,我的 todo 目前都是混在一起的,但你分了:一般任務(task)、project、remindar、2min,很清楚,這樣就能知道什麼時候要做什麼(比如說只有零碎時間時,就可以找 2 min 來做)、是否有成果產出等,我覺得很棒、值得學習。

  13. Ginny @tzjing222

    之前有用過notion但還沒有很會使用,你的作品可以節省搜尋notion專案的時間,而且還有溫馨的鼓勵小語很療癒

  14. Connie @conniesinchen23

    超級實用,做為形成常常排滿的人的是一個很棒的工具,在也不用特地點上notion 裡了,不僅花費時間還需要一直重複做。

  15. 婕妤 @jill9702277

    我也有用Notion,確實會覺得操作起來很麻煩,每次都要花很多時間去整理。我覺得你的方法很實用,我會學起來。

  16. Dana @seni

    被海巡到了! 我會來研究看看ㄉ 謝謝上哲 🙌