無料業務自動化

Make×NotionでAI週次タスクレポートを自動生成する

·16 min read·Nexeed Lab
Make.comNotion業務自動化

Make.comとNotion APIを連携し、週次タスク進捗をAIが集計・要約してSlackへ自動投稿するワークフロー構築手順を解説します。

毎週月曜の朝、「先週どのタスクが完了して、何が残っているか」をまとめる作業に時間を取られていませんか。 チームメンバーへの週次レポートを手で書いていると、本来の業務に集中できなくなります。 この記事では Make.comNotion API を組み合わせて、Notionのタスクデータベースから週次進捗を自動収集し、AIが要約してSlackに投稿するワークフローを構築する手順を解説します。

このワークフローで実現できること

構築後のワークフローは毎週月曜の朝9時に自動で以下の処理を行います。

  • 先週分のNotionタスクデータベースを取得する
  • ステータス・担当者・完了率ごとに集計する
  • AIが自然な日本語でサマリーを生成する
  • Slackの指定チャンネルへ投稿する

手動作業は一切不要で、月曜の朝には既にレポートがSlackに届いた状態になります。 週次レポートのために30分〜1時間かけていた作業がゼロになるため、チーム全体の生産性向上に直結します。

前提条件

以下のアカウントとツールを事前に用意してください。

  • Make.com アカウント (無料プランで動作確認可能です)
  • Notion アカウント とタスク管理用データベース
  • Slack ワークスペース と投稿先チャンネル
  • Claude APIキー または OpenAI APIキー (AIサマリー生成に使用します)

Notionデータベースには最低限 タスク名ステータス担当者期限 の4つのプロパティがあると、レポートの質が上がります。 ステータスは「未着手」「進行中」「完了」の3種類のセレクト型にしておくと、集計しやすくなります。

Step 1:NotionインテグレーションとAPIキーの取得

まず、Make.comからNotionのデータベースを読み取るための認証設定を行います。 Notionの 設定 → 接続 → インテグレーションを開発または管理する から新しいインテグレーションを作成します。 名前を Make-WeeklyReport などとし、ワークスペースを選択して保存します。

作成後に表示される シークレットキーsecret_xxx... の形式)をコピーして安全な場所に保管してください。 このキーはMake.comのHTTPモジュールで使用する認証情報になります。

次に、読み取り対象のNotionデータベースを開き、右上の「…」メニューから 接続 → 先ほど作成したインテグレーション を選択します。 この手順を省くとAPIからアクセスできないため、必ず忘れずに設定してください。

データベースのURLは以下の形式になっています。

https://www.notion.so/workspace/{database_id}?v=...

?v= の前にある32文字の英数字が データベースID です。 この値はハイフンなしの32文字で構成されており、後のステップで使用するためメモしておきます。

Step 2:Notionデータベースのクエリ設計

Make.comの HTTPモジュール を使ってNotion APIを直接呼び出します。 Notionの公式APIには「データベースのページ一覧を取得する」エンドポイントがあり、日付条件でフィルタリングできます。

先週のタスクを取得するには、期限プロパティで先週月曜から日曜までを絞り込みます。 以下は先週1週間分のタスクを取得するフィルター条件のJSONです。

{
  "filter": {
    "and": [
      {
        "property": "期限",
        "date": {
          "on_or_after": "{{formatDate(addDays(now; -7); 'YYYY-MM-DD')}}"
        }
      },
      {
        "property": "期限",
        "date": {
          "before": "{{formatDate(now; 'YYYY-MM-DD')}}"
        }
      }
    ]
  },
  "sorts": [
    {
      "property": "ステータス",
      "direction": "ascending"
    }
  ]
}

Make.comのHTTPモジュールで使う場合は、 {{...}} 部分がMakeの式として評価されます。 addDays(now; -7) で7日前の日付を取得し、 formatDate() でISO 8601形式に変換しています。 ステータスの昇順ソートを指定することで、「未着手→進行中→完了」の順番でタスクが並びます。

Step 3:Make.comシナリオの全体構成

