Skip to main content

Message Priority

Priority levels help you categorize the urgency and importance of your notifications.

Priority Levels (P1-P5)

Notifer uses the industry-standard P1-P5 priority scale (similar to Jira, PagerDuty, etc.):

PriorityNameDescriptionUse CaseColor
P1CriticalSystem down, major outageProduction failures, security breaches🔴 Red
P2HighUrgent, requires attentionWarnings, failed critical jobs🟠 Orange
P3MediumStandard notifications (default)Deployments, general updates🔵 Blue
P4LowInformational, can waitMaintenance, scheduled tasks⚫ Gray
P5InfoVery low priority, optionalDebug messages, verbose logging🔷 Cyan

Default: If you don't specify priority, it defaults to P3 (Medium).

Key insight: Lower number = higher importance. P1 is the most critical, P5 is the least.

Setting Priority

Via HTTP Headers

Use the X-Priority header when publishing (value 1-5):

# P1 Critical alert - production down
curl -d "Production server is down!" \
-H "X-Priority: 1" \
https://app.notifer.io/alerts

# P2 High priority warning
curl -d "Database backup failed" \
-H "X-Priority: 2" \
https://app.notifer.io/backups

# P3 Medium priority (default - same as omitting the header)
curl -d "User signed up" \
-H "X-Priority: 3" \
https://app.notifer.io/events

# P4 Low priority info
curl -d "Maintenance window scheduled" \
-H "X-Priority: 4" \
https://app.notifer.io/maintenance

# P5 Debug message
curl -d "Function X called with param Y" \
-H "X-Priority: 5" \
https://app.notifer.io/debug

Via Web App

When publishing from the web dashboard:

  1. Click "Publish" button
  2. Enter your message
  3. Select priority from slider (P1-P5)
  4. Click "Send"

Via API

When using the REST API:

curl -X POST https://app.notifer.io/my-topic \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: text/plain" \
-H "X-Priority: 1" \
-d "Critical message"

Priority in Mobile Apps

Notification Filtering

In the mobile app, you can filter notifications by priority threshold:

  1. Open topic → SettingsNotifications
  2. Set "Priority Threshold" (e.g., P1 through P2 only)
  3. Save settings

This means with threshold set to P2:

  • P1-P2 messages: Push notification sent
  • P3-P5 messages: Silent (no push notification)

Example: Set threshold to P2 for critical-only alerts on your phone.

Notification Sounds

Different priorities can trigger different notification sounds:

PriorityDefault SoundVibration
P1 (Critical)Urgent alarmStrong
P2 (High)Alert toneMedium
P3 (Medium)Standard chimeLight
P4 (Low)Soft toneNone
P5 (Info)SilentNone

Configure custom sounds per topic in the mobile app.

Priority in Web Dashboard

Visual Indicators

Messages are color-coded by priority:

  • P1 Critical: 🔴 Red background, pulsing animation
  • P2 High: 🟠 Orange accent
  • P3 Medium: 🔵 Blue, default styling
  • P4 Low: ⚫ Gray, muted
  • P5 Info: 🔷 Cyan, subtle

Filtering

Messages can be filtered by priority:

  1. Go to topic page
  2. Click Filter icon
  3. Use priority range slider to select which priorities to show

Use Cases by Priority

P1: Critical 🔴

System failures:

curl -d "Database PRIMARY is DOWN - all writes failing!" \
-H "X-Title: CRITICAL: Database Failure" \
-H "X-Priority: 1" \
-H "X-Tags: critical,database,production" \
https://app.notifer.io/alerts

Security incidents:

curl -d "Unauthorized access detected from IP 185.xxx.xxx.xxx" \
-H "X-Title: SECURITY ALERT" \
-H "X-Priority: 1" \
-H "X-Tags: security,intrusion" \
https://app.notifer.io/security

Time-critical events:

curl -d "SSL certificate expires in 2 hours!" \
-H "X-Title: URGENT: Certificate Expiring" \
-H "X-Priority: 1" \
https://app.notifer.io/certificates

P2: High 🟠

Warnings and failures:

curl -d "Backup job failed with exit code 1" \
-H "X-Title: Backup Failed" \
-H "X-Priority: 2" \
-H "X-Tags: backup,failure" \
https://app.notifer.io/backups

Performance issues:

curl -d "API response time p95: 2.5s (threshold: 500ms)" \
-H "X-Title: High Latency Detected" \
-H "X-Priority: 2" \
-H "X-Tags: performance,api" \
https://app.notifer.io/monitoring

P3: Medium 🔵

General updates:

curl -d "Deployment v2.1.0 completed successfully" \
-H "X-Title: Deploy Success" \
-H "X-Priority: 3" \
-H "X-Tags: deploy,success" \
https://app.notifer.io/deployments

Standard notifications:

curl -d "New user registration: john@example.com" \
-H "X-Priority: 3" \
https://app.notifer.io/users

P4: Low ⚫

Background tasks:

curl -d "Daily cleanup job completed: 2.3GB freed" \
-H "X-Title: Cleanup Complete" \
-H "X-Priority: 4" \
https://app.notifer.io/maintenance

Informational logs:

curl -d "Cache hit rate: 95%, evictions: 120/hour" \
-H "X-Priority: 4" \
https://app.notifer.io/stats

P5: Info 🔷

Debug information:

curl -d "Function processOrder() called (orderID: 12345)" \
-H "X-Priority: 5" \
-H "X-Tags: debug,trace" \
https://app.notifer.io/debug

Verbose logging:

curl -d "HTTP GET /api/users - 200 OK - 45ms" \
-H "X-Priority: 5" \
https://app.notifer.io/access-log

Best Practices

1. Use Priority Consistently

Define priority guidelines for your team:

P1: Production is down or serious security issue
P2: Degraded service or failed critical job
P3: Normal operations, successful deployments
P4: Maintenance, scheduled tasks
P5: Debug, development only

2. Don't Overuse P1

❌ Bad:

# Everything is critical - nothing is critical
curl -d "User logged in" -H "X-Priority: 1" ...
curl -d "Cache cleared" -H "X-Priority: 1" ...

✅ Good:

# Only truly critical events
curl -d "Payment gateway DOWN" -H "X-Priority: 1" ...
curl -d "User logged in" -H "X-Priority: 3" ... # Default

3. Filter Mobile Notifications

For on-call scenarios:

  • Production topics: Threshold P2 (only P1-P2 alerts)
  • General topics: Threshold P3 (P1-P3 messages)
  • Debug topics: Threshold P5 or disable push entirely

4. Combine with Tags

Priority + Tags = Powerful filtering:

curl -d "Server prod-web-01 CPU: 98%" \
-H "X-Priority: 2" \
-H "X-Tags: warning,cpu,prod-web-01" \
https://app.notifer.io/monitoring

In the app, filter by:

  • Priority threshold P2 (P1-P2 only)
  • Tag = "prod-web-01" (specific server)

API Response

When you publish a message, the priority is included in the response:

{
"id": "uuid",
"topic": "alerts",
"message": "Server is down",
"title": "Critical Alert",
"priority": 1,
"tags": ["critical", "server"],
"timestamp": "2025-11-22T10:30:00Z"
}

Next Steps


Pro Tip: Use P1 sparingly - it should wake you up at 3 AM. Everything else can probably wait until morning! 😴