Contact Point Structure
A contact point can contain multiple integrations (receivers) that share the same name:Integration Configuration
string
required
Comma-separated list of email addresses
boolean
default:"false"
Send a single email with all alerts (true) or separate emails (false)
Slack
string
required
Slack webhook URL (incoming webhook)
string
Channel name (e.g.,
#alerts) or user (e.g., @username)string
Mention channel:
here, channel, or emptystring
Comma-separated user IDs to mention
PagerDuty
string
required
PagerDuty integration key (stored securely)
string
Severity level:
critical, error, warning, infoWebhook
string
required
Webhook endpoint URL
string
default:"POST"
HTTP method:
POST, PUTstring
Authorization scheme:
Bearer, Basic, or customMicrosoft Teams
Discord
Secure Fields
Sensitive data (API keys, passwords) are stored securely:Notification Options
Disable Resolve Messages
true, only firing alerts are sent. Resolution notifications are suppressed.
Notification Templates
Use Go templates to customize notification content:Contact Point Metadata
Provisioning Contact Points
Backend Components
Validation
Contact points are validated before being saved:1
Type Validation
Integration type must be supported
2
Settings Validation
Required settings for the integration type must be provided
3
Name Validation
Name must be unique within the organization
4
Template Validation
Notification templates must be valid Go templates
5
URL Validation
Webhook URLs and other URLs must be valid
Testing Contact Points
Grafana provides a test feature to verify configuration:Best Practices
Use meaningful names
Use meaningful names
Name contact points after the team or purpose (e.g.,
backend-team, critical-alerts, ops-pagerduty).Customize notification content
Customize notification content
Use templates to make notifications informative and actionable. Include:
- Alert name and severity
- Relevant metric values
- Runbook links
- Dashboard links
Test before deploying
Test before deploying
Always test contact points before using them in production notification policies.
Secure sensitive data
Secure sensitive data
Use secure fields for API keys, tokens, and passwords. Never commit secrets to version control.
Handle resolve messages appropriately
Handle resolve messages appropriately
Only disable resolve messages if the integration doesn’t support them or they’re not useful.
Troubleshooting
Notifications not being sent
Notifications not being sent
- Check notification policy routes to this contact point
- Verify integration credentials are correct
- Check contact point status for errors
- Review alertmanager logs
Template errors
Template errors
- Validate Go template syntax
- Check that referenced labels/annotations exist
- Test with the contact point test feature
Integration-specific issues
Integration-specific issues
- Slack: Verify webhook URL and channel name
- Email: Check SMTP configuration in grafana.ini
- PagerDuty: Confirm integration key is correct
- Webhook: Check endpoint is accessible and accepts POST
Related Resources
Notification Policies
Route alerts to contact points
Alert Rules
Create rules that generate alerts
Notification Templates
Customize notification content
Overview
Understand the alerting architecture