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.):
| Priority | Name | Description | Use Case | Color |
|---|---|---|---|---|
| P1 | Critical | System down, major outage | Production failures, security breaches | 🔴 Red |
| P2 | High | Urgent, requires attention | Warnings, failed critical jobs | 🟠 Orange |
| P3 | Medium | Standard notifications (default) | Deployments, general updates | 🔵 Blue |
| P4 | Low | Informational, can wait | Maintenance, scheduled tasks | ⚫ Gray |
| P5 | Info | Very low priority, optional | Debug 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:
- Click "Publish" button
- Enter your message
- Select priority from slider (P1-P5)
- 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:
- Open topic → Settings → Notifications
- Set "Priority Threshold" (e.g., P1 through P2 only)
- 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:
| Priority | Default Sound | Vibration |
|---|---|---|
| P1 (Critical) | Urgent alarm | Strong |
| P2 (High) | Alert tone | Medium |
| P3 (Medium) | Standard chime | Light |
| P4 (Low) | Soft tone | None |
| P5 (Info) | Silent | None |
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:
- Go to topic page
- Click Filter icon
- 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
- Tags - Organize messages with tags
- Markdown - Rich text formatting
- Mobile App - Configure notification settings
- Publishing Guide - Send messages with priority
Pro Tip: Use P1 sparingly - it should wake you up at 3 AM. Everything else can probably wait until morning! 😴