Skip to main content

Alert Management

Alerts are the primary work items for compliance analysts. They represent compliance issues — PEP matches, sanctions hits, adverse media, identity discrepancies — that require human review and resolution.

Alert lifecycle

StatusDescription
OpenAlert created, awaiting analyst review
AcknowledgedAnalyst has claimed and is reviewing the alert
ResolvedAlert reviewed and resolved with an action
False PositiveConfirmed as a false positive match
EscalatedEscalated to a senior reviewer or manager

Auto-triage

New alerts can be automatically triaged using AI research. The auto-triage system is configured via custom metadata:
  1. Alert insertion triggers the auto-triage handler
  2. The handler filters alerts by type and category against the triage configuration
  3. Eligible alerts are dispatched to an async AI research queue
  4. AI research analyzes the screening match against public sources
  5. Results are written back to the alert (assessment, confidence, false positive probability)
  6. If configured, the auto-disposition pipeline evaluates the results
Auto-triage is configurable per alert type and category. You can exclude specific categories (e.g., Sanctions) from auto-triage to ensure they always receive human review.

AI research

AI research provides automated analysis of screening matches. When triggered (manually or via auto-triage), the system:
  1. Builds a research prompt with alert details, entity context, and screening data
  2. Submits to a web research AI (Perplexity) for validation
  3. Returns a structured assessment with:
    • Assessment narrative — detailed analysis of the match
    • Confidence score — AI confidence in its assessment (0-100%)
    • False positive probability — likelihood the match is a false positive (0-100%)
    • Recommended action — suggested resolution (Approve, Decline, Escalate)
    • Sources — URLs of sources consulted

Auto-disposition

Alerts with high-confidence false positive assessments can be automatically resolved:
ConditionAction
FP probability >= category thresholdAuto-resolve as False Positive
FP probability < thresholdLeave for human review
QA sampling enabledFlag a percentage of auto-dispositions for QA
Auto-disposition thresholds are configured per alert category. For example, Adverse Media might auto-dispose at 90% FP probability while Sanctions Hit is never auto-disposed.

Priority scoring

Every alert receives a composite priority score (0-290 points) calculated from five components:
ComponentMax PointsCalculation
SLA urgency100Breached = 100, linear decay from due date
Risk tier100Critical = 100, High = 75, Medium = 50, Low = 25
Category weight60Sanctions = 60, PEP = 45, Adverse Media = 30
Match score10Screening confidence / 10
Case risk20Parent case risk score / 5
The priority score drives the default sort order in the analyst inbox: highest-score alerts appear first.

Priority labels

PriorityScore Range
Critical200+
High120-199
Medium60-119
Low0-59

SLA monitoring

Each alert inherits an SLA due date based on its category and priority. A nightly batch job monitors SLA compliance:
SLA StatusConditionAction
On TrackDue date > warning thresholdNo action
WarningWithin warning windowEmail notification to analyst
CriticalDue date is todayUrgent notification
BreachedPast due dateAuto-escalate (if configured)

Resolution actions

When resolving an alert, specify one of the following actions:
ActionDescriptionUse case
ApproveAccept the entity despite the alertFalse positive or acceptable risk
DeclineReject the entityConfirmed compliance issue
EscalateRoute to senior reviewerComplex or uncertain case
Request DocumentRequest additional evidence from clientInsufficient documentation
Approve with ConditionsAccept with monitoring or restrictionsMarginal risk, mitigated by conditions

Bulk operations

For high-volume processing, use the bulk endpoints:
# Bulk acknowledge
curl -X POST https://api.zenoo.com/v1/alerts/bulk/acknowledge \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{ "alert_tokens": ["alt_001", "alt_002", "alt_003"] }'

# Bulk resolve
curl -X POST https://api.zenoo.com/v1/alerts/bulk/resolve \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_tokens": ["alt_004", "alt_005"],
    "action": "Approve",
    "notes": "Batch: confirmed formatting differences."
  }'

# Bulk assign
curl -X POST https://api.zenoo.com/v1/alerts/bulk/assign \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "alert_tokens": ["alt_006", "alt_007"],
    "assignee": "user_analyst01"
  }'
See Bulk Operations Guide for details on partial success handling and error responses.

Next steps