Slack integration
Pullminder can send alerts to a Slack channel whenever a pull request exceeds your organization’s risk threshold or triggers a policy block. This guide covers setting up the integration from start to finish.
Prerequisites
Section titled “Prerequisites”Before you begin, make sure you have:
- A Slack workspace where you can create apps (you need workspace admin or app-install permissions)
- A Pullminder account with access to the organization dashboard at app.pullminder.com
1. Create a Slack incoming webhook
Section titled “1. Create a Slack incoming webhook”Pullminder delivers alerts through Slack’s incoming webhook mechanism. You need to create a webhook URL in your Slack workspace.
- Go to api.slack.com/apps and click Create New App. Choose From scratch, give it a name (e.g., “Pullminder Alerts”), and select your workspace.
- In the app settings sidebar, click Incoming Webhooks and toggle the feature on.
- Click Add New Webhook to Workspace, select the channel where you want alerts to appear, and click Allow.
- Copy the webhook URL. It looks like
https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX.
2. Configure the webhook in Pullminder
Section titled “2. Configure the webhook in Pullminder”- Sign in to app.pullminder.com and navigate to Settings > Slack integration.
- Paste the webhook URL into the Webhook URL field.
- Click Test to send a sample message to your Slack channel. Verify that the message appears.
- Click Save to store the configuration.
Your webhook URL is encrypted at rest using AES-256-GCM. Pullminder never displays the full URL after you save it.
3. What triggers alerts
Section titled “3. What triggers alerts”Pullminder sends a Slack alert when either of the following conditions is met:
| Trigger | Description |
|---|---|
| High-risk PR | The PR’s risk score exceeds your organization’s configured threshold |
| Policy block | A rule with a block action fires, preventing the PR from merging |
If a PR is low-risk and does not trigger any blocking rules, no Slack message is sent.
4. Alert message format
Section titled “4. Alert message format”Each alert is formatted using Slack Block Kit and includes:
| Field | Description |
|---|---|
| PR title | The pull request title, linked to the GitHub PR |
| Author | The GitHub username of the PR author |
| Repository | The full org/repo name |
| Risk score | The numeric score with a risk level label |
| Risk indicator | An emoji reflecting severity (see table below) |
| Top findings | Up to 3 findings, each showing severity, description, and file path |
| Links | Direct links to the Pullminder dashboard and the GitHub PR |
Risk level indicators
Section titled “Risk level indicators”| Level | Emoji |
|---|---|
| Critical | :rotating_light: |
| High | :warning: |
| Medium | :large_yellow_circle: |
| Low / None | :white_check_mark: |
5. Delivery and retries
Section titled “5. Delivery and retries”Alerts are sent through an asynchronous task queue. If delivery fails (for example, because Slack is temporarily unavailable), Pullminder retries with exponential backoff. You do not need to configure retry behavior — it is handled automatically.
Troubleshooting
Section titled “Troubleshooting”No messages appear in Slack after saving the webhook. Open Settings > Slack integration and click Test. If the test message does not arrive, verify that the webhook URL is correct and that the Slack app is still installed in your workspace.
Test message works, but real alerts do not arrive. Check that your PRs are actually exceeding the risk threshold. View the PR in the Pullminder dashboard to confirm its risk score. If the score is below your threshold and no blocking rules fired, Pullminder will not send an alert.
Webhook URL was rotated in Slack. If you regenerate the webhook URL in Slack, the old URL stops working immediately. Paste the new URL in Settings > Slack integration and save.
Messages appear but the channel is wrong. The destination channel is determined by the webhook URL. To change the channel, create a new webhook for the desired channel in your Slack app settings and update the URL in Pullminder.
Next steps
Section titled “Next steps”- Learn how risk scoring works to understand what drives alert thresholds
- Browse rule packs to configure which rules can trigger policy blocks
- Set up CI integration to enforce thresholds in your build pipeline