BuildPulse for Slack
BuildPulse watches your CI for tests that pass and fail without the code changing. The Slack integration puts what it finds in the channels your team already reads: a daily stability report per repository, plus alerts the moment a new flaky test appears.
What it looks like in Slack
Every morning, each connected repository gets one message in the channel you chose. It leads with the stability score so the trend is readable at a glance, then names the tests doing the most damage.
BuildPulse
9:00 AM
📊Daily Stability Report - checkout-service
Stability Score:
🟢94.2%
Total Tests:
1,284
Flaky Tests:
7
Quarantined:
2
New Flaky:
+1
Resolved:
-3
Top Flaky Tests:
• spec.checkout.payment_spec - 12.4% flaky (13 disruptions)
• spec.cart.session_spec - 8.1% flaky (9 disruptions)
• spec.orders.webhook_spec - 4.6% flaky (5 disruptions)
An example report. Figures shown are illustrative.
Messages BuildPulse sends
📊Daily Stability Report
A once-a-day summary per repository: stability score, total tests, how many are flaky or quarantined, what newly turned flaky, what got resolved, and the worst offenders by disruption count.
🔴New Flaky Test Detected
Posted the moment a test starts behaving non-deterministically, so the team sees it while the change that introduced it is still fresh.
⚠️Flakiness Threshold Exceeded
Fires when a repository crosses the flakiness threshold you set, which is the signal that the suite as a whole needs attention rather than a single test.
📉Coverage Below Threshold
Fires when test coverage drops under your configured threshold, with the measured value and the threshold it missed.
BuildPulse only posts. It does not read your conversations, and it has no slash commands or bot user that participates in channels.
Before you start
A BuildPulse organization with a connected repository
The reports describe your test results, so BuildPulse needs to be receiving them first. If you do not have an account yet, create one here.
Permission to authorize Slack apps
By default any Slack member can authorize an app, but some workspaces restrict this and you may need to request approval from a workspace admin. Slack explains how that works in their help center.
How to add BuildPulse to Slack
Open your organization in BuildPulse
Sign in at buildpulse.io and select the organization you want to connect. You need to be an owner or admin of that organization.
Go to Integrations, then the Slack tab
Integrations lives in your organization navigation. The Slack tab shows a connection card with the current status, either Connected or Not Connected.
Click Connect Slack and authorize the workspace
Slack asks which workspace you want to add BuildPulse to and shows the permissions it is requesting. Pick the workspace, then click Allow. You are returned to BuildPulse automatically.
Choose where messages should go
Set an organization default channel, and optionally a specific channel per repository, so a noisy monorepo and a quiet service do not have to share a feed. Save, and the next report goes to the channel you picked.
Permissions BuildPulse requests
Slack shows you these when you authorize. This is the complete list, and what each one is for.
channels:read
List public channels so you can pick one from a dropdown instead of typing an ID.
groups:read
Same, for private channels BuildPulse has been added to.
chat:write
Post reports and alerts into the channels you choose.
chat:write.public
Post to a public channel without needing to be invited to it first.
Removing the integration
Disconnect Slack from the same Integrations tab in BuildPulse, which revokes the token and stops all messages immediately. You can also remove BuildPulse from the workspace side, under Manage apps in your Slack admin settings. Removing the integration does not affect your test data or anything else in BuildPulse.
Need a hand?
If anything does not work the way this page describes, get in touch and a person will answer.