Skip to main content

Automated Alerts

Alerts automatically notify you when something goes wrong with your AI agents—whether it’s a quality issue, compliance violation, or technical problem. Instead of manually monitoring every call, let alerts catch issues for you.

Why Alerts Matter

You can’t watch every conversation. Alerts help you:
  • Catch problems immediately - Get notified within seconds
  • Focus on what matters - Only review flagged calls, not every single one
  • Prevent escalations - Fix issues before customers get more frustrated
  • Ensure compliance - Know immediately when regulations aren’t followed
Example: An alert notifies you that Agent V1 has missed the required call recording disclosure in 3 calls today. You fix the prompt immediately before more violations occur.

How Alerts Work

You define conditions to monitor (e.g., “score drops below 70”), and Chanl watches all calls for those conditions. When triggered, you’re notified via your chosen channel.
Call happens → Monitored by alert rules → Condition met → Notification sent

Creating Alerts

Navigate to Alerts and click “Create Alert”:
  1. Name your alert
  2. Define the condition to monitor
  3. Set severity level
  4. Choose notification channels
  5. Activate the alert

Alert Types

Quality Alerts

Monitor agent performance quality:
Triggers when call quality score falls below threshold.
{
  "name": "Quality Drop Alert",
  "condition": {
    "type": "score_threshold",
    "threshold": 75,
    "operator": "less_than"
  },
  "severity": "medium"
}
When to use: Catch underperforming conversations immediately
Detects negative sentiment or frustration indicators.
{
  "name": "Customer Frustration Detected",
  "condition": {
    "type": "sentiment",
    "value": "negative",
    "confidence": 0.8
  },
  "severity": "high"
}
When to use: Identify calls that may need human intervention
Triggers when calls exceed expected length.
{
  "name": "Call Taking Too Long",
  "condition": {
    "type": "duration",
    "threshold": 600,
    "operator": "greater_than"
  },
  "severity": "medium"
}
When to use: Find agents stuck or unable to resolve issues

Compliance Alerts

Ensure regulatory requirements are met:
Triggers when required disclosures aren’t provided.
{
  "name": "Missing Call Recording Disclosure",
  "condition": {
    "type": "required_phrase",
    "phrase": "This call may be recorded",
    "location": "first_30_seconds",
    "must_include": true
  },
  "severity": "critical"
}
When to use: Regulatory compliance monitoring
Detects when agents violate company policies.
{
  "name": "Refund Policy Violation",
  "condition": {
    "type": "custom_rule",
    "prompt": "Agent offered refund outside 30-day policy window without manager approval"
  },
  "severity": "high"
}
When to use: Prevent unauthorized exceptions
Alerts when sensitive data is mishandled.
{
  "name": "PII Exposure Risk",
  "condition": {
    "type": "sensitive_data",
    "detect": ["ssn", "credit_card", "password"],
    "action": "mentioned_in_clear"
  },
  "severity": "critical"
}
When to use: Protect customer privacy

Technical Alerts

Monitor system health and errors:
Triggers when agent tools fail to execute.
{
  "name": "CRM Tool Failure",
  "condition": {
    "type": "tool_error",
    "toolName": "lookup_customer",
    "consecutiveFailures": 3
  },
  "severity": "high"
}
When to use: Detect integration issues early
Alerts when agent takes too long to respond.
{
  "name": "Agent Response Timeout",
  "condition": {
    "type": "response_time",
    "threshold": 10,
    "operator": "greater_than"
  },
  "severity": "high"
}
When to use: Identify performance bottlenecks
Triggers when errors occur frequently.
{
  "name": "Elevated Error Rate",
  "condition": {
    "type": "error_rate",
    "threshold": 0.1,
    "timeWindow": "1h",
    "operator": "greater_than"
  },
  "severity": "critical"
}
When to use: Detect system-wide problems

Notification Channels

Email Notifications

{
  "notifications": {
    "email": {
      "recipients": [
        "team@company.com",
        "oncall@company.com"
      ],
      "subject": "Alert: {{alert_name}}",
      "includeCallLink": true,
      "includeTranscript": true
    }
  }
}

Slack Integration

{
  "notifications": {
    "slack": {
      "webhook": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL",
      "channel": "#ai-agent-alerts",
      "mentionOnCritical": "@oncall",
      "includeActions": true
    }
  }
}
The Slack notification includes:
  • Alert details
  • Call information
  • Quick action buttons (View Call, Transfer, Dismiss)
  • Link to full analysis

Webhook Integration

