Notifications
Configure Slack, email, Teams, PagerDuty, and webhook notifications for build events.
BuildButler can notify your team through multiple channels whenever a build event occurs. This page covers setup for each supported channel.
Slack
Option A — Incoming Webhook
- Go to Slack API → Incoming Webhooks.
- Create a new webhook for your workspace and channel.
- Copy the webhook URL.
- In BuildButler, go to Settings → Notifications → Add Channel → Slack.
- Paste the webhook URL.
Option B — BuildButler Slack App
Install the BuildButler Slack App for richer messages with interactive buttons (re-run build, mute alert, view logs).
Configure SMTP or use a transactional email provider:
| Variable | Example |
|---|---|
SMTP_HOST | smtp.sendgrid.net |
SMTP_PORT | 587 |
SMTP_USER | apikey |
SMTP_PASS | SG.xxxx |
SMTP_FROM | alerts@buildbutler.dev |
Then add email recipients in the alert rule:
Microsoft Teams
- In your Teams channel, click … → Connectors → Incoming Webhook.
- Name it
BuildButlerand copy the webhook URL. - Add the webhook URL in Settings → Notifications → Add Channel → Teams.
PagerDuty
BuildButler uses the PagerDuty Events API v2:
- Create a new service in PagerDuty or use an existing one.
- Add an Events API v2 integration and copy the Integration Key.
- In BuildButler, add a PagerDuty channel with the integration key.
Critical failures automatically create PagerDuty incidents. When the build recovers, BuildButler resolves the incident automatically.
Generic Webhook
For custom integrations, use the generic webhook channel. BuildButler sends
a POST request with a JSON payload:
The webhook endpoint must return a 2xx status code within 10 seconds.
BuildButler retries up to 3 times with exponential backoff on failure.
Alert rules
Each notification channel is attached to one or more alert rules. Rules define which events trigger the notification:
| Event | Description |
|---|---|
build.failed | Build finished with a non-success result |
build.recovered | Build succeeded after a previous failure |
build.slow | Build duration exceeded the P95 threshold |
queue.long | Queue wait time exceeded the configured threshold |