Skip to main content

Notifications

RailPush has two notification layers: first-party inbox notifications for customers, plus workspace channels for deploys, alerts, and audit events.

Deep dive: Customer Alerts, Notification Inbox, and Support Tickets in RailPush.

Customer Notification Inbox​

Every signed-in customer has a notification inbox behind the bell icon. Notifications can be marked as read, deleted, or left active until the user dismisses them.

  • Product messages -- onboarding, billing, and system updates delivered inside RailPush
  • Maintenance banners -- active maintenance and incident alerts also surface as top-of-app banners
  • User controls -- mark read, dismiss, or clear inbox items without losing account access

Customer Alerts​

Ops can publish customer alerts globally or target specific users. Alerts support informational, warning, maintenance, and incident message types with optional start and end times.

  • Audience targeting -- send to everyone or just selected accounts
  • Operational context -- ideal for incidents, maintenance windows, or account-specific follow-up
  • Persistent visibility -- active alerts remain in the inbox until read or deleted

Workspace Notification Channels​

Configure per-workspace outbound notification channels in Settings -> Notifications:

  • Slack -- paste an incoming webhook URL
  • Discord -- paste a Discord webhook URL
  • Email -- add recipient email addresses

Supported Outbound Events​

  • Deploy events -- success, failure, rollback
  • Audit events -- service deleted, env vars changed, API key created, etc.
  • Log alerts -- triggered when log patterns match your configured rules
API
# Workspace notification channels
curl https://railpush.com/api/v1/workspaces/<ws-id>/notifications \
-H "Authorization: Bearer <token>"

# Update notification channels
curl -X PUT https://railpush.com/api/v1/workspaces/<ws-id>/notifications \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"slack_webhook_url": "https://hooks.slack.com/services/...",
"discord_webhook_url": "https://discord.com/api/webhooks/...",
"email_recipients": ["[email protected]"],
"deploy_events": ["success", "failed", "rollback"]
}'

# Customer inbox
curl https://railpush.com/api/v1/notifications \
-H "Authorization: Bearer <token>"

curl -X POST https://railpush.com/api/v1/notifications/<notification-id>/read \
-H "Authorization: Bearer <token>"

# Ops: publish a customer alert
curl -X POST https://railpush.com/api/v1/ops/announcements \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"title": "Scheduled maintenance tonight",
"message": "Expect brief interruptions between 02:00 and 04:00 UTC.",
"type": "maintenance",
"active": true,
"target_user_ids": []
}'