0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LINE × Notion タスク管理システム(Webhook・cron対応 完全版)

0
Posted at

⚠️ 本記事について
本記事はAIの補助を受けて作成しています。
内容の正確性には注意していますが、環境差異やバージョン違いにより動作しない可能性があります。
実行する際はご自身の環境に合わせてご確認ください。


■LINE × Notion タスク管理システム 仕様書

■① 概要

■目的

LINEをインターフェースとしてタスク・目標・アイデアを記録し、
Notionで管理しながら毎朝の通知で習慣化を支援する。

■② システム構成

LINE
 ↓
Webhook(Laravel / Railway)
 ↓
Notion API
 ↓
LINE返信 / cron通知

■③ 機能一覧

■① タスク登録機能(LINE → Notion)

■入力

#task 内容

■処理

・タグ抽出
・本文抽出
・Notionへ保存

■出力(LINE返信)

タグ: #task
内容: ○○
保存しました!

【登録タグ一覧】
#今日のタスク #明日の目標 #アイデア

■② タグ管理機能

■仕様

・日本語タグで管理
・Notionのmulti_select使用
・タグ追加可能

■タグ例

・今日のタスク
・明日の目標
・今日の実績
・アイデア
・緊急

■設計ルール

・表記ゆれ防止
・タグ一覧を毎回表示
・重複を防ぐ

■③ Webhook受信機能

■エンドポイント

POST /api/webhook

■処理

・LINEイベント受信
・userId取得
・メッセージ解析
・Notion保存
・LINE返信

■ログ

Log::info($request->all());

■④ userId管理

■取得

Webhookログから取得

■設定

LINE_USER_ID=Uxxxxxxxxxxxx

👉 単一ユーザー前提

■⑤ cronリマインダー機能

■目的

・習慣化
・タスク確認
・振り返り

■構成

cron-job.org
 ↓
GET /api/cron/daily
 ↓
Laravel
 ↓
LINE通知

■実行時間

毎日 05:30(JST)

■cron設定

30 5 * * *
Timezone: Asia/Tokyo

■⑥ cron API仕様

■エンドポイント

GET /api/cron/daily

■処理

  1. Notionからデータ取得
  2. 整形
  3. LINE送信

■レスポンス

{
  "status": "ok"
}

■注意

・レスポンスは軽量化
・デバッグ情報は返さない

■⑦ LINE通知フォーマット

【今日のタスク】
・xxxx

【昨日の目標】
・xxxx

【登録タグ一覧】
#今日のタスク #明日の目標 #アイデア

■④ 非機能要件

■① パフォーマンス

・cronは軽量レスポンス
・Notionデータは最小使用

■② 可用性

・cron-job.org使用
・Railwayで常時稼働

■③ セキュリティ

if (request()->header('X-CRON-TOKEN') !== env('CRON_TOKEN')) {
    abort(403);
}

■④ ログ管理

・laravel.logに出力
・Webhookデバッグ可能

■⑤ エラー対応

■① cronエラー

Failed (output too large)

対応:レスポンス軽量化

■② API誤動作

原因:
・web.phpに定義
・URLミス

対応:

routes/api.php に定義

■③ LINE APIエラー

エラー 原因
Authorization error トークン不備
Authentication failed トークン不正
Access denied API制限

■⑥ 技術構成

■バックエンド

・Laravel

■インフラ

・Railway

■外部サービス

・LINE Messaging API
・Notion API
・cron-job.org

■⑦ 設計思想

単なるメモではなく「習慣化支援システム」

■特徴

・LINEで簡単入力
・自動記録
・自動振り返り
・タグ管理

■⑧ 今後の拡張

■短期

・タグ自動提案
・フィルタ強化

■中期

・複数ユーザー対応
・Web UI

■長期

・AI分析
・優先度自動化

■⑨ 完成状態

毎朝5:30
↓
LINE通知
↓
タスク確認
↓
習慣化

■まとめ

本システムは以下を実現する:

・LINE入力で記録
・Notionで管理
・cronで通知
・習慣化の仕組み化

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?