Alerting

Enterprise feature — requires the alerting feature in your EFFICIENTAI_LICENSE. See Enterprise for licensing details.

What alerting is

Alerting lets you set up automatic notifications when something important happens with your voice AI agents. Instead of manually checking dashboards, you define rules — and EfficientAI notifies you via Slack, email, or both when those rules are triggered.

Think of it as a smoke detector for your voice AI operations. You tell it what to watch (for example, "error rate is above 10%"), and it rings the alarm when something goes wrong.

Quick example

"If the average latency of my Customer Support Agent exceeds 3 seconds over the last 30 minutes, send a Slack notification to #ops-alerts."

Key concepts

Alert

An alert is a monitoring rule. It defines:

  • What to measure (metric + aggregation)
  • When to fire (threshold + operator)
  • How far back to look (time window)
  • Who to notify (emails + webhooks)
  • How often to notify (frequency / cooldown)

Alert history

Every time an alert's condition is met and fires, an Alert History record is created. This gives you a full audit trail of when alerts were triggered, what the value was, and whether notifications were sent.

Configure an alert

What you configure

  • Alert name and optional description
  • Metric condition (metric, aggregation, operator, threshold, time window)
  • Agent scope (all agents or specific agents)
  • Notification channels (email recipients, Slack webhooks)
  • Notification frequency (cooldown between repeat notifications)
  1. Confirm SMTP is configured if you want email notifications (see Configuration).
  2. Create a Slack incoming webhook if you want Slack notifications.
  3. Create the alert from Alerting → Alerts.
  4. Use Test Notification to verify delivery, then Trigger to validate the condition.

How to set up an alert

  1. Go to Alerting → Alerts in the sidebar.
  2. Click Create Alert.

Alert detail page

Basic information

FieldRequiredDescription
Alert NameYesA descriptive name, e.g., "High Error Rate - Production"
DescriptionNoOptional notes about what this alert monitors

Metric condition

FieldRequiredDescription
MetricYesWhat to measure (see Available metrics)
AggregationYesHow to combine values over the time window
OperatorYesComparison operator (>, <, >=, <=, =, !=)
ThresholdYesThe value to compare against
Time WindowYesMinutes of data to look back (e.g., 60 = last 1 hour)

Example: Average of Latency > 3 over a 30 minute window means: if the average latency across all calls in the last 30 minutes exceeds 3 seconds, fire the alert.

Agent selection

  • All Agents — monitors every agent in your organization (default)
  • Specific Agents — select one or more agents to scope the alert

Notification settings

FieldRequiredDescription
Notification FrequencyYesHow often to re-notify if the condition persists
Email RecipientsNoOne or more email addresses
WebhooksNoSlack incoming webhook URLs

You must configure at least one email or webhook for notifications to work.

  1. Click Create Alert. Your alert is now Active and will be evaluated automatically.

Available metrics

MetricValueDescription
Number of Callsnumber_of_callsTotal count of calls in the time window
Call Durationcall_durationDuration of calls (in seconds)
Error Rateerror_ratePercentage of calls that resulted in errors
Success Ratesuccess_ratePercentage of calls that completed successfully
LatencylatencyResponse latency of the voice AI agent
CustomcustomCustom metric (for advanced use cases)

Aggregations

AggregationValueDescription
SumsumTotal sum of all values
AverageavgArithmetic mean of all values
CountcountNumber of data points
MinimumminLowest value in the window
MaximummaxHighest value in the window

Notification channels

Slack webhooks

EfficientAI sends rich Slack messages using Block Kit formatting. Each notification includes the alert name, triggered value vs. threshold, timestamp, and agent scope.

  1. Go to your Slack workspace's Apps settings.
  2. Create or select an Incoming Webhook app.
  3. Choose the channel to post to.
  4. Copy the webhook URL and paste it in the alert's Webhook field.

Email notifications

Email alerts require SMTP to be configured in your EfficientAI deployment. See Configuration for SMTP settings.

Notification frequency

FrequencyCooldownDescription
ImmediateNoneNotify every time the alert evaluates as triggered
Hourly1 hourAt most one notification per hour
Daily24 hoursAt most one notification per day
Weekly7 daysAt most one notification per week

Alert lifecycle

StatusDescription
ActiveThe alert is being evaluated on every cycle (default)
PausedTemporarily not being evaluated
DisabledFully disabled

From the alert detail page you can Pause, Resume, Edit, Delete, Trigger (manual evaluation), or send a Test Notification.

Alert history entries progress through Triggered → Notified → Acknowledged → Resolved.

Automatic evaluation

Alerts are automatically evaluated every 5 minutes by a Celery Beat schedule (evaluate_alerts, routed to the platform queue). Beat only enqueues tasks — you must also run a worker that consumes the platform queue, or evaluations and notifications will not run.

Recommended (starts Beat plus a co-located platform worker):

eai beat --config config.yml

Or run Beat and the platform worker separately:

# Worker for alert evaluation (and other platform tasks)
celery -A app.workers.celery_app worker --queues=platform --pool=threads --loglevel=info

# Scheduler (single replica)
celery -A app.workers.celery_app beat --loglevel=info

A default-queue worker (celery -A app.workers.celery_app worker with no --queues) does not process evaluate_alerts.

Common patterns

Monitor error rate spikes

Metric: Error Rate | Aggregation: Average | Operator: > | Threshold: 5 | Window: 30 min

Detect call volume drops

Metric: Number of Calls | Aggregation: Count | Operator: < | Threshold: 10 | Window: 60 min

Track high latency

Metric: Latency | Aggregation: Max | Operator: > | Threshold: 5 | Window: 15 min

See also: Enterprise for licensing and the full product reference at Alerting (products).

Community & contact

  1. Found a bug or have a feature request? Open a GitHub issue.
  2. Join our Discord for faster replies!