Skip to main content
Contact points define where alert notifications are sent. They represent integrations with external systems like email, Slack, PagerDuty, and many others.

Contact Point Structure

A contact point can contain multiple integrations (receivers) that share the same name:

Integration Configuration

Email

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 empty
string
Comma-separated user IDs to mention

PagerDuty

string
required
PagerDuty integration key (stored securely)
string
Severity level: critical, error, warning, info

Webhook

string
required
Webhook endpoint URL
string
default:"POST"
HTTP method: POST, PUT
string
Authorization scheme: Bearer, Basic, or custom

Microsoft Teams

Discord

Secure Fields

Sensitive data (API keys, passwords) are stored securely:
Secure fields:
  • Are encrypted at rest
  • Cannot be read via API (only written)
  • Use ${VAR_NAME} syntax in provisioning
  • Show as true in secureFields when set

Notification Options

Disable Resolve Messages

When 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

Name contact points after the team or purpose (e.g., backend-team, critical-alerts, ops-pagerduty).
Use templates to make notifications informative and actionable. Include:
  • Alert name and severity
  • Relevant metric values
  • Runbook links
  • Dashboard links
Always test contact points before using them in production notification policies.
Use secure fields for API keys, tokens, and passwords. Never commit secrets to version control.
Only disable resolve messages if the integration doesn’t support them or they’re not useful.

Troubleshooting

  • Check notification policy routes to this contact point
  • Verify integration credentials are correct
  • Check contact point status for errors
  • Review alertmanager logs
  • Validate Go template syntax
  • Check that referenced labels/annotations exist
  • Test with the contact point test feature
  • 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

Notification Policies

Route alerts to contact points

Alert Rules

Create rules that generate alerts

Notification Templates

Customize notification content

Overview

Understand the alerting architecture