Overview
Bleep can deliver violation alerts in real-time to your existing notification platforms via HTTP webhooks or email. When a policy violation is detected, Bleep formats the alert for your chosen platform and delivers it via POST request with automatic retry. Bleep also supports email delivery via your own SMTP server — one HTML-formatted email per violation, sent instantly to all configured recipients with the same retry logic.
How it works
- A violation is detected by the Bleep proxy
- The violation is sent to the admin server
- The admin server dispatches to all enabled webhooks in the background
- Each webhook receives a platform-formatted payload via HTTP POST (or email via SMTP)
- Failed deliveries are retried up to 3 times with exponential backoff (1s, 2s, 4s)
Supported Platforms
Slack
Rich Block Kit attachments with color-coded severity
Microsoft Teams
MessageCard format with severity theming
Discord
Embeds with inline fields and color sidebar
PagerDuty
Events API v2 triggers with severity mapping
Custom Webhook
Raw JSON envelope to any HTTP endpoint
Email (SMTP)
HTML-formatted violation emails via your SMTP server
Setup Guides
Slack
- Go to your Slack workspace at
api.slack.com/apps - Create a new app (or use existing) and enable Incoming Webhooks
- Click "Add New Webhook to Workspace" and select a channel
- Copy the webhook URL (starts with
https://hooks.slack.com/services/...) - In Bleep Dashboard → Integrations, click the Slack tile
- Paste the URL, set a name and minimum severity, then Save
Microsoft Teams
- In Teams, navigate to the channel where you want alerts
- Click the "..." menu → Connectors → Incoming Webhook
- Name it "Bleep Alerts" and click Create
- Copy the webhook URL
- In Bleep Dashboard → Integrations, click the Teams tile
- Paste the URL, configure severity threshold, then Save
Discord
- In Discord, go to Channel Settings → Integrations → Webhooks
- Click "New Webhook" and name it "Bleep Alerts"
- Copy the webhook URL
- In Bleep Dashboard → Integrations, click the Discord tile
- Paste the URL and Save
PagerDuty
- In PagerDuty, go to Services → your service → Integrations
- Add a new integration using Events API v2
- Copy the Integration Key (routing key)
- In Bleep Dashboard → Integrations, click the PagerDuty tile
- Set URL to
https://events.pagerduty.com/v2/enqueue - Paste the Integration Key into the Secret field
- Set minimum severity (maps to PagerDuty severity: LOW→info, MEDIUM→warning, HIGH→error, CRITICAL→critical)
Custom Webhook
- Enter any URL that accepts POST requests with JSON body
- Optionally set a secret that will be sent in the
X-Webhook-Secretheader - Bleep sends a JSON envelope with fields:
event,source,timestamp,data
Email (SMTP)
- In Bleep Dashboard → Integrations, click the Email (SMTP) tile
- Enter your SMTP host and port (default
587) - Enter your SMTP username and password
- Enable TLS (recommended for secure delivery)
- Set the From address (e.g.
bleep-alerts@yourcompany.com) - Add one or more recipient email addresses (comma-separated)
- Optionally set a display name (e.g. "Bleep Alerts") and minimum severity threshold
- Click Save, then use Send Test Email to verify delivery
Severity Filtering
Each webhook has a minimum severity threshold. Only violations at or above this level will be delivered. Severity levels from lowest to highest:
Testing Integrations
After configuring a webhook or email integration, use the Test button to send a sample violation. The test sends a realistic HIGH-severity violation to verify connectivity. You will see the result immediately in the dashboard.
Webhooks:
- Find your webhook in the Active Integrations table
- Click the play button (▶) in the Actions column
- A green "success" or red "failure" banner will appear
Email (SMTP):
- Open the Email (SMTP) configuration modal
- Click Send Test Email
- A sample HIGH-severity violation email is sent to all configured recipients
- Check your inbox (and spam folder) to confirm delivery
Payload Formats
Custom Webhook (JSON Envelope)
{
"event": "violation",
"source": "bleep-ai-guard",
"timestamp": "2025-01-15T14:30:00.000Z",
"data": {
"id": 42,
"severity": "HIGH",
"pattern_name": "Credit Card Number",
"action_taken": "BLOCK",
"destination_host": "api.openai.com",
"direction": "outbound",
...
}
}Slack (Block Kit)
{
"attachments": [{
"color": "#f97316",
"blocks": [
{ "type": "header", "text": { "type": "plain_text", "text": "Bleep Violation: Credit Card Number" } },
{ "type": "section", "fields": [
{ "type": "mrkdwn", "text": "*Severity:*\nHIGH" },
{ "type": "mrkdwn", "text": "*Action:*\nBLOCK" },
{ "type": "mrkdwn", "text": "*Destination:*\napi.openai.com" },
{ "type": "mrkdwn", "text": "*Direction:*\noutbound" }
]},
{ "type": "context", "elements": [{ "type": "mrkdwn", "text": "Bleep AI Guard | 2025-01-15T14:30:00Z" }] }
]
}]
}PagerDuty (Events API v2)
{
"routing_key": "your-integration-key",
"event_action": "trigger",
"payload": {
"summary": "Bleep Violation: Credit Card Number [HIGH] on api.openai.com",
"severity": "error",
"source": "bleep-ai-guard",
"component": "api.openai.com",
"custom_details": { ... }
}
}Email Format
Email notifications are sent as inline-styled HTML for maximum compatibility across email clients. Each email contains a single violation with a color-coded severity bar.
Subject line
[Bleep] HIGH Violation: Credit Card Number on api.openai.comEmail body includes
- Color-coded severity bar (blue=LOW, yellow=MEDIUM, orange=HIGH, red=CRITICAL)
- Violation details table: pattern name, severity, action taken, destination host, direction
- Timestamp of the violation
- Footer with "Bleep AI Guard" branding
Troubleshooting
Test returns "connection refused"
The webhook URL may be unreachable from the admin server. Check firewall rules and ensure the URL is correct. If the admin server is behind a proxy, outbound HTTPS must be allowed.
HTTP 403 or 401 errors
The webhook endpoint requires authentication. For PagerDuty, ensure the Integration Key is set in the Secret field. For custom endpoints, verify any required headers or tokens.
Deliveries show as "Failing"
Bleep retries failed deliveries 3 times with exponential backoff (1s, 2s, 4s). If all attempts fail, the webhook is marked as failing. Check the webhook URL is still valid and the receiving service is online.
No webhooks firing for violations
Verify the webhook is enabled (toggle switch in the Active Integrations table) and the minimum severity threshold is set low enough to match the violations being generated.
Email (SMTP) Issues
SMTP connection timeout
Verify the SMTP host and port are correct. Common ports: 587 (TLS/STARTTLS), 465 (SSL), 25 (unencrypted). Check that firewall rules allow outbound connections on the configured port. Ensure the TLS setting matches your server's requirements.
SMTP authentication failed
Double-check the username and password. Some providers (e.g. Gmail, Microsoft 365) require an app-specific password instead of your regular account password. Check your provider's documentation for SMTP authentication requirements.
No emails arriving
Check your spam/junk folder first. Verify that recipient addresses are correct and the email config is enabled. Ensure the minimum severity threshold is low enough to match the violations being generated. Try the "Send Test Email" button to isolate whether the issue is SMTP connectivity or severity filtering.