Creating Topics¶
Learn how to create and configure topics for your notifications.
What are Topics?
Topics are channels for organizing notifications. Think of them like email folders or Slack channels - each topic groups related messages together.
Creating Your First Topic¶
Via Web Dashboard¶
- Navigate to Dashboard
- Go to app.notifer.io
-
Click "+ New Topic" button in sidebar
-
Enter Topic Details
- Topic Name - Unique identifier (e.g.,
server-alerts,deployments)- Must be alphanumeric with hyphens/underscores
- Cannot be changed after creation
- Display Name (optional) - Friendly name shown in UI
-
Description (optional) - What this topic is for
-
Choose Privacy Level
- Public - Anyone can publish and subscribe
-
Private - Only you control access
-
Click "Create Topic"
Topic Naming Best Practices¶
Good Names:
- server-alerts - Clear, descriptive
- ci-deployments - Organized by system
- customer-signups - Event-based
- high-priority-incidents - Includes context
Avoid:
- topic1, test123 - Not descriptive
- my topic name - Spaces not allowed
- aBc-XyZ - Inconsistent capitalization
Public vs Private Topics¶
Public Topics¶
When to use: - Open communities - Public status updates - Non-sensitive shared integrations - Testing and development
Characteristics: - ✅ No authentication required to publish or subscribe - ✅ Anyone who knows the topic name can publish messages - ✅ Discoverable in "Discover Topics" tab (optional) - ⚠️ No access control - anyone can publish to your topic - ⚠️ IP-based rate limiting only (100 requests/minute per IP) - ⚠️ No way to block specific users or IPs
Security Implications
Anyone who knows your topic name can publish messages to it, regardless of authentication. For production systems or sensitive data, use Private topics instead.
Recommendations for PUBLIC topics:
- Use hard-to-guess names (e.g.,
swift-falcon-x8k2jf9a) - use the Generate button in the create dialog - Don't share topic names publicly (GitHub, documentation, blog posts)
- Avoid predictable names like
alerts,notifications,prod - For true security, upgrade to ESSENTIALS plan for private topics with access control
Example use cases:
# Public status updates (use unpredictable name)
curl -d "Service is operational" https://app.notifer.io/status-bright-eagle-k3m9n2p7
# Community notifications (intended to be public)
curl -d "New blog post published" https://app.notifer.io/myproject-news
Private Topics¶
When to use: - Personal notifications - Team/company internal alerts - Sensitive information - Production systems
Characteristics: - 🔒 Authentication required (JWT, API key, or topic access token) - 🔒 Only owner can publish (unless token shared) - 🔒 Only owner can subscribe - 🔒 Not shown in "Discover Topics" - ✅ Full access control
Example use cases:
# Production alerts (with topic access token)
curl -d "Database backup failed" \
-H "X-Topic-Token: tk_your_token_here" \
https://app.notifer.io/prod-alerts
# Personal reminders (with API key)
curl -d "Meeting in 10 minutes" \
-H "X-API-Key: noti_your_key_here" \
https://app.notifer.io/my-reminders
Privacy Recommendations¶
When in Doubt, Choose Private
Private topics require ESSENTIALS plan or higher. If you need access control for production systems or sensitive data, private topics are the only secure option.
| Use Case | Recommended Privacy | Why |
|---|---|---|
| Production alerts | Private ⚠️ | Sensitive system information - requires access control |
| CI/CD notifications | Private ⚠️ | May contain deployment details and secrets |
| Personal reminders | Private ⚠️ | Personal information |
| Team notifications | Private ⚠️ | Internal communications - use Team topics |
| Customer data/orders | Private ⚠️ | Sensitive business data |
| Public status page | Public ✅ | Intended for everyone - OK to be open |
| Open source project updates | Public ✅ | Community engagement - use unpredictable name if concerned |
| Testing/development | Public ⚠️ | Easy testing - but use test-only data, not production |
| Hobby projects (non-sensitive) | Public ✅ | Use secure name generator to reduce spam risk |
⚠️ = Requires access control - Upgrade to ESSENTIALS ($9/mo) for private topics ✅ = Safe for PUBLIC - Free tier, but use secure names
Topic Settings¶
After creating a topic, configure it in Topic Settings:
Access Control (Private Topics Only)¶
- Access Tokens - Create tokens for integrations
- See Topic Access Tokens
- Permissions - Who can publish/subscribe
Notification Settings¶
- Default Priority - Priority for messages without explicit priority
- Retention - How long to keep messages (default: 30 days)
Integration¶
- Webhook URL - Forward messages to external services
- Email Notifications - Send messages via email
See Topic Settings Guide for detailed configuration.
Managing Topics¶
View Your Topics¶
My Topics Tab: - Shows all topics you own - Displays message count, subscriber count - Quick actions: Settings, Delete
Subscribed Tab: - Shows topics you're subscribed to - Your notification settings per topic
Delete a Topic¶
Permanent Action
Deleting a topic cannot be undone. All messages and settings will be lost.
- Open topic settings (gear icon)
- Scroll to bottom → Danger Zone
- Click "Delete Topic"
- Confirm by typing topic name
Topic Organization Tips¶
Naming Conventions¶
Use consistent patterns across topics:
By Environment:
By System:
By Priority:
By Team:
Creating Topic Hierarchies¶
While Notifer doesn't have folder structures, use naming to create logical groups:
# Server monitoring
server-cpu-alerts
server-disk-alerts
server-network-alerts
# Application events
app-user-signups
app-purchases
app-errors
Examples¶
Personal Use¶
# Morning reminders
Topic: daily-reminders (Private)
curl -d "Time for standup meeting" \
-H "X-API-Key: noti_..." \
https://app.notifer.io/daily-reminders
Team Collaboration¶
# Deployment notifications
Topic: deployments (Private)
curl -d "Production deployment started" \
-H "X-Topic-Token: tk_..." \
-H "X-Priority: 4" \
https://app.notifer.io/deployments
Open Source Project¶
# Release announcements
Topic: project-releases (Public)
curl -d "v2.0 released! 🎉" \
-H "X-Tags: release,major" \
https://app.notifer.io/project-releases
Troubleshooting¶
Topic Name Already Taken¶
Problem: "Topic name already exists" error
Solution:
- Topic names are globally unique
- Try adding prefix/suffix: myapp-alerts instead of alerts
- Check if you already own this topic in "My Topics"
Can't Publish to Topic¶
Problem: 401 Unauthorized or 403 Forbidden
Solution:
- Public topic: Should work without authentication
- Private topic: Verify you're using correct authentication:
- Topic access token: -H "X-Topic-Token: tk_..."
- API key: -H "X-API-Key: noti_..."
- JWT: -H "Authorization: Bearer ..."
Topic Not Showing in Discover¶
Problem: Public topic not visible in "Discover Topics"
Solution: - Only public topics appear in Discover - New topics may take a few minutes to appear - Topics with no messages may not be shown - Check topic privacy in settings
Next Steps¶
- Topic Settings - Configure topic settings and access tokens
- Publishing Messages - Start sending notifications
- Dashboard Guide - Navigate your topics efficiently
- Topic Access Tokens - Secure integrations