ゴールと前提条件
このワークフローで実現できること
プロジェクト管理において、定期的な進捗レポートの作成は非常に重要な業務です。しかし、各メンバーのタスク状況を確認し、データを集計し、見やすいレポートにまとめて関係者に配信する作業は、想像以上に時間がかかります。
このワークフローでは、Notionに記録されたプロジェクト情報を自動的に収集し、ChatGPTで分析・整形して、定期的にSlackで配信する仕組みを構築します。
具体的には以下のことが実現できます:
- 毎週決まった曜日・時間に自動でレポートを生成
- 各タスクの進捗率、完了/未完了の状況を自動集計
- 遅延しているタスクやリスクを自動で抽出
- ChatGPTによる自然な文章でのサマリー生成
- Slackの指定チャンネルに自動配信
前提となる環境
このワークフローを実装するには、以下のツールとアカウントが必要です:
- Notion:プロジェクト管理データベースを構築済み(タスク管理テーブルがあること)
- Make(旧Integromat):各ツールを連携させる自動化プラットフォーム(無料プランでも可能)
- ChatGPT API:レポートの分析と文章生成に使用(API利用料が発生)
- Slack:レポート配信先(無料プランでも可能)
Notionでは、最低限以下のプロパティを持つタスク管理データベースを用意しておくことをおすすめします:
- タスク名(テキスト)
- 担当者(ユーザー)
- ステータス(セレクト:未着手/進行中/完了など)
- 進捗率(数値または選択肢)
- 期限(日付)
- 優先度(セレクト:高/中/低)
全体フローの俯瞰図
このワークフローは、4つの主要なステップで構成されています:
- トリガー:定期実行の設定
毎週金曜日の17時など、決まったタイミングでワークフローを自動起動します。Makeのスケジュール機能を使用します。 - データ収集:Notionからプロジェクト情報を取得
NotionのAPIを通じて、プロジェクトデータベースから全タスクの最新情報を取得します。完了済み・未完了、期限の過ぎたタスクなどを収集します。 - AI処理:ChatGPTでレポートを生成
取得したデータをChatGPT APIに送信し、自然な文章でのサマリー、注意すべきポイント、進捗の分析結果を生成します。数値データだけでなく、文脈を理解した報告書を作成できます。 - 配信:Slackへ自動投稿
生成されたレポートを整形し、Slackの指定チャンネル(例:#project-reports)に自動投稿します。メンションを付けて関係者に通知することも可能です。
このフローにより、毎週手作業で1〜2時間かかっていたレポート作成が、完全自動で数分以内に完了します。しかも、人間が見落としがちなリスクやパターンをAIが発見してくれるため、レポートの質も向上します。
使用するツールと役割
Notion:プロジェクト情報の一元管理
Notionは、このワークフローにおける「データの源泉」です。日々のタスク管理、進捗の更新、メンバー間の情報共有はすべてNotionで行います。
このワークフローでの役割:
- プロジェクトのタスク一覧を管理
- 各タスクのステータス、担当者、期限などを記録
- Make経由でデータを提供するAPI機能
Notionは無料プランでも十分に使用できますが、APIアクセスを設定する必要があります。
Make:ワークフロー全体の司令塔
Make(旧Integromat)は、このワークフローの「指揮者」です。各ツールを連携させ、データの受け渡しやタイミング制御を担当します。
このワークフローでの役割:
- 定期実行のスケジュール管理(毎週金曜17時など)
- NotionからデータをAPIで取得
- 取得したデータを整形してChatGPTに渡す
- ChatGPTからの返答をSlackに送信
- エラーハンドリングと再試行の制御
Makeは視覚的にワークフローを設計できるため、プログラミング知識がなくても扱えます。無料プランでは月1,000オペレーションまで利用可能です。
ChatGPT API:レポートの分析と文章生成
ChatGPT APIは、このワークフローの「分析者」兼「ライター」です。単なるデータの羅列ではなく、人間が読みやすい形式でレポートを作成します。
このワークフローでの役割:
- タスクデータを分析し、重要なポイントを抽出
- 進捗率の傾向や遅延リスクを判断
- 自然な日本語でエグゼクティブサマリーを生成
- 具体的なアクションアイテムを提案
ChatGPT APIは従量課金制です。GPT-4を使用すると精度が高まりますが、コストを抑えたい場合はGPT-3.5-turboでも十分に機能します。1回のレポート生成で数円〜数十円程度です。
Slack:レポートの配信先
Slackは、このワークフローの「配信チャネル」です。生成されたレポートをチームメンバーに届けます。
このワークフローでの役割:
- 定期レポートを指定チャンネルに自動投稿
- 関係者へのメンション通知
- 過去のレポートを検索可能な形で保存
Slackの無料プランでも十分に使用できます。Incoming Webhookまたは公式APIを使って投稿します。
手順詳細(ステップバイステップ)
STEP 1:Notionでプロジェクト管理データベースを準備
まず、Notionでプロジェクト管理用のデータベースを構築します。すでにタスク管理をNotionで行っている場合は、そのデータベースを使用できます。
データベースの作成手順:
- Notionで新しいページを作成し、「テーブル」を選択
- データベース名を「プロジェクトタスク管理」などに設定
- 以下のプロパティを追加:
- タスク名(タイトル):デフォルトで存在
- 担当者(ユーザー):誰が担当しているか
- ステータス(セレクト):未着手/進行中/レビュー中/完了
- 進捗率(数値):0〜100%で入力
- 期限(日付):タスクの締切
- 優先度(セレクト):高/中/低
- 説明(テキスト):タスクの詳細
- 実際のプロジェクトタスクを数件入力してテスト用データを作成
Notion API設定:
- Notion Integrationsページにアクセス
- 「新しいインテグレーション」を作成
- インテグレーション名を入力(例:「Makeワークフロー」)
- 作成後、Internal Integration Tokenをコピーして安全な場所に保存
- プロジェクトタスク管理データベースのページで、右上の「…」→「接続」→作成したインテグレーションを選択
- データベースIDを取得:ブラウザのURLから `https://notion.so/データベースID?v=…` の「データベースID」部分をコピー
つまづきポイント:データベースIDは32文字の英数字です。URLにハイフンが含まれている場合は除去してください。
STEP 2:Makeでシナリオを作成
Makeにログインし、新しいシナリオを作成します。
シナリオ作成の手順:
- Makeにログインし、「Create a new scenario」をクリック
- シナリオ名を「週次プロジェクト進捗レポート自動生成」などに設定
- 最初のモジュールとして「Schedule」を追加
Scheduleモジュールの設定:
- Interval:1 week
- Days:Friday(金曜日)
- Time:17:00(午後5時)
- タイムゾーンを「Asia/Tokyo」に設定
これで毎週金曜日の17時に自動実行されるトリガーが完成しました。
STEP 3:NotionからデータをMakeで取得
Scheduleモジュールの後に「Notion」モジュールを追加します。
Notionモジュールの設定:
- Scheduleの右側の「+」ボタンをクリック
- 「Notion」を検索して選択
- アクション:「Search Objects」を選択
- 「Create a connection」でNotion接続を設定:
- Connection name:「Notion API」
- Internal Integration Token:STEP 1で取得したトークンを貼り付け
- Database ID:STEP 1で取得したデータベースIDを入力
- Filter:必要に応じて条件を設定(例:ステータスが「完了」以外のタスクのみ取得)
- Limit:100(取得する最大タスク数)
つまづきポイント:初回接続時に「Access denied」エラーが出る場合は、STEP 1のインテグレーション接続を再確認してください。データベースに明示的にインテグレーションを追加する必要があります。
STEP 4:取得データを整形してChatGPTに送信
Notionから取得した生データをChatGPTが理解しやすい形式に整形します。
データ整形モジュールの追加:
- Notionモジュールの後に「Tools」→「Set Variable」モジュールを追加
- Variable name:「tasksSummary」
- Variable value:以下のような形式でNotionデータを整形
プロジェクト進捗データ: 全タスク数:{{length(Notionモジュール.results)}} 完了タスク:{{Notionモジュール.results[ステータス="完了"]のカウント}} 進行中タスク:{{Notionモジュール.results[ステータス="進行中"]のカウント}} タスク詳細: {{Notionモジュール.results}}
ChatGPTモジュールの追加:
- Set Variableの後に「OpenAI」モジュールを追加
- アクション:「Create a Completion (GPT-3 or GPT-4)」を選択
- 接続設定:OpenAIのAPI Keyを入力(こちらで取得)
- Model:「gpt-4」または「gpt-3.5-turbo」を選択
- Messages:以下のプロンプトを設定
ChatGPT用プロンプト例:
あなたはプロジェクトマネージャーのアシスタントです。
以下のプロジェクトデータを分析し、週次進捗レポートを作成してください。
【レポート作成の指示】
1. エグゼクティブサマリー(全体の進捗状況を3〜4行で要約)
2. 完了したタスク(今週完了したタスクをリストアップ)
3. 進行中のタスク(現在進行中のタスクと進捗率)
4. 注意が必要な項目(期限が近い、遅延しているタスクを強調)
5. 来週のフォーカスポイント(優先すべきタスクを提案)
読みやすく、簡潔に、ビジネスライクなトーンで作成してください。
【プロジェクトデータ】
{{tasksSummary}}
Temperature:0.7(バランスの取れた創造性)
Max tokens:1500(十分なレポート長)
STEP 5:生成されたレポートをSlackに投稿
ChatGPTが生成したレポートを整形し、Slackに投稿します。
Slackモジュールの追加:
- OpenAIモジュールの後に「Slack」モジュールを追加
- アクション:「Create a Message」を選択
- 接続設定:Slackワークスペースに接続(OAuth認証)
- Channel:レポートを投稿するチャンネルを選択(例:#project-reports)
- Text:以下の形式でメッセージを作成
Slackメッセージ例:
📊 **週次プロジェクト進捗レポート**
📅 {{formatDate(now, "YYYY年MM月DD日")}}
{{OpenAIモジュール.choices[0].message.content}}
---
🤖 このレポートは自動生成されました
📝 詳細はNotionで確認:[プロジェクトリンク]
Markdown形式を有効にするために、「Parse mode」を「markdown」に設定します。
つまづきポイント:Slackの権限エラーが出る場合は、Slack Appの設定で「chat:write」権限が付与されているか確認してください。
STEP 6:エラーハンドリングとテスト実行
ワークフローが途中で失敗した場合に備え、エラーハンドリングを設定します。
エラーハンドリング設定:
- 各モジュールを右クリック→「Add error handler」
- エラー時の動作を設定:
- 「Ignore」:エラーを無視して続行
- 「Retry」:自動で再試行(推奨)
- 「Rollback」:処理を巻き戻す
- 特にNotionとChatGPT APIは通信エラーが発生する可能性があるため、「Retry」を2〜3回設定することを推奨
テスト実行:
- シナリオ画面下部の「Run once」ボタンをクリック
- 各モジュールが順番に実行され、データの流れが可視化されます
- エラーが出た場合は、該当モジュールをクリックして詳細を確認
- Slackにレポートが正しく投稿されたか確認
テストが成功したら、画面右下の「Scheduling」をONにして、定期実行を有効化します。
自動化前後でどう変わるか(ビフォーアフター)
ビフォー:手動でのレポート作成
所要時間:毎週1.5〜2時間
- Notionの各タスクを1つずつ確認:30分
- 進捗率を計算し、エクセルやスプレッドシートに転記:20分
- 遅延タスクや注意点を手動で抽出:15分
- レポート文章を執筆:30分
- Slackやメールで配信、フィードバック対応:15分
問題点:
- 毎週同じ作業を繰り返すため、モチベーションが下がる
- 手作業のため、データの転記ミスや見落としが発生しやすい
- 作成者の主観や疲労度によってレポートの質にばらつきが出る
- 金曜日の夕方という忙しい時間帯に作業が集中する
アフター:自動化されたレポート作成
所要時間:初回設定2〜3時間、以降は0分(完全自動)
- 毎週金曜17時に自動実行:0分
- Notionから最新データを自動取得:数秒
- ChatGPTが分析してレポート生成:30秒〜1分
- Slackに自動配信:数秒
- 人間の作業:内容確認と必要に応じて補足コメント:5分
改善効果:
- 時間削減:週2時間×年間52週=年間104時間(約13営業日分)の削減
- ミス削減:データの自動取得により転記ミスがゼロに
- 品質向上:AIによる一貫した分析により、見落としが減少
- リアルタイム性:Notionのデータが更新されれば、即座に最新情報がレポートに反映
- メンバー間の共有向上:定期的に同じ形式で配信されるため、情報の透明性が向上
定量的な効果測定
| 指標 | 自動化前 | 自動化後 | 改善率 |
|---|---|---|---|
| 週次レポート作成時間 | 1.5〜2時間 | 5分 | 95%削減 |
| データ転記ミス | 月1〜2件 | 0件 | 100%削減 |
| レポート配信の定時性 | 70%(遅延あり) | 100% | 30%向上 |
| チーム満足度 | 普通 | 高い | 定性的向上 |
応用・拡張アイデア
1. 通知方法をカスタマイズ
メール配信への拡張:
Slackの代わりに、またはSlackと並行して、GmailやOutlookでレポートをメール送信することも可能です。Makeの「Email」モジュールを追加し、経営層や外部ステークホルダーにも共有できます。
Microsoft Teams対応:
Slackの代わりにMicrosoft Teamsを使用している場合は、MakeのTeamsモジュールで同様に実装できます。
2. ChatGPTによる高度な分析を追加
リスク予測機能:
過去数週間の進捗データを蓄積し、ChatGPTに分析させることで、「このペースだと締切に間に合わない可能性が高い」といったリスク予測を追加できます。
改善提案機能:
繰り返し遅延しているタスクのパターンを分析し、「このタスクは担当者を増やすべき」「優先度を見直すべき」といった改善提案をAIに生成させることも可能です。
3. Googleスプレッドシート連携で長期データ蓄積
週次レポートの数値データ(完了率、遅延タスク数など)をGoogleスプレッドシートに自動記録し、長期的なトレンド分析やグラフ化を行えます。
実装方法:
- MakeでGoogleスプレッドシートモジュールを追加
- Notionから取得したデータを集計
- 日付、完了率、遅延数などをスプレッドシートの新しい行に追加
- スプレッドシート側でグラフを作成し、Slackレポートに画像を添付
4. 異常検知アラート機能
通常の週次レポートとは別に、重大な問題が発生した場合に即座に通知する仕組みを追加できます。
例:
- 期限超過タスクが5件以上になったら、即座にSlackでアラート
- 重要タスク(優先度:高)が1週間進捗0%の場合、担当者にメンション
- プロジェクト全体の進捗率が前週から10%以上低下した場合、プロジェクトマネージャーに通知
5. 多言語対応レポート
グローバルチームの場合、ChatGPTに日本語と英語の両方でレポートを生成させ、それぞれの言語のSlackチャンネルに投稿することも可能です。
よくある質問・つまづきポイントQ&A
Q1. Makeのシナリオが実行されない / トリガーが発火しない
A. 以下の点を確認してください:
- シナリオの「Scheduling」がONになっているか確認
- Makeアカウントの無料プラン制限(月1,000オペレーション)を超えていないか確認
- Scheduleモジュールのタイムゾーン設定が正しいか確認(Asia/Tokyo)
- Makeアカウントの支払い情報が最新か確認(無料プランでも登録が必要な場合あり)
Q2. Notionからデータが取得できない / 「Access denied」エラー
A. Notion側の権限設定を確認してください:
- Notionのデータベースページで、右上「…」→「接続」→作成したインテグレーションが追加されているか確認
- インテグレーショントークンが正しくコピーされているか再確認
- データベースIDにハイフンが含まれていないか確認(除去する必要があります)
- Notionワークスペースの管理者権限がある場合は、ワークスペース設定でAPI連携が有効か確認
Q3. ChatGPTのレポートが期待通りの内容にならない
A. プロンプトの調整が必要です:
- プロンプトをより具体的に書き直す(「3〜4行で要約」など具体的な指示を追加)
- Few-shot learning:理想的なレポート例をプロンプトに含める
- Temperature値を調整(0.3〜0.5に下げるとより一貫性が増す)
- GPT-4を使用する(より高度な理解力)
Q4. Slackへの投稿が失敗する / 権限エラー
A. Slack Appの権限を確認してください:
- Slack App設定ページで「OAuth & Permissions」セクションを確認
- 「Bot Token Scopes」に以下が含まれているか確認:
- chat:write
- chat:write.public(パブリックチャンネルに投稿する場合)
- 権限を追加した後、ワークスペースに再インストールする必要があります
- 投稿先チャンネルにBotが参加しているか確認(/invite @Botname)
Q5. ChatGPT APIのコストが心配
A. コスト最適化のポイント:
- GPT-3.5-turboを使用する(GPT-4の約10分の1のコスト)
- Max tokensを適切に制限(1500程度で十分)
- 週1回の実行であれば、月額数百円程度で運用可能
- OpenAIの使用量ダッシュボードで定期的にコストを確認
- 必要に応じてレート制限を設定
Q6. Notionのデータ構造が複雑で、うまく取得できない
A. データ構造の簡素化を検討してください:
- Makeの「Iterator」モジュールを使用して、配列データを1件ずつ処理
- Notion側で「フィルタービュー」を作成し、必要なデータだけを取得
- Makeの「Text Parser」モジュールでデータを整形
- JSONデータの構造をMakeの「JSON Parse」モジュールで解析
まとめ:まずどこから着手すべきか
この記事では、プロジェクト進捗レポートを完全自動化するワークフローをご紹介しました。しかし、いきなりすべてを実装する必要はありません。段階的に導入することで、リスクを最小限に抑えながら効果を実感できます。
推奨する導入ステップ
第1段階:手動トリガーで基本機能を試す(初週)
- Makeでシナリオを作成し、Scheduleモジュールではなく「手動実行」ボタンでテスト
- NotionからデータをMakeで取得して、Slackに単純なテキストを投稿するだけの最小構成を試す
- この段階ではChatGPTは使わず、データが正しく流れるか確認
第2段階:ChatGPTでレポート生成を追加(2週目)
- ChatGPT APIを接続し、シンプルなプロンプトでレポート生成を試す
- 生成されたレポートの質を確認し、プロンプトを調整
- まだ手動実行で、毎週金曜日に自分でボタンを押して実行
第3段階:スケジュール実行を有効化(3週目)
- 手動実行で安定して動作することを確認したら、Scheduleモジュールを追加
- 毎週金曜17時に自動実行されるように設定
- 最初の1〜2回は実行結果を注意深く確認し、問題があれば調整
第4段階:応用機能を追加(4週目以降)
- Googleスプレッドシート連携でデータ蓄積
- 異常検知アラート機能
- レポート内容のさらなる充実化
最初の一歩として:今日できること
今すぐ始められる最初のアクションは、Notionでプロジェクト管理データベースを整えることです。既にNotionを使っている場合でも、以下の点を確認してください:
- タスクにステータス(未着手/進行中/完了)が設定されているか
- 担当者が明確になっているか
- 期限が入力されているか
これらが整っていれば、あとはMakeとChatGPTを繋ぐだけで、すぐに自動化の効果を実感できます。
さらに学びたい方へ
このワークフローは、他の業務にも応用できます:
- 営業チームの週次KPIレポート自動生成
- カスタマーサポートの対応状況サマリー配信
- マーケティングキャンペーンの効果測定レポート
- 採用活動の進捗レポート
一度このワークフローをマスターすれば、同じパターンを他の業務にも展開できるようになります。週次レポート作成の自動化は、業務効率化の第一歩として最適です。
ぜひ、まずは小さく始めて、徐々に自動化の範囲を広げていってください。プロジェクト管理の負担が劇的に軽減され、本来注力すべき戦略的な業務に時間を使えるようになるはずです。