📈
スケジュールトリガーで週次レポートを自動生成する
毎週月曜朝にKPIデータをAPIから取得し、LLMで分析サマリーを生成してSlackとメールに自動配信する週次レポートワークフロー。
ユースケース概要
毎週月曜8:00にKPIデータ(売上・ユーザー数・エラー率等)を自動集計し、LLMで分析コメントを生成してSlackのレポートチャンネルに投稿する。
解決する課題: 週次レポート作成の手動作業をなくし、毎週一定品質のレポートをチームに届ける
使用するn8nノード:
- Schedule Trigger(毎週月曜起動)
- HTTP Request × 複数(各KPI APIの呼び出し)
- Code(集計・整形処理)
- OpenAI Chat Model(分析コメント生成)
- Slack(レポート投稿)
- Gmail(経営陣へのメール送信)
ワークフロー構成
[Schedule Trigger: 毎週月曜 08:00]
↓
[HTTP Request: 売上API]
[HTTP Request: ユーザー数API] ←(並列実行)
[HTTP Request: エラー率API]
↓
[Merge: 3つのデータを統合]
↓
[Code: KPI計算・前週比算出]
↓
[OpenAI: 分析コメント生成]
↓
[Slack: #weekly-kpi に投稿]
↓
[Gmail: 経営陣にメール送信]
実装手順
Step 1: Schedule Triggerの設定
Trigger Times → Add Time
Rule: Every Week
Weekday: Monday
Hour: 8
Minute: 0
Step 2: KPI APIの並列呼び出し
3つのHTTP Requestノードを並列に配置し、それぞれ異なるAPIエンドポイントを呼ぶ。
Node: 売上API
URL: https://api.yourapp.com/analytics/revenue?period=last_week
Headers: Authorization: Bearer {{ $env.ANALYTICS_API_KEY }}
Step 3: 前週比計算(Codeノード)
const revenue = $('売上API').first().json;
const users = $('ユーザー数API').first().json;
const revenueGrowth = ((revenue.thisWeek - revenue.lastWeek) / revenue.lastWeek * 100).toFixed(1);
const userGrowth = ((users.thisWeek - users.lastWeek) / users.lastWeek * 100).toFixed(1);
return [{
json: {
revenueThisWeek: revenue.thisWeek,
revenueGrowth: `${revenueGrowth}%`,
usersThisWeek: users.thisWeek,
userGrowth: `${userGrowth}%`,
summary: `売上: ¥${revenue.thisWeek.toLocaleString()}(前週比${revenueGrowth}%)`
}
}];
Step 4: LLM分析コメント生成
Prompt: 以下のKPIデータを分析し、3行以内で重要なポイントを指摘してください。
データ: {{ $json.summary }}
Step 5: Slackへの整形投稿
Message:
📊 *週次KPIレポート({{ $now.format('YYYY/MM/DD') }})*
売上: ¥{{ $json.revenueThisWeek.toLocaleString() }} ({{ $json.revenueGrowth }})
ユーザー数: {{ $json.usersThisWeek }} ({{ $json.userGrowth }})
*AI分析:*
{{ $('OpenAI').first().json.message.content }}
ポイント・注意事項
- APIが複数ある場合は並列ノードで同時呼び出しし、Mergeで統合するとレイテンシを削減できる
- LLMのトークンコスト削減のため、プロンプトに渡すデータは必要最小限に絞る
- Slackのblock kit形式を使うとよりリッチなレポートレイアウトになる
関連機能
- 1. 🔄n8n概要 - ワークフロー自動化プラットフォーム
- 2. ⚙️n8nワークフローの基本(ノード・コネクション・実行)
- 3. ⚡n8nトリガーの種類(Webhook・スケジュール・イベント)
- 4. 🔀n8nロジック制御(フィルター・条件分岐・ループ・マージ)
- 5. 🌐n8n HTTP Request・API連携
- 6. 🔗n8n主要インテグレーション(Slack・Gmail・GitHub)
- 7. 🛡️n8nエラーハンドリング・デバッグ
- 8. 🤖n8n AI・LLMエージェント(Chain・Agent)
- 9. 💻n8n Codeノード・カスタム処理
- 10. 🏢n8nエンタープライズ機能(ソース管理・シークレット・チーム管理)
- 11. 🌤️毎朝SlackにAIで天気・ニュースを通知する
- 12. 📊GitHubのPRをGoogleシートに自動記録する
- 13. 📧新規ユーザー登録時にWelcomeメールを自動送信する
- 14. 💳StripeのWebhookで決済完了を検知して処理する
- 15. 📈スケジュールトリガーで週次レポートを自動生成する
- 16. 🎫Gmailトリガーでサポートメールを自動Notionチケット化する
- 17. 🎯条件分岐でリード属性に応じて担当者を振り分ける
- 18. 📨ループ処理でリストを走査し一括メール送信する
- 19. 📋複数APIのデータをマージして統合レポートを作成する
- 20. 🗄️外部REST APIからデータを取得してDBに保存する
- 21. 🔍GraphQL APIでGitHubのIssueを取得・加工する
- 22. 🔐Bearer認証付きAPIを呼び出してデータ同期する
- 23. ✅SlackとNotionを連携したチームタスク管理フロー
- 24. 🤝GmailとHubSpotを連携したCRM自動化フロー
- 25. 🚀GitHubデプロイイベントをSlackに通知する
- 26. 🚨APIエラー発生時にSlackへアラートを送る
- 27. 🔁リトライ付きの堅牢なデータ同期フローを構築する
- 28. 📝エラーログをAirtableに自動記録する
- 29. 🤖LLMを使ったカスタマーサポート自動応答ボット
- 30. 🔎ドキュメントRAG検索システムを構築する
- 31. 📬AIでメール内容を自動分類・ルーティングする
- 32. 🔧JavaScriptで複雑なデータ変換処理を実装する
- 33. 📄npmライブラリを使ったPDF自動生成フロー
- 34. ✔️カスタムバリデーションロジックをCodeノードで実装する
- 35. 🗂️Gitでワークフローをバージョン管理する
- 36. 🌍環境変数で本番・ステージングを切り替える
- 37. 👥チームでのワークフロー共同管理フロー
- 38. 📋AIで履歴書を自動スクリーニング・スコアリングする
- 39. 🧾請求書PDFをOCRで自動データ入力・会計ソフト登録する
- 40. 📱ブログ記事→SNS自動投稿パイプラインを構築する
- 41. 📦Shopify注文処理を完全自動化する(在庫・配送・顧客通知)
- 42. 🔔予約リマインダーを自動送信してノーショーを削減する
- 43. 📊経営ダッシュボードを毎朝Slackに自動配信する
- 44. 🔭競合情報を自動収集してWeeklyレポートにまとめる
- 45. 🎉新入社員オンボーディングを完全自動化する
出典: https://docs.n8n.io/integrations/builtin/core-nodes/n8n-nodes-base.scheduletrigger/