Notifications & Integrations
Configure notifications to stay informed about errors in your applications. Checkend supports email, Slack, Discord, webhooks, and GitHub issue creation.
Overview
Checkend can send notifications when errors occur in your applications. Notifications are sent in two scenarios:
- New errors — When a new error type is first detected
- Reoccurred errors — When a previously resolved error occurs again
Each app has its own notification settings, allowing you to control which apps send notifications and to which channels. You can configure multiple notification methods for the same app, and all configured methods will receive notifications.
Email Notifications
Email notifications are sent to team members when errors occur. To enable email notifications, you need to configure SMTP settings in the Checkend dashboard.
Configuring SMTP
SMTP configuration is managed by site administrators through the dashboard:
- 1 Navigate to Settings → Email Settings in the dashboard
- 2 Click Edit to configure SMTP settings
- 3 Enter your SMTP server details (address, port, authentication, credentials)
- 4 Enable the configuration and use the Test Connection button to verify
| Setting | Description |
|---|---|
| Address | SMTP server address (e.g., smtp.gmail.com) |
| Port | SMTP port (typically 587 for TLS, 465 for SSL) |
| Domain | HELO domain (optional, usually your domain name) |
| User Name | SMTP username (usually your email address) |
| Password | SMTP password (encrypted and stored securely) |
| Authentication | Authentication method (plain, login, or cram_md5) |
| Enable STARTTLS | Enable STARTTLS for secure connections (recommended) |
Site Admin Required
Password Security
Slack Integration
Receive error notifications directly in your Slack channels using Slack webhooks. Checkend sends formatted messages using Slack's Block Kit for rich, interactive notifications.
Creating a Slack Webhook
- 1 Go to Slack's webhook documentation or navigate to your Slack workspace settings
- 2 Create a new incoming webhook for the channel where you want to receive notifications
- 3 Copy the webhook URL (format:
https://hooks.slack.com/services/...)
Configuring in Checkend
- 1 Navigate to your app's settings page
- 2 Scroll to the Slack Integration section
- 3 Paste your Slack webhook URL in the Slack Webhook URL field
- 4 Save the app settings
Message Format
Slack notifications include:
- Error class and message
- App name and environment
- Notice count and timestamps
- Backtrace (first 10 lines) when available
- Button to view the problem in Checkend
Webhook URL Security
Discord Integration
Receive error notifications in your Discord channels using Discord webhooks. Checkend sends rich, formatted messages using Discord's Rich Embed format.
Creating a Discord Webhook
- 1 Open your Discord server settings
- 2 Navigate to Integrations → Webhooks
- 3 Click New Webhook and select the channel
- 4 Copy the webhook URL (format:
https://discord.com/api/webhooks/...)
Configuring in Checkend
Configure Discord integration the same way as Slack: navigate to your app's settings, find the Discord Integration section, and paste your webhook URL.
Rich Embed Format
Discord notifications use Rich Embeds with:
- Color coding: Red for new errors, gold for reoccurred errors
- Error details in structured fields (app, environment, error class, notices count)
- Timestamps and clickable link to view the problem in Checkend
Generic Webhook Integration
Send error notifications to any HTTP endpoint via POST request. This allows you to integrate Checkend with custom systems, monitoring tools, or other services that accept webhooks.
Use Cases
- Custom monitoring dashboards
- Integration with other error tracking systems
- Custom automation workflows
- Internal APIs and microservices
Payload Structure
Webhook requests are sent as JSON with the following structure:
{
"event": "new_problem",
"problem": {
"id": 123,
"error_class": "NoMethodError",
"error_message": "undefined method 'foo' for nil:NilClass",
"notices_count": 5,
"first_noticed_at": "2025-12-17T02:37:20Z",
"last_noticed_at": "2025-12-24T01:37:20Z",
"status": "unresolved",
"url": "https://checkend.example.com/apps/my-app/problems/123"
},
"app": {
"id": 1,
"name": "My Rails App",
"environment": "production",
"slug": "my-rails-app"
},
"notice": {
"id": 456,
"occurred_at": "2025-12-24T01:37:20Z",
"context": {},
"request": {},
"user_info": {}
},
"timestamp": "2025-12-24T01:37:20Z"
} | Field | Description |
|---|---|
| event | Event type: new_problem or problem_reoccurred |
| problem | Complete problem details including ID, error information, and status |
| app | App information including name, environment, and slug |
| notice | Details about the specific notice that triggered the notification (may be null) |
| timestamp | ISO 8601 timestamp when the notification was sent |
HTTP Method
POST requests with Content-Type: application/json header.
GitHub Integration
Automatically create GitHub issues when errors occur. This integration helps you track errors directly in your repository's issue tracker.
Creating a GitHub Personal Access Token
- 1 Go to GitHub Settings → Developer settings → Personal access tokens
- 2 Click Generate new token (classic)
- 3 Give the token a descriptive name (e.g., "Checkend Error Tracking")
- 4 Select the
reposcope (this allows creating issues) - 5 Click Generate token and copy the token (you won't be able to see it again)
Token Security
Configuring in Checkend
- 1 Navigate to your app's settings page
- 2 Scroll to the GitHub Integration section
- 3 Enable the integration by checking Enable GitHub issue creation
- 4 Enter the repository in format
owner/repo(e.g.,octocat/Hello-World) - 5 Paste your GitHub personal access token
- 6 Save the app settings
Issue Format
GitHub issues are created with:
- Title:
[App Name] ErrorClass: truncated message - Body: Markdown-formatted with error details, backtrace (first 20 lines), and link to Checkend
- Labels:
bug,error-report(new errors), plusreoccurred(reoccurred errors)
Best Practices
Security
- All sensitive credentials (webhook URLs, tokens, passwords) are encrypted and stored securely
- Use minimal permissions for GitHub tokens (only
reposcope) - Regularly rotate tokens and webhook URLs if they're compromised
- Use dedicated channels/webhooks for production error notifications
Testing
- Test SMTP configuration using the Test Connection button before enabling
- Send a test error to verify webhook integrations are working correctly
- Check your notification channels after configuring to ensure messages are received
Troubleshooting
Notifications not being sent
- Verify the app's notification settings are enabled (new errors or reoccurred errors)
- Check that integration credentials are correctly configured
- Ensure team members have access to the app
SMTP connection failures
- Verify SMTP server address and port are correct
- Check that authentication credentials are valid
- Ensure STARTTLS is enabled if your SMTP server requires it
- Check firewall rules allow outbound SMTP connections
Webhook delivery failures
- Verify the webhook URL is correct and accessible
- Check that your endpoint accepts POST requests with JSON payloads
- Review server logs for HTTP error responses