Make.comのシナリオは以下の7つのモジュールを順番に接続します。

1. Scheduler(スケジューラー)

毎週月曜日の午前9時(JST)にトリガーします。 タイムゾーンは Asia/Tokyo を選択してください。 Make.comのスケジューラーはデフォルトでUTCになっているため、日本時間での設定には明示的な指定が必要です。

2. HTTP - Make a request(Notion APIクエリ)

NotionのデータベースクエリAPIを呼び出します。 設定内容は以下のとおりです。

  • URL: https://api.notion.com/v1/databases/{database_id}/query
  • Method: POST
  • Authorization Header: Bearer secret_xxx...
  • Notion-Version Header: 2022-06-28
  • Content-Type Header: application/json
  • Body:前のステップのフィルターJSONを貼り付ける

3. JSON - Parse JSON(レスポンスの解析)

HTTPモジュールのレスポンスボディをJSONとして解析します。 results 配列の中に各タスクページのデータが格納されています。

4. Iterator + Array aggregator(データ集計)

results 配列をイテレートしながら、タスク名・ステータス・担当者を1つのテキストに集約します。 以下の形式でテキストを組み立てると、AIが読みやすくなります。

・[完了] タスクA(担当:山田)期限:2026-04-25
・[進行中] タスクB(担当:鈴木)期限:2026-04-27
・[未着手] タスクC(担当:田中)期限:2026-04-28

配列アグリゲーターの Text separator に改行文字 \n を設定することで、各行が区切られたテキストになります。

5. HTTP - Make a request(AIサマリー生成)

集約したタスクリストをClaude APIに送信してサマリーを生成します。 Claude APIを使う場合の設定は以下のとおりです。

  • URL: https://api.anthropic.com/v1/messages
  • Method: POST
  • x-api-key Header: sk-ant-xxx...
  • anthropic-version Header: 2023-06-01
  • Content-Type Header: application/json

Bodyには以下のJSON構造を使います。

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "以下は先週のタスク一覧です。チーム向けに週次レポートとして、完了・進行中・未着手の件数サマリーと、特に注目すべき点を3〜5文の日本語で要約してください。箇条書きではなく、読みやすい文章形式でまとめてください。\n\n{{4.text}}"
    }
  ]
}

{{4.text}} はArray aggregatorモジュール(モジュール番号4)の出力テキストを参照しています。 実際の番号はシナリオの構成によって変わるため、Make.comの画面で確認してください。

6. JSON - Parse JSON(AIレスポンスの解析)

Claude APIのレスポンスから生成テキストを取り出します。 Makeのマッパーで {{6.content[].text}} と指定すると、AIが生成したサマリーテキストが取得できます。

7. Slack - Send a Message(Slack投稿)

最終的にSlackへ投稿します。 Make.comにはSlackモジュールが標準で用意されているため、OAuth認証するだけで使えます。 投稿メッセージのテンプレート例は以下のとおりです。

📊 *週次タスクレポート({{formatDate(addDays(now; -7); 'M月D日')}}〜{{formatDate(addDays(now; -1); 'M月D日')}})*

{{6.content[].text}}

---
このレポートはMake × Notion × Claude AIにより自動生成されました。

Step 4:Notionプロパティの参照方法

Notionのデータベースプロパティには様々な型があります。 APIレスポンスから値を取り出す際には型ごとの参照方法が異なるため注意が必要です。

タイトル型(タスク名など)の場合

Make.comのマッパーで以下のように指定します。

{{item.properties.タスク名.title[].plain_text}}

セレクト型(ステータスなど)の場合

{{item.properties.ステータス.select.name}}

ユーザー型(担当者など)の場合

{{item.properties.担当者.people[].name}}

日付型の場合

{{item.properties.期限.date.start}}

Make.comのマッパー画面でこれらの式を入力する際、候補が自動補完されることが多いです。 一度テスト実行してレスポンス構造を確認してから入力すると、スムーズに設定できます。

Step 5:エラーハンドリングの設定

自動化ワークフローで最も重要なのは、エラー発生時の対応です。 Make.comでは各モジュールに エラーハンドラー を追加できます。

