Alerts
Configure alerts to monitor bot operations, resource usage, and webhook delivery health
Alerts notify you when something goes wrong or when resource thresholds are reached. Configure alert rules from your dashboard to receive email notifications and HTTP callbacks in real-time.
Overview
The alerts system monitors two categories of events:
- Operational alerts detect errors during bot operations — failed joins, recording failures, crashes, and more
- Threshold alerts monitor resource metrics like token balance, daily bot usage, and calendar connections
Each alert rule defines what to monitor, when to trigger, how to notify you, and how often.
Creating an Alert Rule
Navigate to Alerts in your dashboard to create a new rule. Each rule requires:
- Alert type — what to monitor (see Alert Types below)
- Threshold — the value that triggers the alert
- Delivery channels — where to send notifications (email, callback, or both)
- Cooldown — minimum time between consecutive alerts (1–1440 minutes, default: 15 minutes)
At least one delivery channel (email or callback) is required.
Alert Types
Operational Alerts
Operational alerts count error occurrences and fire when the count reaches your configured threshold. The same cooldown window is used for both counting events and suppressing repeated alerts after delivery (see Cooldown and Suppression below). For example, "alert me when bot crashes reach 3 occurrences within 15 minutes."
| Alert Type | Description | Common Triggers |
|---|---|---|
| Bot Join Failed | Bot could not join the meeting | Invalid meeting URL, meeting ended before bot joined, login required, waiting for host timeout, bot not accepted |
| Recording Failed | Bot joined but could not record | Recording rights not granted, recording start timeout, host cannot grant permission |
| Zoom Credential Error | Zoom authentication failure | Invalid JWT token, SDK auth failed, access token error |
| Bot Crash | Bot process exited unexpectedly | Out of memory, force killed, general error |
| Transcription Failed | Transcription service error | Provider returned an error after recording completed |
| Calendar Sync Error | Calendar synchronization failure | OAuth token expired, provider API error |
| Webhook Delivery Exhausted | All webhook retry attempts failed | Endpoint unreachable, returning errors consistently |
The Webhook Delivery Exhausted alert is particularly important — each time a webhook message exhausts all retry attempts, the alert metric increments. If cooldown is active, additional exhausted deliveries are aggregated into the suppressed_count and reported when the next alert fires. This gives you visibility into endpoint health well before the 5-day auto-disable threshold. See Webhook Auto-Disable for details.
Threshold Alerts
Threshold alerts fire when a resource metric crosses a configured boundary. They support both >= (greater than or equal) and <= (less than or equal) operators.
| Alert Type | Description | Example Use Case |
|---|---|---|
| Daily Bot Cap | Number of bots created today | "Alert me when daily bots reach 90% of my plan limit" |
| Token Balance | Current token balance | "Alert me when tokens drop below 1000" |
| Calendar Connections | Number of connected calendars | "Alert me when calendar connections reach my plan limit" |
Delivery Channels
Each alert rule can use one or both delivery channels:
Configure up to 10 email recipients per rule. When an alert fires, all recipients receive an email containing:
- Alert rule name
- Current metric value and threshold
- Number of suppressed alerts during the cooldown period (if any)
- Direct link to the dashboard
Callback
Configure an HTTP endpoint to receive alert notifications programmatically. Callbacks are sent as POST requests with a JSON payload:
{
"alert_rule_id": "550e8400-e29b-41d4-a716-446655440000",
"alert_rule_name": "Bot Crash Monitor",
"alert_type": "bot_crash",
"category": "operational",
"triggered_at": "2025-01-15T10:30:00.000Z",
"current_value": 3,
"threshold_value": 3,
"suppressed_count": 0,
"message": "Bot Crash: 3 occurrence(s) reached threshold of 3"
}If you configure a secret on the callback, it is included as the x-mb-alert-secret header for verification.
Callback retry behavior:
- 4 total attempts (initial + 3 retries)
- Retry delays: 1 second, 5 seconds, 15 seconds
- Only retries on network errors and 5xx server responses
- Does not retry on 4xx client errors
- 30-second request timeout
Cooldown and Suppression
The cooldown period (default: 15 minutes) serves a dual purpose — it is both the counting window for accumulating events toward a threshold and the suppression window that prevents repeated alerts after delivery.
How it works:
- Events are counted within a rolling window equal to the cooldown period
- When the count reaches the threshold, the alert fires and delivery begins
- After delivery, the cooldown starts — additional events during this period are counted but not delivered
- When the cooldown expires and the next trigger occurs, the alert fires again with a
suppressed_countshowing how many events were batched during the suppression period
The system intentionally uses the same time window for both event accumulation (pre-trigger) and post-delivery suppression. For example, with a threshold of >= 3 and a 15-minute cooldown, the system counts occurrences within a 15-minute window. Once 3 events are reached and the alert fires, the same 15-minute period becomes the suppression window.
Example: You configure a "Bot Join Failed" alert with threshold >= 1 and a 15-minute cooldown.
10:00— First bot join fails → threshold met, alert fires immediately10:02— Second failure → suppressed (cooldown active)10:08— Third failure → suppressed (cooldown active)10:16— Fourth failure → cooldown expired, alert fires withsuppressed_count: 2
Testing Alerts
Use the Test button on any alert rule to send a test notification to all configured delivery channels. This verifies that your email addresses are correct and your callback endpoint is reachable.
Alert History
Each alert rule maintains a delivery history accessible from the rule's detail page. History entries include:
- When the alert fired
- Current value at the time of trigger
- Number of suppressed events
- Delivery status for each channel (success or failure with error details)
Limits
| Setting | Limit |
|---|---|
| Alert rules per team | 50 |
| Email recipients per rule | 10 |
| Cooldown range | 1–1440 minutes (24 hours) |
| Minimum threshold for operational alerts | 1 occurrence |