{
  "notifications": {
    "webhook": {
      "url": "https://your-system.com/chanl-alerts",
      "method": "POST",
      "headers": {
        "Authorization": "Bearer YOUR_TOKEN",
        "X-Source": "chanl"
      },
      "payload": {
        "alertId": "{{alert_id}}",
        "callId": "{{call_id}}",
        "severity": "{{severity}}",
        "timestamp": "{{timestamp}}"
      }
    }
  }
}

SMS Notifications

{
  "notifications": {
    "sms": {
      "numbers": ["+1234567890"],
      "onlyForSeverity": ["critical"],
      "message": "Alert: {{alert_name}} - Call: {{call_id}}"
    }
  }
}
SMS notifications should be reserved for critical alerts only to avoid alert fatigue.

Alert Severity Levels

Low

Minor issues that don’t require immediate action. Review when convenient.Examples: Slightly low score, minor inconsistency

Medium

Issues that should be addressed soon. Review within hours.Examples: Score below 70, customer mild frustration

High

Problems requiring prompt attention. Review within minutes.Examples: Major compliance miss, angry customer

Critical

Urgent issues needing immediate action. Review immediately.Examples: Data breach risk, complete system failure

Managing Alert Noise

Throttling

Prevent alert spam by setting cooldown periods:
{
  "throttling": {
    "enabled": true,
    "cooldownMinutes": 15,
    "maxAlertsPerHour": 10
  }
}
This prevents the same alert from triggering more than once every 15 minutes.

Grouping

Combine similar alerts into batches:
{
  "grouping": {
    "enabled": true,
    "timeWindow": "5m",
    "maxGroupSize": 5,
    "notificationFormat": "{{count}} calls triggered '{{alert_name}}' in last 5 minutes"
  }
}
Instead of 5 separate notifications, you get one: “5 calls triggered ‘Low Quality Score’ in last 5 minutes.”

Scheduled Silence

Disable alerts during specific times:
{
  "silenceSchedule": {
    "enabled": true,
    "windows": [
      {
        "days": ["saturday", "sunday"],
        "startTime": "00:00",
        "endTime": "23:59"
      }
    ]
  }
}

Viewing Triggered Alerts

Navigate to Alerts to see:
  • List of recent alerts
  • Filter by severity or agent
  • Click alert to view associated call
  • Mark as resolved or dismiss

Alert Analytics

Track alert patterns over time:
const chanl = require('@chanl/sdk');

// Get alert frequency by type
const analytics = await chanl.alerts.analytics({
  timeRange: '30d',
  groupBy: 'alert_type'
});

console.log(analytics);
/*
{
  period: "30 days",
  totalAlerts: 147,
  byType: [
    {
      type: "quality_drop",
      count: 67,
      percentage: 45.6,
      trend: "decreasing"
    },
    {
      type: "compliance_issue",
      count: 42,
      percentage: 28.6,
      trend: "stable"
    },
    {
      type: "tool_failure",
      count: 38,
      percentage: 25.8,
      trend: "increasing"
    }
  ]
}
*/

Best Practices

1

Start with Critical Alerts

Begin with compliance and critical quality alerts. Add more as you understand patterns.
2

Set Appropriate Thresholds

Don’t make thresholds too sensitive. Test and adjust based on actual alert volume.
3

Use Throttling

Always enable throttling to prevent alert fatigue from repeated similar issues.
4

Review and Refine

Weekly review which alerts are useful vs noisy. Disable or adjust unhelpful ones.
5

Document Response Procedures

Create runbooks for each critical alert type so team knows exactly what to do.

Troubleshooting

Problem: Alerts configured but no notifications arrivingSolutions:
  • Verify alert is marked as “active”
  • Check notification channels are configured correctly
  • Test with webhook/email validator
  • Confirm calls are actually triggering conditions
  • Check spam folder for email notifications
Problem: Being overwhelmed with alert notificationsSolutions:
  • Enable throttling with appropriate cooldown
  • Increase severity thresholds
  • Use alert grouping to batch notifications
  • Review if conditions are too broad
  • Disable low-value alerts
Problem: Getting alerts for false positivesSolutions:
  • Review condition logic - may be too broad
  • Adjust thresholds based on actual data
  • Add additional conditions to narrow scope
  • Test alert with historical calls first
Problem: Slack alerts not appearingSolutions:
  • Verify webhook URL is still valid
  • Check Slack app permissions
  • Confirm channel exists and bot has access
  • Test webhook with curl to isolate issue

What’s Next?