Notion APIからのレスポンスが空の場合(先週タスクが0件の場合など)、後続のAIモジュールに空文字が渡ってエラーになることがあります。 これを防ぐには、Array aggregatorの後に Router を挟み、テキストが空の場合は「先週のタスクはありませんでした」という固定メッセージをSlackに投稿するルートを分岐させます。

具体的には、Routerの1本目のルートに「集約テキストが空でない場合」のフィルターを設定し、2本目のルートはフィルターなし(フォールバック)として固定メッセージ投稿モジュールを繋げます。

また、APIのレートリミットに引っかかった場合に備えて、HTTPモジュールの リトライ設定 を有効にしてください。 Make.comの設定では「エラー時に再試行」を2回・30秒間隔にしておくと安定します。 Notion APIの無料枠は1秒あたり3リクエストという制限があるため、大量のタスクを処理する場合はSleepモジュールを挟む工夫も有効です。

テスト実行と動作確認

シナリオが完成したら、スケジューラーのトリガーを一時的に無効にして 手動実行 でテストします。 Make.comのシナリオ画面右上にある 「Run once」 ボタンを押すと、その場で1回実行されます。

各モジュールの右上に表示される緑のチェックマークと処理件数を確認しながら、どこでデータが止まっているかを追跡できます。 HTTPモジュールをクリックすると、APIのリクエスト内容・レスポンスボディを生で確認できるため、Notion APIのレスポンス構造を把握するのに役立ちます。

テストが成功したら、スケジューラーを毎週月曜 09:00 JST に戻してシナリオを Active にすれば完成です。

コスト目安

このワークフローの月額運用コストは非常に小さく収まります。

  • Make.com :無料プランで月1,000オペレーション。7つのモジュール × 週1回 × 4週 = 28オペレーション。無料枠で十分収まります。
  • Claude API :1回のサマリー生成で入力約500トークン・出力約300トークン程度です。月4回の実行で 約$0.01 以下になります。
  • Notion :APIは個人・チームプランで無制限に利用できます。
  • Slack :無料プランのIncoming WebhooksまたはBot Appで投稿できます。

全体で月額ほぼゼロ円から始められるため、小規模チームでも導入しやすい構成です。 まず個人のタスク管理で試してから、チーム全体に展開するというアプローチを取ることをお勧めします。

発展的な応用

この基本構成を応用することで、さらに高度な自動化が実現できます。

担当者別レポートの個別Slack DM送信

各担当者のSlack IDをNotionのプロパティに持たせ、Make.comのIteratorで1人ずつDMを送ることができます。 チームのSlackチャンネルへの一括投稿だけでなく、個人向けのフィードバックにも応用できます。

Googleスプレッドシートへの週次アーカイブ

AIが生成したサマリーをGoogleスプレッドシートに追記していくモジュールを追加すると、週次レポートのアーカイブが自動的に溜まっていきます。 月末の振り返りや四半期レビューの資料作成が大幅に楽になります。

Notionページへの自動書き込み

生成したレポートをSlack投稿と同時にNotionの週次レポートデータベースへ書き込むことも可能です。 Make.comの Notion - Create a Page モジュールを並列に追加するだけで実現できます。

プロジェクト別の多チャンネル投稿

Notionデータベースに「プロジェクト名」プロパティを追加し、プロジェクトごとに集計して対応するSlackチャンネルへ自動振り分けすることもできます。 複数プロジェクトを並行して動かしているチームに特に効果的です。

まとめ

Make.comとNotion APIを組み合わせることで、週次タスクレポートの収集から要約・Slack投稿までを完全自動化できます。 一度設定すれば毎週何もしなくてもレポートが届くため、月曜の朝の準備時間を大幅に削減できます。 AIサマリーを活用することで、単なるタスク一覧ではなく「チームへの気づきを促すレポート」を作れるのも大きな強みです。 コストはほぼゼロ円からスタートできるため、まずは自分のタスクで試してみることをお勧めします。

参考資料

この記事をシェア

XFacebookはてブ