Blog

ブログ

AI関連

Notionのタスクを毎朝Discordに自動送信する

📬 完成形

毎日 0:00 にDiscordへ自動送信

おはようございます! ☀️

【昨日の完了タスク】
✅ 家具ショップサイト【Shopify】
✅ 電気LP

【今日のタスク】
★電気LP
 ・テスト環境アップ
 ・提出準備
★Udemy SWELL講座

【今日のサブタスク】
★タスク管理の自動化を考える

毎週 月曜 0:00 に追加送信

週次レポート 📅

【先週実施タスク】
★電気LP
★家具ショップサイト【Shopify】
★Udemy SWELL講座

【今週実施タスク】
★電気LP(持ち越し)
★WordPress投稿自動化の仕組みを作る

🧰 用意するもの

  • Notion アカウント + インテグレーション(APIトークン)
  • Discord サーバー + Webhook URL
  • Python 3.x(venv推奨)
  • Mac(launchd 使用)

🗂️ NotionのタスクDB構成

プロパティ名種類選択肢・備考
メインタスクタイトルタスク名
状態セレクト今日の必須 / 今日のサブ / 今週やる / 進行中 / 完了 / 保留
カテゴリセレクト案件 / 学習 / 自動化 / プライベート
優先度セレクト高 / 中 / 低
完了チェックボックス当日完了したらON
週報セレクト先週実施タスク / 今週実施タスク / 保留
タスク詳細テキスト改行区切りでサブタスクとして展開される

サブタスクの扱い

タスク詳細 に改行区切りで内容を書くと、Discord通知時にサブタスクとして展開される。

テスト環境アップ
提出準備

★電気LP
 ・テスト環境アップ
 ・提出準備

⚙️ スクリプトの仕様

Pythonスクリプト morning_briefing.py が、Notion APIからタスクを取得してDiscord Webhookへ送信する。

日次モード(引数なし)

以下を取得して送信する。

  • 完了 = ON
    → 【昨日の完了タスク】
  • 状態 = 今日の必須
    → 【今日のタスク】
  • 状態 = 今日のサブ
    → 【今日のサブタスク】

週次モード(--weekly

以下を送信する。

【先週実施タスク】

  • 週報 = 先週実施タスク

【今週実施タスク】

  • 週報 = 先週実施タスク
    かつ
    完了 = OFF
    (持ち越しタスク)
  • 週報 = 今週実施タスク

表示順

カテゴリ順で固定している。

  1. 案件
  2. 学習
  3. 自動化
  4. プライベート

注意点

Notion API

  • APIトークンが必要
  • DBにインテグレーションのアクセス権を付与する必要がある

Discord Webhook

Cloudflare対策として User-Agent ヘッダーが必要。

headers = {
"Content-Type": "application/json",
"User-Agent": "MorningBriefingBot/1.0",
}

環境変数

APIトークンやWebhook URLは .env で管理する。

NOTION_TOKEN=secret_xxxxxxxx
DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/xxxxxx/xxxxxx

🖥️ 自動実行の設定(Mac / launchd)

Macの launchd を使って定期実行する。

日次実行

  • 毎日 0:00
  • morning_briefing.py を実行

週次実行

  • 毎週 月曜 0:00
  • morning_briefing.py --weekly を実行

登録コマンド

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.morningbriefing.daily.plist

launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.morningbriefing.weekly.plist

🔄 毎日の運用フロー

前日夜

  • 翌日のタスクを 今日の必須 / 今日のサブ に設定
  • タスク詳細 にサブタスクを記載

日中

  • 完了したタスクの 完了 をON

翌朝

  • Discord通知を日報へコピペ
  • 完了 チェックをリセット

毎週(日曜夜)

  • 先週分 → 先週実施タスク
  • 今週分 → 今週実施タスク

に設定する。月曜0:00になると、週次レポートが自動送信される。

✨ まとめ

「前日に整理して、朝は受け取るだけ」の流れを作ると、朝の立ち上がりがかなり楽になる。

さらに、

  • 日報作成
  • タスク持ち越し管理
  • 週報のたたき台作成

までまとめて自動化できるようになった。