Notifications
Keep your team and users informed with automated notifications when incidents occur or services change status.
Default Setting
All notification channels are disabled by default. Enable and configure each channel you need.
How Notifications Work
When an event occurs, notifications flow through a pipeline to reach your team:
Incident, Maintenance, Status Change
Available Channels
SMTP-based alerts
Discord
Rich webhook embeds
Slack
Channel notifications
Telegram
Bot messages
Email Setup
To enable email notifications:
- Go to Admin → Features
- Enable Email Notifications
- Configure SMTP Host & Port
- Set username & password
- Click Save Changes
Gmail Users
If using Gmail, create an "App Password" in your Google account settings. Regular passwords won't work due to security policies.
Discord Setup
Open Discord Settings
Go to your channel settings
Create Webhook
Integrations → Webhooks → New Webhook
Copy URL
Copy the webhook URL
Configure ATStatus
Paste URL in Admin → Notifications
Discord Embed Customization
Customize every aspect of how your notifications appear in Discord:
| Option | Description | Default |
|---|---|---|
| Embed Title | Custom title ({{title}} for incident) | Incident title |
| Embed Color | Hex color code | Auto (severity) |
| Author Name | Author section name | None |
| Thumbnail | Small top-right image | None |
| Footer Text | Footer message | "Status Page Notification" |
Severity Colors
Scheduled Reports
Automatically send uptime reports to keep stakeholders informed.
Report Contents
- Overall uptime percentage
- Total incidents & resolution status
- Maintenance events summary
- Per-component statistics
- Recent incident summaries
Report Daemon
For self-hosted deployments, run the report daemon:
node scripts/report-daemon.jsOr use a cron job:
curl -X POST "http://localhost:3000/api/reports/execute?secret=YOUR_CRON_SECRET"Sound Notifications
Play browser audio alerts when status changes occur.
Available Sounds
plinkchimebellalertsoftBrowser Autoplay
Sound notifications require user interaction with the page before they can play, due to browser autoplay policies.
