Back to Help Center

Notification Rules

Create intelligent rules to control when and how you receive alerts

Understanding Rules

Notification rules allow you to create conditional logic for when alerts should be sent. This helps reduce noise and ensure you only get notified about events that matter.

Rule Components

  • Trigger: The event that initiates the rule
  • Conditions: Criteria that must be met
  • Actions: What happens when conditions match
  • Channels: Where the notification is sent

Creating Rules

Basic Rules

Start with simple rules based on job status:

IF job_status = "failed" THEN notify via email

Send email when any job fails

IF job_status = "success" AND duration > 300 THEN notify via slack

Slack alert for jobs taking longer than 5 minutes

Advanced Rules

Combine multiple conditions for sophisticated alerting:

IF job_status = "failed"
AND error_count > 5
AND metadata.priority = "high"
THEN notify via email + slack

Time-Based Rules

Control notification timing to avoid alert fatigue:

Quiet Hours

Suppress non-critical alerts during specific hours

Quiet: 10 PM - 8 AM (local time)

Rate Limiting

Limit notifications to prevent spam

Max: 5 alerts per hour

Escalation

Increase urgency if issue persists

After 3 failures: notify manager

Severity Levels

Assign severity to rules for better prioritization:

Critical

Immediate action required - production impact

High

Important but not urgent - address soon

Medium

Normal priority - can wait for business hours

Low

Informational only - no action needed

Rule Examples

Data Pipeline Monitoring

Alert if ETL job fails during business hours, but only send summary email for weekend failures

IF failed AND weekday THEN slack ELSE email_digest

Performance Degradation

Notify when job duration exceeds baseline by 50%

IF duration > (avg_duration * 1.5) THEN notify

Repeated Failures

Escalate to manager if same job fails 3 times in a row

IF consecutive_failures >= 3 THEN notify_manager

Learn More

For detailed API documentation on creating rules programmatically:

REST API Documentation →