A Slack bot that shows your team's open PRs categorized by status.
| Category | Description |
|---|---|
| Has Comments | PRs with unresolved review comments or change requests |
| Needs Reviewers | PRs without reviewers or review activity |
| Failing Checks | PRs with failing CI |
| Ready to Merge | Approved PRs with passing CI and no conflicts |
Draft PRs are excluded from all categories.
- Go to GitHub Tokens
- Click Generate new token
- Configure:
- Name:
pr-status-bot - Resource owner: Your organization
- Repository access: Select your target repository
- Repository permissions:
Actions: Read-onlyPull requests: Read-only
- Organization permissions:
Members: Read-only
- Name:
- Click Generate token and copy it
- Go to Slack API Apps
- Click Create New App → From manifest
- Select your workspace
- Paste the contents of
manifest.json - Click Create
- Go to Install App → Install to Workspace
- Copy the Bot Token (
xoxb-...) and Signing Secret
- Fork this repo to your GitHub
- Go to Vercel → Add New Project
- Import your repository
- Add environment variables:
| Variable | Value |
|---|---|
SLACK_BOT_TOKEN |
xoxb-... from Slack |
SLACK_SIGNING_SECRET |
From Slack Basic Information |
GITHUB_TOKEN |
Your fine-grained PAT |
GITHUB_OWNER |
Organization name |
GITHUB_REPO |
Repository name |
- Click Deploy
Replace YOUR_APP in the Slack manifest with your Vercel URL:
- Slash Commands →
/prs→ Request URL - Interactivity → Request URL
- Vercel → Project → Settings → Deployment Protection
- Set Vercel Authentication to Disabled
/prs # Show all team PRs
/prs backend # Show backend team PRs only
/prs help # Show available teams
cp .env.example .env # Fill in values
bun install
bun run dev # Starts server with ngrok tunnel