🔥
📚 Notion × LINE Bot × Flex Message でつくる課題リマインダー
まずは完成イメージをどうぞ👇
こんにちは、大学で課題に追われる生活をしているものです。
今回は Notion で管理している課題を、自作の LINE Bot でおしゃれに通知するリマインダーを作りました。
通知の見た目・仕組みともに全力で取り組んだので、同じように「LINEでいい感じにリマインドしたい!」と思ってる人の参考になれば嬉しいです 🙌
🎯 やりたかったこと
- Notion に登録した課題を LINE で通知したい
- 提出期限が近いものだけ通知
- 完了済みの課題は通知スキップ
- Flex Message で見た目よく通知
- あと◯日で提出も表示
🛠 構成
- Notion API + Integration
- Google Apps Script(GAS)
- LINE Messaging API
- LINE Flex Message(carousel)
🧱 Notionの課題DB構成
カラム名 | 種類 | 用途 |
---|---|---|
名前 | タイトル型 | 課題名(第1回レポートなど) |
授業 | Relation型 | 授業DBとつなげる |
提出期限 | 日付型 | 締切日 |
タイプ | セレクト型 | 未着手/対応中/完了🙌 など |
実際の写真
💥 ハマったところ & 解決法
❌ relationが空になる
Notionでは授業DBと課題DBをrelationでつなげてるのに、GASからは relation: []
になってる現象…。
原因: Integrationが課題DBしか見えてない
解決法: 授業DBにもIntegrationを共有する!
❌ 授業名が取れない
relationから取れるのは id
だけ。授業名(タイトル)を出したい!
解決法: /v1/pages/{id}
で授業ページを取得 → title
プロパティを動的に取得!
✨ Flex Messageの構成(1件分)
- 📚 ヘッダー:固定タイトル
- 授業名(太字・青)
- 課題名(小さめ)
- 提出日(📅 + 曜日付き)+ あと◯日(⏰)
📚 課題リマインド
ゼミナール3
第1回レポート
📅 2025/4/24(木)|⏰ あと3日
複数あると、スワイプできるように
carousel
で横に並びます!
🧪 実装のポイント
-
title
プロパティは自動検出 → 授業DBが変わっても壊れない - 曜日を表示:
(月)
のように整形 -
あと◯日
は提出日と今日の差分から算出 -
タイプ === 完了 🙌
は通知対象から除外
✅ 作ってよかった点
- 毎朝8時にLINEが届く安心感
- 提出忘れがほぼゼロに!
- フォーマット統一されてて見やすい
- 課題の「気づき遅れ」がなくなった
🚀 今後やりたいこと
- 提出ボタン追加 → Notion側の「完了 🙌」を自動チェック(Webhook)
- 課題のリンクボタン付きに
🙌 最後に
「Notionで課題管理してる人」「通知Bot作ってみたい人」「Flex Message使ってみたい人」にとって、この記事が参考になれば幸いです!
Discussion