ChatalyzeDocs

Documentation

Alerts catalog

Deterministic quality and risk alerts — codes, severity, defaults.

Alerts are evaluated by pure rules in@chatalyze/metrics (evaluateSessionAlerts,evaluateFloorAlerts). AI labels never invent alert codes.

CodeSeveritySignal (defaults)
idle_chatterwarnNo outbound while active — default idle 12 min
sla_first_replywarn /critFirst reply > 300s SLA; crit at
fan_wait_longwarnAwaiting reply > 480s (8m)
off_platformcritOutbound matches TG/WhatsApp/CashApp/Venmo/“text me” patterns
price_floorwarnPPV price < $3
ppv_too_earlyinfo/warnFirst PPV before 4 speaker turns
monologuewarnStreak ≥5 chatter msgs or chatter share ≥0.7 on ≥10 msgs
copy_paste_loopwarn≥3 near-duplicate outbounds (min 20 chars)
no_cta_long_threadinfo≥10 turns, zero CTA/PPV
ghost_riskinfo≥10m silence after sell attempt

Lifecycle

  • Live compute — open sessions re-evaluated on GET
  • Durablerm_alerts after intelligence run / AlertRaised
  • Status: openackedresolved
  • Ack: POST /api/alerts/:id/ack with admin token

API

GET  /api/alerts?status=open|acked|resolved|all
POST /api/alerts/:id/ack   # Bearer ADMIN_TOKEN

Merge rule: durable rows win over live (preserves ack). Dedupe key:scope:code:YYYYMMDDHH.