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 → Settings → Notifications
  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! 😴