How it works
Daily trigger
Workflow runs every weekday morning at 9 AM
Fetch PRs
GitHub API returns all open pull requests with review status
Categorize
Group into Ready to Merge, Needs Review, Changes Requested, Stale
Post to Slack
Formatted digest with @mentions for pending reviewers
Build with NIRA
Copy this prompt to create the workflow in seconds
Every weekday at 9:00 AM, create a GitHub PR summary:
1. Fetch all open pull requests from [repo_owner]/[repo_name]
2. For each PR, collect:
- PR title and number
- Author
- Created date (calculate days open)
- Requested reviewers
- Review status (approved, changes requested, pending)
- CI status (passing, failing, pending)
3. Categorize PRs into:
- "Ready to Merge" (approved + CI passing)
- "Needs Review" (no reviews yet or reviews pending)
- "Changes Requested" (has change requests)
- "Stale" (open more than 7 days)
4. Format as Slack message with sections for each category
5. Include @ mentions for pending reviewers
6. Post to [slack_channel]
Schedule: Weekdays at 9:00 AM What you'll see
Ready to Merge
Approved + CI passing, ship it
Needs Review
Waiting on team members
Changes Requested
Requires author attention
Stale PRs
Open more than 7 days
Variations
Multi-repo summary
Aggregate PRs across multiple repositories.
Loop through repos: [webapp, api, mobile]. Aggregate all open PRs and group by repo in the Slack message. Personal review queue
DM engineers their personal review assignments.
For each team member, find PRs where they're requested. Send personal DM with their queue sorted by priority. FAQ
Can this work with GitHub Enterprise?
Yes. Configure the GitHub connector with your Enterprise URL. The workflow logic remains the same.
How do I map GitHub usernames to Slack handles?
Create a mapping in your workflow (e.g., "octocat": "U123ABC"). Or use email matching if your accounts align.
Does this work with draft PRs?
By default, draft PRs are excluded. Add a flag to include them if your team wants visibility into work-in-progress.