Skip to content

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

  1. Navigate to Dashboard
  2. Go to app.notifer.io
  3. Click "+ New Topic" button in sidebar

  4. Enter Topic Details

  5. Topic Name - Unique identifier (e.g., server-alerts, deployments)
    • Must be alphanumeric with hyphens/underscores
    • Cannot be changed after creation
  6. Display Name (optional) - Friendly name shown in UI
  7. Description (optional) - What this topic is for

  8. Choose Privacy Level

  9. Public - Anyone can publish and subscribe
  10. Private - Only you control access

  11. 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.

  1. Open topic settings (gear icon)
  2. Scroll to bottom → Danger Zone
  3. Click "Delete Topic"
  4. Confirm by typing topic name

Topic Organization Tips

Naming Conventions

Use consistent patterns across topics:

By Environment:

prod-alerts
staging-alerts
dev-alerts

By System:

backend-errors
frontend-errors
database-alerts

By Priority:

critical-incidents
high-priority
low-priority

By Team:

team-engineering
team-sales
team-support

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