Automated n8n workflow that generates AI-powered narrative summaries of your GitHub repository activity every week. Fetches commits, PRs, and closed issues over the past 7 days, then uses Claude (Anthropic) to create a professional summary delivered to Slack, Discord, or email.
- Weekly Schedule Trigger: Runs every Friday at 5 PM UTC (configurable)
- GitHub Data Aggregation: Fetches commits, merged PRs, and closed issues from the past 7 days
- Claude API Integration: Generates narrative summaries highlighting key changes and impact
- Multi-Channel Delivery: Slack, Discord, or Email output (or all three)
- Configurable Variables: Repository owner, repo name, language (EN/FR), and notification channels
- Production-Ready: Error handling and execution logging enabled
- Log into your n8n instance (self-hosted or cloud)
- Click "New Workflow" → "Import from File"
- Select the
workflow.jsonfile from this repository - Click "Import"
- In the workflow editor, click on any "GitHub" node
- Click the GitHub credential dropdown → "Create New"
- Select "OAuth2" authentication
- Authorize your GitHub account when prompted
- Save the credential
- In the workflow editor, click on the "Claude: Generate Summary" node
- Click the Anthropic credential dropdown → "Create New"
- Paste your Anthropic API key (get it from console.anthropic.com)
- Save the credential
- Click "Workflow Settings" (top right)
- Add these environment variables (adjust values for your setup):
GITHUB_OWNER=your-github-username GITHUB_REPO=your-repository-name SUMMARY_LANGUAGE=English SLACK_WEBHOOK_URL=https://hooks.slack.com/services/YOUR/WEBHOOK/URL DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/YOUR/WEBHOOK EMAIL_FROM=noreply@yourcompany.com EMAIL_TO=recipient@yourcompany.com
- Click "Execute Workflow" (play button, top right)
- Check execution logs to verify GitHub fetch, Claude summary generation, and delivery
- Confirm the summary appears in your chosen channel (Slack/Discord/Email)
- Click "Activate" to enable the weekly schedule
| Variable | Required | Default | Notes |
|---|---|---|---|
GITHUB_OWNER |
Yes | — | Your GitHub username or organization name |
GITHUB_REPO |
Yes | — | Repository name to summarize |
SUMMARY_LANGUAGE |
No | English |
Language for summary (English or French) |
SLACK_WEBHOOK_URL |
No | — | Slack incoming webhook for notifications |
DISCORD_WEBHOOK_URL |
No | — | Discord webhook for notifications |
EMAIL_FROM |
If using email | — | Sender email address |
EMAIL_TO |
If using email | — | Recipient email address |
The workflow sends to all three channels if all webhooks/email are configured. To use only one:
- Slack Only: Set
SLACK_WEBHOOK_URL, leave others empty - Discord Only: Set
DISCORD_WEBHOOK_URL, leave others empty - Email Only: Set
EMAIL_FROMandEMAIL_TO, configure SMTP credentials, leave webhooks empty
To change the trigger time (default: Friday 5 PM):
- Click the "Schedule Trigger" node
- Adjust Trigger at hour (0-23) and Trigger at minute (0-59)
- Change Trigger at day of week (5 = Friday, 0 = Sunday)
- Save
- Needs read:repo and public_repo scopes
- Get a PAT at github.com/settings/tokens
- API key from console.anthropic.com/account/keys
- Uses
claude-sonnet-4-20250514model for fast, accurate summaries
- Create incoming webhook: api.slack.com/messaging/webhooks
- Create webhook in your Discord server settings → Webhooks
To test immediately without waiting for Friday:
- Remove or disable the "Schedule Trigger" node
- Add a "Manual Trigger" (or "Webhook") node
- Connect it to "Configuration"
- Click "Execute Workflow" to run manually
- Re-add the Schedule Trigger for production use
| Issue | Solution |
|---|---|
| GitHub fetch fails | Verify GitHub credentials are saved and the repo exists. Check GITHUB_OWNER and GITHUB_REPO variables. |
| Claude API error | Ensure API key is valid and has sufficient credits. Check console.anthropic.com. |
| Slack/Discord shows no message | Verify webhook URLs are correct and active. Test webhook URL in browser. |
| Email not sent | Configure SMTP credentials in n8n. Test with a simple email node first. |
| Workflow times out | Increase Max Execution Time in Workflow Settings to 3600+ seconds. |
- Change Claude model to
claude-opus-4-20250514for more detailed summaries - Modify the prompt in the "Claude: Generate Summary" node for different summary styles
- Add additional GitHub API nodes to fetch comments, contributors, or code metrics
- Integrate with Jira, Linear, or other tools by adding more aggregation nodes
- ✅ Exportable n8n workflow (.json file)
- ✅ Weekly cron schedule (Friday 5 PM UTC)
- ✅ Fetches commits, closed issues, merged PRs from last 7 days
- ✅ Calls Claude API (claude-sonnet-4-20250514) for narrative summary
- ✅ Multi-channel delivery (Slack, Discord, Email)
- ✅ Configurable variables (repo, channel, language)
- ✅ README with 5-step setup (this document)
- ✅ Production-ready with error logging
MIT
For issues or questions, refer to: