<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Configure contact points on Grafana Labs</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/</link><description>Recent content in Configure contact points on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/index.xml" rel="self" type="application/rss+xml"/><item><title>Configure an Alertmanager contact point</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-alertmanager/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-alertmanager/</guid><content><![CDATA[&lt;h1 id=&#34;configure-an-alertmanager-contact-point&#34;&gt;Configure an Alertmanager contact point&lt;/h1&gt;
&lt;p&gt;Use the Alertmanager integration in a contact point to send specific alerts to a different Alertmanager.&lt;/p&gt;
&lt;p&gt;If you have an existing Alertmanager running in your infrastructure, you can use a contact point to forward Grafana alerts to your Alertmanager.&lt;/p&gt;
&lt;p&gt;For example, a team might run its own Alertmanager to manage notifications from other alerting systems. That team can create alerts with Grafana and configure an Alertmanager contact point to forward only their alerts to their existing Alertmanager.&lt;/p&gt;
&lt;p&gt;This setup avoids duplicating Alertmanager configurations for better maintenance.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;To send all Grafana-managed alerts to an Alertmanager, add it as a data source and enable it to receive all alerts. With this setup, you can configure multiple Alertmanagers to receive all alerts.&lt;/p&gt;
&lt;p&gt;For setup instructions, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure Alertmanagers&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;configure-an-alertmanager-for-a-contact-point&#34;&gt;Configure an Alertmanager for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with Alertmanager integration, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Alertmanager&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, enter the URL of the Alertmanager.&lt;/li&gt;
&lt;li&gt;(Optional) Configure &lt;a href=&#34;#optional-settings&#34;&gt;optional settings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;alertmanager-settings&#34;&gt;Alertmanager settings&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;URL&lt;/td&gt;
              &lt;td&gt;The Alertmanager URL. This field is 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;protected&lt;/a&gt; from modification in Grafana Cloud.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-settings&#34;&gt;Optional settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Auth User&lt;/td&gt;
              &lt;td&gt;Username for HTTP Basic Authentication.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Auth Password&lt;/td&gt;
              &lt;td&gt;Password for HTTP Basic Authentication.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-notification-settings&#34;&gt;Optional notification settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Disable resolved message&lt;/td&gt;
              &lt;td&gt;Enable this option to prevent notifications when an alert resolves.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="configure-an-alertmanager-contact-point">Configure an Alertmanager contact point&lt;/h1>
&lt;p>Use the Alertmanager integration in a contact point to send specific alerts to a different Alertmanager.&lt;/p>
&lt;p>If you have an existing Alertmanager running in your infrastructure, you can use a contact point to forward Grafana alerts to your Alertmanager.&lt;/p></description></item><item><title>Configure Amazon SNS for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-amazon-sns/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-amazon-sns/</guid><content><![CDATA[&lt;h1 id=&#34;configure-amazon-sns-notifications&#34;&gt;Configure Amazon SNS notifications&lt;/h1&gt;
&lt;p&gt;Use the Amazon SNS integration in a contact point to send alert notifications to a SNS topic. Then, configure the SNS topic to forward notifications to distinct subscriber channels used in your SNS account.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Before you begin, ensure you have the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;AWS SNS Topic&lt;/strong&gt;: An SNS topic to send notifications to.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS IAM Identity with necessary access&lt;/strong&gt;: An IAM identity (e.g. user, role) with the necessary permissions to publish messages to the SNS topic.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a minimal setup, refer to &lt;a href=&#34;#example-using-an-access-key&#34;&gt;Example using an Access Key&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;configure-amazon-sns-for-a-contact-point&#34;&gt;Configure Amazon SNS for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with a SNS integration, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;AWS SNS&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set up the required &lt;a href=&#34;#sns-settings&#34;&gt;settings&lt;/a&gt; for your SNS configuration.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;sns-settings&#34;&gt;SNS Settings&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Amazon SNS API URL&lt;/strong&gt;: (Optional) The SNS API URL, e.g., &lt;code&gt;https://sns.us-east-2.amazonaws.com&lt;/code&gt;. If not specified, the SNS API URL from the SNS SDK will be used.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Signature Version (sigv4)&lt;/strong&gt;: Configures AWS&amp;rsquo;s Signature Verification 4 signing process to sign requests.
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Region&lt;/strong&gt;: (Optional) The AWS region. If blank, the region from the default credentials chain is used.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Access Key&lt;/strong&gt; : (Optional) The AWS API access key.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secret Key&lt;/strong&gt;: (Optional) The AWS API secret key.
&lt;blockquote&gt;
&lt;p&gt;Both &lt;code&gt;Access Key&lt;/code&gt; and &lt;code&gt;Secret Key&lt;/code&gt; must be provided together or left blank together.&lt;/p&gt;
&lt;p&gt;If left blank, Grafana searches for credentials using the default credentials chain, including environment variables (&lt;code&gt;AWS_ACCESS_KEY_ID&lt;/code&gt; and &lt;code&gt;AWS_SECRET_ACCESS_KEY&lt;/code&gt;), the shared credential file, and EC2 instance roles.&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Profile&lt;/strong&gt;: (Optional) Named AWS profile used to authenticate.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SNS topic ARN&lt;/strong&gt;: (Optional) If you don&amp;rsquo;t specify this value, you must specify a value for the &lt;code&gt;Phone number&lt;/code&gt; or &lt;code&gt;Target ARN&lt;/code&gt;. If you are using a FIFO SNS topic you should set a message group interval longer than 5 minutes to prevent messages with the same group key being deduplicated by the SNS default deduplication window.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Phone number&lt;/strong&gt;: (Optional) Phone number if message is delivered via SMS in E.164 format. If you don&amp;rsquo;t specify this value, you must specify a value for the &lt;code&gt;SNS topic ARN&lt;/code&gt; or &lt;code&gt;Target ARN&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Target ARN&lt;/strong&gt;: (Optional) The mobile platform endpoint ARN if message is delivered via mobile notifications. If you don&amp;rsquo;t specify this value, you must specify a value for the &lt;code&gt;SNS topic ARN&lt;/code&gt; or &lt;code&gt;Phone number&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Subject&lt;/strong&gt;: (Optional) Customize the subject. This field supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt; and, by default, uses the default title template (&lt;code&gt;default.title&lt;/code&gt;). It &lt;strong&gt;cannot be an empty string&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Message&lt;/strong&gt;: (Optional) Customize the message. This field supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt; and, by default, uses the default message template (&lt;code&gt;default.message&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Attributes&lt;/strong&gt;: (Optional) Add any SNS message attributes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;example-using-an-access-key&#34;&gt;Example using an Access Key&lt;/h2&gt;
&lt;p&gt;This section outlines a minimal setup to configure Amazon SNS with Alerting.&lt;/p&gt;
&lt;h3 id=&#34;1-create-an-sns-topic-and-email-subscriber&#34;&gt;1. Create an SNS Topic and Email Subscriber&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Navigate to SNS in AWS Console&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href=&#34;https://console.aws.amazon.com/sns/v3/home&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Amazon SNS Console&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a new topic&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the &lt;strong&gt;Topics&lt;/strong&gt; page, choose &lt;strong&gt;&amp;ldquo;Create topic&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;&amp;ldquo;Standard&amp;rdquo;&lt;/strong&gt; as the type.&lt;/li&gt;
&lt;li&gt;Enter a &lt;strong&gt;Name&lt;/strong&gt; for your topic, e.g., &lt;code&gt;My-Topic&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Encryption&lt;/strong&gt;: Leave disabled for this minimal setup.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&amp;ldquo;Create topic&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;(Optional) &lt;strong&gt;Add an email subscriber to help test&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Within your newly created topic, click on &lt;strong&gt;&amp;ldquo;Create subscription&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Protocol&lt;/strong&gt;: Choose &lt;code&gt;Email&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Endpoint&lt;/strong&gt;: Enter your email address to receive test notifications.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&amp;ldquo;Create subscription&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Confirm Subscription&lt;/strong&gt;: Check your email and confirm the subscription by clicking the provided link.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;2-create-an-iam-policy-user-and-access-key&#34;&gt;2. Create an IAM Policy, User, and Access Key&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Navigate to IAM in AWS Console&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go to the &lt;a href=&#34;https://console.aws.amazon.com/iam/home&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;IAM Console&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a new policy&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;On the &lt;strong&gt;Policies&lt;/strong&gt; page, choose &lt;strong&gt;&amp;ldquo;Create policy&amp;rdquo;&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Switch to the &lt;strong&gt;&amp;ldquo;JSON&amp;rdquo;&lt;/strong&gt; tab and paste the following policy, replacing &lt;code&gt;Resource&lt;/code&gt; with your SNS topic ARN:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;Version&amp;#34;: &amp;#34;2012-10-17&amp;#34;,
  &amp;#34;Statement&amp;#34;: [
    {
      &amp;#34;Effect&amp;#34;: &amp;#34;Allow&amp;#34;,
      &amp;#34;Action&amp;#34;: [&amp;#34;sns:Publish&amp;#34;, &amp;#34;sns:GetTopicAttributes&amp;#34;],
      &amp;#34;Resource&amp;#34;: &amp;#34;arn:aws:sns:&amp;lt;region&amp;gt;:&amp;lt;account_id&amp;gt;:&amp;lt;topic_name&amp;gt;&amp;#34;
    }
  ]
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&amp;ldquo;Next&amp;rdquo;&lt;/strong&gt;, name it (e.g., &lt;code&gt;SNSPublishPolicy&lt;/code&gt;), and click &lt;strong&gt;&amp;ldquo;Create policy&amp;rdquo;&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create a new IAM user and assign the policy&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the IAM Console, on the &lt;strong&gt;Users&lt;/strong&gt; page, choose &lt;strong&gt;&amp;ldquo;Create user&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a &lt;strong&gt;User name&lt;/strong&gt;, e.g., &lt;code&gt;alerting-sns-user&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&amp;ldquo;Next&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In &lt;strong&gt;Set permissions&lt;/strong&gt;, select &lt;strong&gt;&amp;ldquo;Attach policies directly&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Search for the policy you created earlier (&lt;code&gt;SNSPublishPolicy&lt;/code&gt;) and select it.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&amp;ldquo;Next&amp;rdquo;&lt;/strong&gt; , and click &lt;strong&gt;&amp;ldquo;Create user&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Create an Access Key&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Within your newly created user, click on &lt;strong&gt;&amp;ldquo;Create access key&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select an appropriate use-case, e.g., &lt;code&gt;Application running outside AWS&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&amp;ldquo;Next&amp;rdquo;&lt;/strong&gt; , and click &lt;strong&gt;&amp;ldquo;Create access key&amp;rdquo;&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Save Credentials&lt;/strong&gt;: Note the &lt;strong&gt;Access key ID&lt;/strong&gt; and &lt;strong&gt;Secret access key&lt;/strong&gt; that are required in the next step.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;3-configure-the-sns-contact-point-in-grafana&#34;&gt;3. Configure the SNS Contact Point in Grafana&lt;/h3&gt;
&lt;p&gt;Follow the steps in &lt;a href=&#34;#configure-amazon-sns-for-a-contact-point&#34;&gt;configure Amazon SNS for a contact point&lt;/a&gt;, using the settings below and replacing the placeholders with the SNS and IAM values created in the previous steps.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;The Amazon SNS API URL&lt;/strong&gt;: &lt;code&gt;https://sns.&amp;lt;region&amp;gt;.amazonaws.com&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Signature Version (sigv4)&lt;/strong&gt;:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Region&lt;/strong&gt;: &lt;code&gt;&amp;lt;region&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Access Key&lt;/strong&gt;: &lt;code&gt;&amp;lt;YOUR_ACCESS_KEY&amp;gt;&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Secret Key&lt;/strong&gt;: &lt;code&gt;&amp;lt;YOUR_SECRET_ACCESS_KEY&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SNS topic ARN&lt;/strong&gt;: &lt;code&gt;arn:aws:sns:&amp;lt;region&amp;gt;:&amp;lt;account_id&amp;gt;:&amp;lt;topic_name&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/#test-a-contact-point&#34;&gt;Test the contact point&lt;/a&gt; to ensure it&amp;rsquo;s working, or 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/#enable-notifications-for-a-contact-point&#34;&gt;enable notifications&lt;/a&gt; for it.&lt;/p&gt;
&lt;h2 id=&#34;additional-resources&#34;&gt;Additional Resources&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aws.amazon.com/sns/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Amazon SNS Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://docs.aws.amazon.com/iam/index.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Amazon IAM Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://prometheus.io/docs/alerting/configuration/#sns_config&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager SNS Configuration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="configure-amazon-sns-notifications">Configure Amazon SNS notifications&lt;/h1>
&lt;p>Use the Amazon SNS integration in a contact point to send alert notifications to a SNS topic. Then, configure the SNS topic to forward notifications to distinct subscriber channels used in your SNS account.&lt;/p></description></item><item><title>Configure Discord for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-discord/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-discord/</guid><content><![CDATA[&lt;h1 id=&#34;configure-discord-for-alerting&#34;&gt;Configure Discord for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Discord integration to receive alert notifications in your Discord channels when your Grafana alert rules are triggered and resolved.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Create a Webhook to enable Grafana to send alert notifications to Discord channels.
To create a Webhook in Discord, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Follow the steps in the &lt;a href=&#34;https://support.discord.com/hc/en-us/articles/228383668-Intro-to-Webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Intro to Webhooks guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Copy the Webhook URL.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your Discord integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select &lt;strong&gt;Discord&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Webhook URL&lt;/strong&gt; field, paste in your Webhook URL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;p&gt;A test alert notification should be sent to the Discord channel that you associated with the Webhook.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Discord contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Notifications&lt;/strong&gt; click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-discord-for-alerting">Configure Discord for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Discord integration to receive alert notifications in your Discord channels when your Grafana alert rules are triggered and resolved.&lt;/p></description></item><item><title>Configure email for alert notifications</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-email/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-email/</guid><content><![CDATA[&lt;h1 id=&#34;configure-email-for-alert-notifications&#34;&gt;Configure email for alert notifications&lt;/h1&gt;
&lt;p&gt;Use the email integration to send alert notifications to one or more addresses.&lt;/p&gt;
&lt;p&gt;You can customize the &lt;a href=&#34;#optional-settings-using-templates&#34;&gt;subject and main section of the email body&lt;/a&gt;. By default, the subject and body are generated from the alert data included in the notification.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;In Grafana OSS, you must configure SMTP settings before you can enable email notifications.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;In Grafana Cloud, SMTP configuration is not required.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Open the 
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-grafana/&#34;&gt;configuration file&lt;/a&gt;. The file is typically named &lt;code&gt;grafana.ini&lt;/code&gt; or &lt;code&gt;custom.ini&lt;/code&gt; and located in the &lt;code&gt;conf&lt;/code&gt; directory of your Grafana installation.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the 
    &lt;a href=&#34;/docs/grafana/v12.4/setup-grafana/configure-grafana/#smtp&#34;&gt;SMTP settings&lt;/a&gt; for your email server in the &lt;code&gt;[smtp]&lt;/code&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save your changes and restart Grafana.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Test email notifications by creating a contact point.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-email-for-a-contact-point&#34;&gt;Configure Email for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with a email integration, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Create contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Email&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set up the required &lt;a href=&#34;#email-settings&#34;&gt;settings&lt;/a&gt; for your Email configuration.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;email-settings&#34;&gt;Email settings&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Addresses&lt;/td&gt;
              &lt;td&gt;The list of email addresses to send the notifications. Email addresses are case sensitive.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-settings&#34;&gt;Optional settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Single email&lt;/td&gt;
              &lt;td&gt;Send a single email to all email addresses rather than individual emails.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-settings-using-templates&#34;&gt;Optional settings using templates&lt;/h4&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;You can customize the email subject and main section of the email body, but you can&amp;rsquo;t edit HTML or CSS for visual changes.&lt;/p&gt;
&lt;p&gt;In Grafana OSS and Enterprise, you can edit the full email template. However, this is not officially supported because it&amp;rsquo;s an internal API that may change without prior notice.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Subject&lt;/td&gt;
              &lt;td&gt;Sets the email subject, replacing the default template. Supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Message&lt;/td&gt;
              &lt;td&gt;Sets the main section of the email body, replacing the default template. Supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 750px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/media/docs/alerting/custom-email-message5.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/media/docs/alerting/custom-email-message5.png&#34;data-srcset=&#34;/media/docs/alerting/custom-email-message5.png?w=320 320w, /media/docs/alerting/custom-email-message5.png?w=550 550w, /media/docs/alerting/custom-email-message5.png?w=750 750w, /media/docs/alerting/custom-email-message5.png?w=900 900w, /media/docs/alerting/custom-email-message5.png?w=1040 1040w, /media/docs/alerting/custom-email-message5.png?w=1240 1240w, /media/docs/alerting/custom-email-message5.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Email notification with custom message.&#34;width=&#34;876&#34;height=&#34;330&#34;title=&#34;Email notification with custom message.&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/alerting/custom-email-message5.png&#34;
            alt=&#34;Email notification with custom message.&#34;width=&#34;876&#34;height=&#34;330&#34;title=&#34;Email notification with custom message.&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Email notification with custom message.&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h4 id=&#34;optional-notification-settings&#34;&gt;Optional notification settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Disable resolved message&lt;/td&gt;
              &lt;td&gt;Enable this option to prevent notifications when an alert resolves.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="configure-email-for-alert-notifications">Configure email for alert notifications&lt;/h1>
&lt;p>Use the email integration to send alert notifications to one or more addresses.&lt;/p>
&lt;p>You can customize the &lt;a href="#optional-settings-using-templates">subject and main section of the email body&lt;/a>. By default, the subject and body are generated from the alert data included in the notification.&lt;/p></description></item><item><title>Configure Google Chat for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-google-chat/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-google-chat/</guid><content><![CDATA[&lt;h1 id=&#34;configure-google-chat-for-alerting&#34;&gt;Configure Google Chat for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Google Chat integration to receive alert notifications in your Google Chat space when your Grafana alert rules are triggered and resolved.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Create a Webhook to enable Grafana to send alert notifications to a Google Chat space.
To create a Webhook in Google Chat space, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Follow the steps in &lt;a href=&#34;https://developers.google.com/workspace/chat/quickstart/webhooks#create_a_webhook&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Google&amp;rsquo;s Chat app guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Copy the Webhook URL.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your Google Chat integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select &lt;strong&gt;Google Chat&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, paste in your Webhook URL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;p&gt;A test alert notification should be sent to the Google Chat space that you associated with the Webhook.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Google Chat contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Notifications&lt;/strong&gt; click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-google-chat-for-alerting">Configure Google Chat for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Google Chat integration to receive alert notifications in your Google Chat space when your Grafana alert rules are triggered and resolved.&lt;/p></description></item><item><title>Configure Grafana IRM for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-irm/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-irm/</guid><content><![CDATA[&lt;h1 id=&#34;configure-grafana-irm-for-alerting&#34;&gt;Configure Grafana IRM for Alerting&lt;/h1&gt;
&lt;p&gt;In Grafana OSS and Grafana Enterprise, you can use a webhook contact point to send alerts to &lt;a href=&#34;/docs/grafana-cloud/alerting-and-irm/irm/&#34;&gt;Grafana IRM&lt;/a&gt;. Grafana IRM can then route alerts based on escalation chains for your team&amp;rsquo;s workflows.&lt;/p&gt;
&lt;p&gt;The alert notification flow is as follows:&lt;/p&gt;
&lt;p&gt;&lt;sup&gt;*&lt;/sup&gt; &lt;strong&gt;Grafana OSS/Enterprise&lt;/strong&gt; (send webhook alerts)-&amp;gt;&lt;strong&gt;Grafana Cloud IRM&lt;/strong&gt; (route via &lt;a href=&#34;/docs/grafana-cloud/alerting-and-irm/irm/configure/escalation-routing/escalation-chains/&#34;&gt;escalation chains&lt;/a&gt;)&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The Free Forever plan in Grafana Cloud IRM includes 3 IRM active users per month.&lt;/p&gt;
&lt;p&gt;These instructions apply only to Grafana OSS and Grafana Enterprise. To configure IRM for Grafana Cloud Alerting, refer to the &lt;a href=&#34;/docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/manage-contact-points/integrations/configure-irm/&#34;&gt;Grafana Cloud documentation&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;configure-an-integration-in-grafana-irm&#34;&gt;Configure an integration in Grafana IRM&lt;/h2&gt;
&lt;p&gt;First, enable an integration in IRM to accept alerts from Grafana Alerting. You can either create a new integration or use an existing &lt;strong&gt;Alertmanager&lt;/strong&gt; or &lt;strong&gt;Webhook&lt;/strong&gt; integration in IRM.&lt;/p&gt;
&lt;p&gt;To create the integration, follow the same steps as described in &lt;a href=&#34;/docs/grafana-cloud/alerting-and-irm/irm/configure/integrations/configure-integrations/&#34;&gt;Configure an OnCall integration in IRM&lt;/a&gt;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Integrations&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select either &lt;strong&gt;Alertmanager&lt;/strong&gt; or &lt;strong&gt;Webhook&lt;/strong&gt; integration from the list.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Alertmanager&lt;/strong&gt; integration – Includes preconfigured IRM templates for processing Grafana and Prometheus alerts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Webhook&lt;/strong&gt; integration – Uses default IRM templates for general alert processing.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provide a title, description, and assign it to a team, then click &lt;strong&gt;Create Integration&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;On the integration details page, copy the &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; URL to use in the next section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-a-webhook-contact-point-in-grafana-alerting&#34;&gt;Configure a webhook contact point in Grafana Alerting&lt;/h2&gt;
&lt;p&gt;Next, configure the contact point in Grafana Alerting to send alert notifications to Grafana IRM.&lt;/p&gt;
&lt;p&gt;In &lt;strong&gt;Grafana OSS&lt;/strong&gt; and &lt;strong&gt;Grafana Enterprise&lt;/strong&gt;, you need to create a &lt;strong&gt;Webhook&lt;/strong&gt; contact point using the HTTP endpoint URL you copied in the previous step.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Webhook&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, enter the HTTP endpoint URL of the IRM integration.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After configuring the contact point in Grafana Alerting and the integration in Grafana IRM, you can start testing the Alerting-to-IRM integration.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 750px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/media/docs/alerting/test-alert-group-on-irm.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/media/docs/alerting/test-alert-group-on-irm.png&#34;data-srcset=&#34;/media/docs/alerting/test-alert-group-on-irm.png?w=320 320w, /media/docs/alerting/test-alert-group-on-irm.png?w=550 550w, /media/docs/alerting/test-alert-group-on-irm.png?w=750 750w, /media/docs/alerting/test-alert-group-on-irm.png?w=900 900w, /media/docs/alerting/test-alert-group-on-irm.png?w=1040 1040w, /media/docs/alerting/test-alert-group-on-irm.png?w=1240 1240w, /media/docs/alerting/test-alert-group-on-irm.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Example of a test alert group in Grafana IRM&#34;width=&#34;1147&#34;height=&#34;811&#34;title=&#34;Example of a test alert group in Grafana IRM&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/alerting/test-alert-group-on-irm.png&#34;
            alt=&#34;Example of a test alert group in Grafana IRM&#34;width=&#34;1147&#34;height=&#34;811&#34;title=&#34;Example of a test alert group in Grafana IRM&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Example of a test alert group in Grafana IRM&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;p&gt;For more information, see:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;&lt;/strong&gt; – Learn how to test the integration and enable notifications in Alerting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/&#34;&gt;Webhook contact point&lt;/a&gt;&lt;/strong&gt; – Learn the format of the webhook payload and additional settings in Alerting.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&#34;/docs/grafana-cloud/alerting-and-irm/irm/configure/escalation-routing/alert-templates/&#34;&gt;Configure IRM alert templates&lt;/a&gt;&lt;/strong&gt; – Learn how to process the incoming webhook messages in IRM.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;enable-heartbeat-monitoring-in-grafana-irm-optional&#34;&gt;Enable heartbeat monitoring in Grafana IRM (optional)&lt;/h2&gt;
&lt;p&gt;Enabling the heartbeat in the IRM integration acts as a monitoring for your Grafana Alerting setup. If Grafana Alerting stops sending alerts—due to downtime or misconfiguration—Grafana IRM creates a new alert group to notify you.&lt;/p&gt;
&lt;p&gt;To set up heartbeat monitoring, you must enable the heartbeat in IRM and create an alert rule that continuously sends alerts to the heartbeat endpoint.&lt;/p&gt;
&lt;h4 id=&#34;enable-the-heartbeat-for-the-irm-integration&#34;&gt;Enable the heartbeat for the IRM integration&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;In &lt;strong&gt;IRM&lt;/strong&gt;, select the IRM integration you configured earlier.&lt;/li&gt;
&lt;li&gt;Click the ⋮ (three dots) on top right, then select &lt;strong&gt;Heartbeat Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Copy the &lt;strong&gt;Endpoint&lt;/strong&gt; URL—this will be used in a new contact point in Grafana Alerting.&lt;/li&gt;
&lt;li&gt;Set the &lt;strong&gt;heartbeat interval&lt;/strong&gt;, time period after which Grafana IRM starts a new alert group if it doesn’t receive a heartbeat.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;create-another-webhook-contact-point-in-grafana-alerting&#34;&gt;Create another Webhook contact point in Grafana Alerting&lt;/h4&gt;
&lt;p&gt;Follow the same steps as before to create a webhook contact point in Grafana Alerting:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Webhook&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, enter the endpoint URL of the heartbeat.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can now click the &lt;strong&gt;Test&lt;/strong&gt; button to send an alert to the heartbeat endpoint. In &lt;strong&gt;IRM&lt;/strong&gt;, verify the heartbeat status in the &lt;strong&gt;Hearbeat&lt;/strong&gt; column on the &lt;strong&gt;Integrations&lt;/strong&gt; page.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 750px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link captioned&#34;
        href=&#34;/media/docs/alerting/view-heartbeat-status-on-irm.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload mb-0&#34;
          data-src=&#34;/media/docs/alerting/view-heartbeat-status-on-irm.png&#34;data-srcset=&#34;/media/docs/alerting/view-heartbeat-status-on-irm.png?w=320 320w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=550 550w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=750 750w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=900 900w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=1040 1040w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=1240 1240w, /media/docs/alerting/view-heartbeat-status-on-irm.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Heartbeat status column in the Grafana IRM Integrations page&#34;width=&#34;1153&#34;height=&#34;255&#34;title=&#34;Heartbeat status column in the Grafana IRM Integrations page&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/alerting/view-heartbeat-status-on-irm.png&#34;
            alt=&#34;Heartbeat status column in the Grafana IRM Integrations page&#34;width=&#34;1153&#34;height=&#34;255&#34;title=&#34;Heartbeat status column in the Grafana IRM Integrations page&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;figcaption class=&#34;w-100p caption text-gray-13  &#34;&gt;Heartbeat status column in the Grafana IRM Integrations page&lt;/figcaption&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h4 id=&#34;create-an-alert-rule-in-grafana-alerting&#34;&gt;Create an alert rule in Grafana Alerting&lt;/h4&gt;
&lt;p&gt;Create a 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/alerting-rules/create-grafana-managed-rule/&#34;&gt;Grafana-managed alert rule&lt;/a&gt; with the following settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Always firing&lt;/strong&gt; – Use a query and alert condition that constantly fire. For example, select a Prometheus data source and set the query to &lt;code&gt;vector(1) &amp;gt; 0&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Configure a 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/fundamentals/alert-rule-evaluation/#pending-period&#34;&gt;pending period&lt;/a&gt; that is shorter than the &lt;strong&gt;hearbeat interval&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose the &lt;strong&gt;webhook contact point&lt;/strong&gt; you created for the heartbeat to forward alerts.&lt;/li&gt;
&lt;li&gt;Adjust 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/fundamentals/notifications/group-alert-notifications/#timing-options&#34;&gt;timing options&lt;/a&gt; in the alert rule or notification policy to ensure alerts are forwarded before the &lt;strong&gt;heartbeat interval&lt;/strong&gt; elapses:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Group wait&lt;/strong&gt;: &lt;code&gt;0s&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Group interval&lt;/strong&gt;: &lt;code&gt;1s&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Repeat interval&lt;/strong&gt;: shorter than the &lt;strong&gt;hearbeat interval&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After it&amp;rsquo;s created, the alert rule acts as a heartbeat, verifying that Grafana Alerting is running and sending alerts to Grafana IRM.&lt;/p&gt;
]]></content><description>&lt;h1 id="configure-grafana-irm-for-alerting">Configure Grafana IRM for Alerting&lt;/h1>
&lt;p>In Grafana OSS and Grafana Enterprise, you can use a webhook contact point to send alerts to &lt;a href="/docs/grafana-cloud/alerting-and-irm/irm/">Grafana IRM&lt;/a>. Grafana IRM can then route alerts based on escalation chains for your team&amp;rsquo;s workflows.&lt;/p></description></item><item><title>Configure Jira for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-jira/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-jira/</guid><content><![CDATA[&lt;h1 id=&#34;configure-jira-for-alerting&#34;&gt;Configure Jira for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Jira integration in a contact point to create issues in your Jira instance when alerts fire. The integration supports both Jira Cloud and Jira Server/Data Center installations.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Before you begin, ensure you have the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Jira instance (Cloud, Server, or Data Center)&lt;/li&gt;
&lt;li&gt;API access credentials for Jira&lt;/li&gt;
&lt;li&gt;Appropriate permissions to create issues in your target Jira project&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configure-jira-for-a-contact-point&#34;&gt;Configure Jira for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with a Jira integration, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Jira&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Set up the required &lt;a href=&#34;#required-settings&#34;&gt;settings&lt;/a&gt; for your Jira configuration.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;required-settings&#34;&gt;Required Settings&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;URL&lt;/td&gt;
              &lt;td&gt;The URL of the REST API of your Jira instance. Supported versions: &lt;code&gt;2&lt;/code&gt; and &lt;code&gt;3&lt;/code&gt; (e.g., &lt;code&gt;https://your-domain.atlassian.net/rest/api/3&lt;/code&gt;). This field is 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;protected&lt;/a&gt; from modification in Grafana Cloud.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Auth User&lt;/td&gt;
              &lt;td&gt;Username for authentication. For Jira Cloud, use your email address.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Auth Password&lt;/td&gt;
              &lt;td&gt;Password or personal token. For Jira Cloud, you need to obtain a personal token &lt;a href=&#34;https://id.atlassian.com/manage-profile/security/api-tokens&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt; and use it as the password.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;API Token&lt;/td&gt;
              &lt;td&gt;An alternative to basic authentication, a bearer token is used to authorize the API requests. See &lt;a href=&#34;https://confluence.atlassian.com/enterprise/using-personal-access-tokens-1026032365.html&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jira documentation&lt;/a&gt; for more information.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Project Key&lt;/td&gt;
              &lt;td&gt;The project key identifying the project where issues will be created. Project keys are unique identifiers for a project.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Issue Type&lt;/td&gt;
              &lt;td&gt;The type of issue to create (e.g., &lt;code&gt;Task&lt;/code&gt;, &lt;code&gt;Bug&lt;/code&gt;, &lt;code&gt;Incident&lt;/code&gt;). Make sure that you specify a type that is available in your project.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;optional-settings&#34;&gt;Optional Settings&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Summary&lt;/td&gt;
              &lt;td&gt;The issue title. Supports templating. Max length is 255 characters.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Description&lt;/td&gt;
              &lt;td&gt;The description of the issue. Depending on version of the API, it can be a text, Markdown, or JSON (v3 API only). Maximum size of the field is 32kb.&lt;br&gt;&lt;strong&gt;Note:&lt;/strong&gt; JSON is not limited by the client, and if it exceeds the size, the API is likely to reject the request.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Labels&lt;/td&gt;
              &lt;td&gt;Custom labels can be added to organize and filter issues created in Jira. Supports templating, allowing dynamic label generation based on alert data.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Priority&lt;/td&gt;
              &lt;td&gt;The priority level of the issue (e.g., &lt;code&gt;Low&lt;/code&gt;, &lt;code&gt;Medium&lt;/code&gt;, &lt;code&gt;High&lt;/code&gt;, &lt;code&gt;Critical&lt;/code&gt;). &lt;br&gt;Ensure that the priority value matches the available options for your Jira instance. You can customize priority levels in Jira &lt;a href=&#34;https://support.atlassian.com/jira-cloud-administration/docs/configure-priorities/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Resolve Transition&lt;/td&gt;
              &lt;td&gt;The transition name to move the issue to a resolved state when an alert is resolved. Ensure that the value matches a valid transition available in your Jira workflow for the specified issue type. If this field is empty, the issue will not be transitioned to Done.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Reopen Transition&lt;/td&gt;
              &lt;td&gt;The transition name to move the issue back to an open state when an alert reoccurs. Ensure that the value matches a valid transition available in your Jira workflow for the specified issue type. If this field is empty, the issue will not be reopened.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Reopen Duration&lt;/td&gt;
              &lt;td&gt;The time duration (in minutes) to control whether to reopen an issue that was closed within this duration or create a new one. If not specified, the most recent issue that matches the deduplication key will be updated and reopened (if reopen transition is specified).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&amp;ldquo;Won&amp;rsquo;t fix&amp;rdquo; Transition&lt;/td&gt;
              &lt;td&gt;Specify a resolution status that should be ignored when searching for existing issues. For example, issues with this resolution will not be reopened or updated by subsequent alerts.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Deduplication Key Field&lt;/td&gt;
              &lt;td&gt;Custom field to store the deduplication key. Must be a text field. &lt;br&gt; If not specified, the deduplication key is added to labels in the format of &lt;code&gt;ALERT(hash sum)&lt;/code&gt;. See &lt;a href=&#34;https://support.atlassian.com/jira-cloud-administration/docs/create-a-custom-field/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jira documentation&lt;/a&gt; for how to create custom fields.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Fields&lt;/td&gt;
              &lt;td&gt;Allows to configure custom fields of Jira issue. The field name should be of the format like &lt;code&gt;customfield_10001&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;]]></content><description>&lt;h1 id="configure-jira-for-alerting">Configure Jira for Alerting&lt;/h1>
&lt;p>Use the Jira integration in a contact point to create issues in your Jira instance when alerts fire. The integration supports both Jira Cloud and Jira Server/Data Center installations.&lt;/p></description></item><item><title>Configure Microsoft Teams for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-teams/</guid><content><![CDATA[&lt;h1 id=&#34;configure-microsoft-teams-for-alerting&#34;&gt;Configure Microsoft Teams for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Microsoft Teams integration to receive notifications in your team’s channel when your alerts are firing.&lt;/p&gt;
&lt;p&gt;Note that you can customize the &lt;code&gt;title&lt;/code&gt; and &lt;code&gt;message&lt;/code&gt; of the notification using 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;; however, you cannot modify its visual appearance with adaptive cards.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;To set up Microsoft Teams for integration with Grafana Alerting, create a new workflow that accepts Webhook requests. This allows Grafana to send alert notifications to Microsoft Teams channels.&lt;/p&gt;
&lt;h3 id=&#34;create-a-workflow-in-microsoft-teams&#34;&gt;Create a workflow in Microsoft Teams&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;To create a new workflow, follow the steps in &lt;a href=&#34;https://learn.microsoft.com/en-us/power-automate/teams/teams-app-create&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Create flows in Microsoft Teams&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Microsoft provides a template library. You can use the template &lt;strong&gt;Post to a channel when a webhook request is received&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;At the end of workflow creation wizard, copy the URL that is provided.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;
If you chose a private channel for the target of the workflow, you need to edit workflow before using it. Expand the step &amp;ldquo;Send each adaptive card&amp;rdquo;, and then expand action &amp;ldquo;Post your own adaptive card as the Flow bot to a channel&amp;rdquo;. Change &amp;ldquo;Post as&amp;rdquo; to User, and save the workflow.&lt;/p&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your MS Teams integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select &lt;strong&gt;Microsoft Teams&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, copy in your Webhook URL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;p&gt;A test alert notification should be sent to the MS Team channel.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save&lt;/strong&gt; contact point.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Microsoft Teams contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under Notifications click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Click Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;troubleshooting&#34;&gt;Troubleshooting&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;If Grafana reports that notification was sent successfully but it was not delivered to the channel, check the workflow&amp;rsquo;s run history. You can find it in the workflow details page.&lt;/li&gt;
&lt;/ul&gt;
]]></content><description>&lt;h1 id="configure-microsoft-teams-for-alerting">Configure Microsoft Teams for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Microsoft Teams integration to receive notifications in your team’s channel when your alerts are firing.&lt;/p></description></item><item><title>Configure MQTT notifications</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-mqtt/</guid><content><![CDATA[&lt;h1 id=&#34;configure-mqtt-notifications&#34;&gt;Configure MQTT notifications&lt;/h1&gt;
&lt;p&gt;Use the MQTT integration in contact points to send alert notifications to your MQTT broker.&lt;/p&gt;
&lt;h2 id=&#34;configure-mqtt-for-a-contact-point&#34;&gt;Configure MQTT for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with MQTT integration, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;MQTT&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter your broker URL in the &lt;strong&gt;Broker URL&lt;/strong&gt; field. Supports &lt;code&gt;tcp&lt;/code&gt;, &lt;code&gt;ssl&lt;/code&gt;, &lt;code&gt;mqtt&lt;/code&gt;, &lt;code&gt;mqtts&lt;/code&gt;, &lt;code&gt;ws&lt;/code&gt;, &lt;code&gt;wss&lt;/code&gt; schemes. For example: &lt;code&gt;tcp://127.0.0.1:1883&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Enter the MQTT topic name in the &lt;strong&gt;Topic&lt;/strong&gt; field.&lt;/li&gt;
&lt;li&gt;(Optional) Configure &lt;a href=&#34;#optional-settings&#34;&gt;additional settings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;required-settings&#34;&gt;Required Settings&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Broker URL&lt;/td&gt;
              &lt;td&gt;The URL of the MQTT broker. This field is 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;protected&lt;/a&gt; from modification in Grafana Cloud.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Topic&lt;/td&gt;
              &lt;td&gt;The topic to which the message will be sent.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;optional-settings&#34;&gt;Optional Settings&lt;/h3&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Message format&lt;/td&gt;
              &lt;td&gt;If set to &lt;code&gt;json&lt;/code&gt; (default), the notification message uses the &lt;a href=&#34;#default-json-payload&#34;&gt;default JSON payload&lt;/a&gt;. &lt;br/&gt; If set to &lt;code&gt;text&lt;/code&gt;, the notification message is fully customizable.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Message&lt;/td&gt;
              &lt;td&gt;Depends on the &lt;strong&gt;Message format&lt;/strong&gt; option. &lt;br/&gt; In &lt;code&gt;json&lt;/code&gt; format, defines only the &lt;code&gt;message&lt;/code&gt; field of the &lt;a href=&#34;#default-json-payload&#34;&gt;default JSON payload&lt;/a&gt;. &lt;br/&gt; In &lt;code&gt;text&lt;/code&gt; format, defines the &lt;a href=&#34;#custom-payload&#34;&gt;entire custom payload&lt;/a&gt;. &lt;br/&gt; This field supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Client ID&lt;/td&gt;
              &lt;td&gt;The client ID to use when connecting to the MQTT broker. If blank, a random client ID is used.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Username&lt;/td&gt;
              &lt;td&gt;The username to use when connecting to the MQTT broker.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Password&lt;/td&gt;
              &lt;td&gt;The password to use when connecting to the MQTT broker.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;QoS&lt;/td&gt;
              &lt;td&gt;The quality of service to use when sending the message. Options are &lt;code&gt;At most once&lt;/code&gt;, &lt;code&gt;At least once&lt;/code&gt;, and &lt;code&gt;Exactly once&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Retain&lt;/td&gt;
              &lt;td&gt;If set to true, the message will be retained by the broker.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;TLS&lt;/td&gt;
              &lt;td&gt;TLS configuration options, including CA certificate, client certificate, and client key, and disable certificate verification.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Disable resolved message&lt;/td&gt;
              &lt;td&gt;Enable this option to prevent notifications when an alert resolves.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;default-json-payload&#34;&gt;Default JSON payload&lt;/h2&gt;
&lt;p&gt;If the &lt;strong&gt;Message format&lt;/strong&gt; option is &lt;code&gt;json&lt;/code&gt; (the default), the payload is like this example.&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;receiver&amp;#34;: &amp;#34;My MQTT integration&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;alerts&amp;#34;: [
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High memory usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;us-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high memory usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone us-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:51:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/1afz29v7z/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;c6eadffa33fcdf37&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;values&amp;#34;: {
        &amp;#34;B&amp;#34;: 44.23943737541908,
        &amp;#34;C&amp;#34;: 1
      }
    },
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High CPU usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;eu-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high CPU usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone eu-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:56:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/d1rdpdv7k/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;bc97ff14869b13e3&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;values&amp;#34;: {
        &amp;#34;B&amp;#34;: 44.23943737541908,
        &amp;#34;C&amp;#34;: 1
      }
    }
  ],
  &amp;#34;groupLabels&amp;#34;: {},
  &amp;#34;commonLabels&amp;#34;: {
    &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;
  },
  &amp;#34;commonAnnotations&amp;#34;: {},
  &amp;#34;externalURL&amp;#34;: &amp;#34;https://play.grafana.org/&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1&amp;#34;,
  &amp;#34;groupKey&amp;#34;: &amp;#34;{}:{}&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;body&#34;&gt;Body&lt;/h3&gt;
&lt;p&gt;If the &lt;strong&gt;Message format&lt;/strong&gt; option is &lt;code&gt;json&lt;/code&gt; (the default), the payload contains the following fields.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;receiver&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Name of the contact point&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the organization related to the payload&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerts&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;array of &lt;a href=&#34;#alert-object&#34;&gt;alerts&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Alerts that are triggering&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;groupLabels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are used for grouping, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;commonLabels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that all alarms have in common, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;commonAnnotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that all alarms have in common, map of string keys to string values&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;externalURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;External URL to the Grafana instance sending this webhook&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Version of the payload&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;groupKey&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Key that is used for grouping&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;message&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Custom message configured in &lt;strong&gt;Message&lt;/strong&gt; (&lt;strong&gt;Optional Settings&lt;/strong&gt;). &lt;br/&gt; Supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;; the output is formatted as a string.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;

&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;When using the &lt;code&gt;json&lt;/code&gt; &lt;strong&gt;Message format&lt;/strong&gt;, only the &lt;strong&gt;message&lt;/strong&gt; field of the JSON payload is customizable, and its output is formatted as a string.&lt;/p&gt;
&lt;p&gt;To customize the full payload in text or JSON format, use the &lt;code&gt;text&lt;/code&gt; format and define a &lt;a href=&#34;#custom-payload&#34;&gt;custom payload&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;alert-object&#34;&gt;Alert object&lt;/h3&gt;
&lt;p&gt;The Alert object represents an alert included in the notification group, as provided by the &lt;a href=&#34;#body&#34;&gt;&lt;code&gt;alerts&lt;/code&gt; field&lt;/a&gt;.&lt;/p&gt;


&lt;div data-shared=&#34;alerts/table-for-json-alert-object.md&#34;&gt;
            &lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are part of this alert, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that are part of this alert, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;startsAt&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Start time of the alert.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;endsAt&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;End time of the alert, default value when not resolved is &lt;code&gt;0001-01-01T00:00:00Z&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Values that triggered the current status.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;generatorURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of the alert rule in the Grafana UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;fingerprint&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The labels fingerprint, alarms with the same labels will have the same fingerprint.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;silenceURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL to silence the alert rule in the Grafana UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dashboardURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;A link to the Grafana Dashboard if the alert has a Dashboard UID annotation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;panelURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;A link to the panel if the alert has a Panel ID annotation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;imageURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of a screenshot of a panel assigned to the rule that created this notification.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;/div&gt;

        
&lt;h2 id=&#34;custom-payload&#34;&gt;Custom payload&lt;/h2&gt;
&lt;p&gt;When you set the &lt;strong&gt;Message format&lt;/strong&gt; option to &lt;code&gt;text&lt;/code&gt;, you can customize the entire payload of the MQTT message.&lt;/p&gt;
&lt;p&gt;In this mode, the &lt;strong&gt;Message&lt;/strong&gt; option defines the entire payload. It supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt; and can generate notification messages in plain text, JSON, or any custom format.&lt;/p&gt;
&lt;p&gt;For examples of templates that produce plain text or JSON messages, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/examples/&#34;&gt;notification template examples&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="configure-mqtt-notifications">Configure MQTT notifications&lt;/h1>
&lt;p>Use the MQTT integration in contact points to send alert notifications to your MQTT broker.&lt;/p>
&lt;h2 id="configure-mqtt-for-a-contact-point">Configure MQTT for a contact point&lt;/h2>
&lt;p>To create a contact point with MQTT integration, complete the following steps.&lt;/p></description></item><item><title>Configure Opsgenie for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-opsgenie/</guid><content><![CDATA[&lt;h1 id=&#34;configure-opsgenie-for-alerting&#34;&gt;Configure Opsgenie for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Opsgenie integration to receive alert notifications in your Opsgenie alert dashboard when your Grafana alert rules are triggered and resolved.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Create an API key to enable Grafana to send alert notifications to Opsgenie alert dashboard.&lt;/p&gt;
&lt;p&gt;To create an API key in Opsgenie, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Follow the steps in the &lt;a href=&#34;https://support.atlassian.com/opsgenie/docs/create-a-default-api-integration/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;API integration guide&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Make sure you turn on the integration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the API key.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your Opsgenie integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Opsgenie&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;API key&lt;/strong&gt; field, paste in your API key.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the &lt;strong&gt;Alert API URL&lt;/strong&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;For Grafana Alertmanager, enter &lt;code&gt;https://api.opsgenie.com/v2/alerts&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;For other Alertmanagers, enter the host for sending Opsgenie API requests, depending on the hosted region.&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For Grafana Alertmanager only.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A test alert notification is sent to the Alerts page in Opsgenie.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Opsgenie contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert rule, complete the following steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;Notifications&lt;/strong&gt;, click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-opsgenie-for-alerting">Configure Opsgenie for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Opsgenie integration to receive alert notifications in your Opsgenie alert dashboard when your Grafana alert rules are triggered and resolved.&lt;/p></description></item><item><title>Configure PagerDuty for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/pager-duty/</guid><content><![CDATA[&lt;h1 id=&#34;configure-pagerduty-for-alerting&#34;&gt;Configure PagerDuty for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - PagerDuty integration to receive notifications in PagerDuty when your alerts are firing.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;To set up PagerDuty for integration with Grafana Alerting, you need to create a &lt;a href=&#34;https://www.pagerduty.com/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PagerDuty&lt;/a&gt; account. There are several set up steps to perform within PagerDuty before you set up the integration in Grafana Alerting.&lt;/p&gt;
&lt;h3 id=&#34;create-a-service&#34;&gt;Create a Service&lt;/h3&gt;
&lt;p&gt;In PagerDuty, a service represents a component, microservice, or infrastructure element that a team oversees, manages, and monitors.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://support.pagerduty.com/docs/services-and-integrations#create-a-service&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;PagerDuty’s services and integrations guide&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Follow steps 1 to 5 under &lt;strong&gt;Create a Service&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;In step 5, choose &lt;strong&gt;Create a service without an integration&lt;/strong&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;obtain-a-pagerduty-integration-key&#34;&gt;Obtain a PagerDuty integration key&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Once the service is created, click &lt;strong&gt;Integrations&lt;/strong&gt; within the Service options.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add an integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Events API V2&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click the drop-down arrow to display the integration details.&lt;/li&gt;
&lt;li&gt;Copy the &lt;strong&gt;Integration Key&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your PagerDuty integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select &lt;strong&gt;PagerDuty&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Integration Key&lt;/strong&gt; field, copy in your integration key.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;p&gt;An incident should display in the Service’s Activity tab in PagerDuty.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The PagerDuty contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under Notifications click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Click Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-pagerduty-for-alerting">Configure PagerDuty for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - PagerDuty integration to receive notifications in PagerDuty when your alerts are firing.&lt;/p>
&lt;h2 id="before-you-begin">Before you begin&lt;/h2>
&lt;p>To set up PagerDuty for integration with Grafana Alerting, you need to create a &lt;a href="https://www.pagerduty.com/" target="_blank" rel="noopener noreferrer">PagerDuty&lt;/a> account. There are several set up steps to perform within PagerDuty before you set up the integration in Grafana Alerting.&lt;/p></description></item><item><title>Configure Slack for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-slack/</guid><content><![CDATA[&lt;h1 id=&#34;configure-slack-for-alerting&#34;&gt;Configure Slack for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Slack integration to send Slack notifications when your alerts are firing.&lt;/p&gt;
&lt;p&gt;There are two ways of integrating Slack into Grafana Alerting.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Use a &lt;a href=&#34;https://api.slack.com/authentication/token-types&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Slack API token&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enable your app to access the Slack API. If, for example, you are interested in more granular control over permissions, or your project is expected to regularly scale, resulting in new channels being created, this is the best option.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Use a &lt;a href=&#34;https://api.slack.com/messaging/webhooks&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Webhook URL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Webhooks is the simpler way to post messages into Slack. Slack automatically creates a bot user with all the necessary permissions to post messages to one particular channel of your choice.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Note that you can only setup one Slack channel per contact point.&lt;/p&gt;
&lt;p&gt;You can customize the &lt;code&gt;title&lt;/code&gt; and &lt;code&gt;body&lt;/code&gt; of the Slack message using 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;; however, you cannot modify its visual appearance with custom blocks. Additional optional settings are available to customize bot appearance, mentions, and message formatting. Refer to the &lt;a href=&#34;#optional-settings&#34;&gt;Optional settings&lt;/a&gt; section for more details.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;h3 id=&#34;slack-api-token&#34;&gt;Slack API Token&lt;/h3&gt;
&lt;p&gt;If you are using a Slack API Token, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Follow step 1 of the &lt;a href=&#34;https://docs.slack.dev/app-management/quickstart-app-settings/#creating&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Slack API Quickstart&lt;/a&gt; to create the app.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Continue onto the second step of the &lt;a href=&#34;https://docs.slack.dev/app-management/quickstart-app-settings/#scopes&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Slack API Quickstart&lt;/a&gt; and add the &lt;a href=&#34;https://api.slack.com/scopes/chat:write.public&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;chat:write.public&lt;/a&gt; scope as described to give your app the ability to post in all public channels without joining.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In OAuth Tokens for Your Workspace, copy the Bot User OAuth Token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open your Slack workplace.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Right click the channel you want to receive notifications in.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click View channel details.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Scroll down and copy the Channel ID.&lt;/p&gt;
&lt;p&gt;Note that while going through these steps, Slack may prompt you to Reinstall your app in order for the changes to take effect.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;webhook-url&#34;&gt;Webhook URL&lt;/h3&gt;
&lt;p&gt;If you are using a Webhook URL, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Follow the &lt;a href=&#34;https://docs.slack.dev/app-management/quickstart-app-settings/#creating&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Creating an app&lt;/a&gt; section of the Slack API Quickstart to create the app.&lt;/li&gt;
&lt;li&gt;Follow the &lt;a href=&#34;https://api.slack.com/messaging/webhooks#create_a_webhook&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Create an incoming webhook&lt;/a&gt; section of the Slack Incoming Webhooks guide to enable incoming webhooks for your app and create a webhook for your workspace.&lt;/li&gt;
&lt;li&gt;Copy the &lt;strong&gt;Webhook URL&lt;/strong&gt; that starts with &lt;code&gt;https://hooks.slack.com/services/&lt;/code&gt;. You need this when setting up your contact point integration in Grafana Alerting.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your Slack integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select Slack.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you are using a Slack API token:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the &lt;strong&gt;Recipient&lt;/strong&gt; field, copy in the channel ID.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Token&lt;/strong&gt; field, copy in the Bot User OAuth Token that starts with “xoxb-”.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If you are using a Webhook URL, in the &lt;strong&gt;Webhook&lt;/strong&gt; field, copy in your Slack app Webhook URL.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;optional-settings&#34;&gt;Optional settings&lt;/h2&gt;
&lt;p&gt;You can configure additional settings to customize your Slack notifications beyond the required fields.&lt;/p&gt;
&lt;h3 id=&#34;customize-bot-appearance&#34;&gt;Customize bot appearance&lt;/h3&gt;
&lt;p&gt;You can customize how the bot appears in Slack channels:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Username&lt;/td&gt;
              &lt;td&gt;Override the default bot username that appears in Slack. Set the &lt;code&gt;username&lt;/code&gt; field to customize the display name.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Icon emoji&lt;/td&gt;
              &lt;td&gt;Provide an emoji to use as the icon for the message. Set the &lt;code&gt;icon_emoji&lt;/code&gt; field (for example, &lt;code&gt;:rocket:&lt;/code&gt;). This overrides the icon URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Icon URL&lt;/td&gt;
              &lt;td&gt;Provide a URL to an image to use as the icon for the message. Set the &lt;code&gt;icon_url&lt;/code&gt; field with the image URL.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;configure-mentions&#34;&gt;Configure mentions&lt;/h3&gt;
&lt;p&gt;You can automatically mention users, groups, or the entire channel when notifications are sent:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention users&lt;/td&gt;
              &lt;td&gt;Mention one or more specific users in the notification. Set the &lt;code&gt;mentionUsers&lt;/code&gt; field with a comma-separated list of user IDs (for example, &lt;code&gt;U024BE7LH,U024BE7LJ&lt;/code&gt;). To find a user&amp;rsquo;s ID, refer to &lt;a href=&#34;https://api.slack.com/methods/users.list&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Slack&amp;rsquo;s documentation on finding member IDs&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention groups&lt;/td&gt;
              &lt;td&gt;Mention one or more user groups in the notification. Set the &lt;code&gt;mentionGroups&lt;/code&gt; field with a comma-separated list of group IDs. You can copy group IDs from the group&amp;rsquo;s Slack profile URL.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Mention channel&lt;/td&gt;
              &lt;td&gt;Mention the entire channel or active members. Set the &lt;code&gt;mentionChannel&lt;/code&gt; field to one of the following:&lt;br&gt;- Empty or omit the field to disable channel mentions&lt;br&gt;- &lt;code&gt;here&lt;/code&gt; to mention every active channel member&lt;br&gt;- &lt;code&gt;channel&lt;/code&gt; to mention every channel member&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;customize-message-content&#34;&gt;Customize message content&lt;/h3&gt;
&lt;p&gt;You can customize the notification message using 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Title&lt;/td&gt;
              &lt;td&gt;Set a custom title for the Slack message. Use the &lt;code&gt;title&lt;/code&gt; field with template variables (for example, &lt;code&gt;{{ template &amp;quot;slack.default.title&amp;quot; . }}&lt;/code&gt;).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Text body&lt;/td&gt;
              &lt;td&gt;Set a custom body text for the Slack message. Use the &lt;code&gt;text&lt;/code&gt; field with template variables (for example, &lt;code&gt;{{ template &amp;quot;slack.default.text&amp;quot; . }}&lt;/code&gt;).&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Color&lt;/td&gt;
              &lt;td&gt;Set the color of the vertical bar on the left side of the message attachment. Use the &lt;code&gt;color&lt;/code&gt; field.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;advanced-configuration&#34;&gt;Advanced configuration&lt;/h3&gt;
&lt;p&gt;For specialized environments, you can override the default Slack API endpoint:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Endpoint URL&lt;/td&gt;
              &lt;td&gt;Specify a custom Slack API endpoint for non-webhook requests. Set the &lt;code&gt;endpointUrl&lt;/code&gt; field to your custom endpoint. The default is &lt;code&gt;https://slack.com/api/chat.postMessage&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Slack contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under Notifications click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Click Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-slack-for-alerting">Configure Slack for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Slack integration to send Slack notifications when your alerts are firing.&lt;/p>
&lt;p>There are two ways of integrating Slack into Grafana Alerting.&lt;/p></description></item><item><title>Configure Telegram for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/configure-telegram/</guid><content><![CDATA[&lt;h1 id=&#34;configure-telegram-for-alerting&#34;&gt;Configure Telegram for Alerting&lt;/h1&gt;
&lt;p&gt;Use the Grafana Alerting - Telegram integration to send &lt;a href=&#34;https://telegram.org/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Telegram&lt;/a&gt; notifications when your alerts are firing.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;h3 id=&#34;telegram-limitation&#34;&gt;Telegram limitation&lt;/h3&gt;
&lt;p&gt;Telegram messages are limited to 4096 UTF-8 characters. If you use a &lt;code&gt;parse_mode&lt;/code&gt; other than &lt;code&gt;None&lt;/code&gt;, truncation may result in an invalid message, causing the notification to fail.
For longer messages, we recommend using an alternative contact method.&lt;/p&gt;
&lt;h3 id=&#34;telegram-bot-api-token-and-chat-id&#34;&gt;Telegram bot API token and chat ID&lt;/h3&gt;
&lt;p&gt;To integrate Grafana with Telegram, you need to get a Telegram &lt;strong&gt;bot API token&lt;/strong&gt; and a &lt;strong&gt;chat ID&lt;/strong&gt; (the ID of the Telegram chat where you want to receive the alert notifications). To complete the integration, use the browser version of Telegram.&lt;/p&gt;
&lt;h3 id=&#34;set-up-your-telegram-bot&#34;&gt;Set up your Telegram bot&lt;/h3&gt;
&lt;p&gt;Create a &lt;a href=&#34;https://core.telegram.org/bots/api&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Telegram bot&lt;/a&gt;. You can associate this bot to your chats and perform different actions with it, such as receiving alerts from Grafana.&lt;/p&gt;
&lt;p&gt;To set up the bot, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Open the Telegram app&lt;/strong&gt; on your device.&lt;/li&gt;
&lt;li&gt;Find the Telegram bot named &lt;strong&gt;BotFather&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Type or press &lt;code&gt;/newbot&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Choose a name for the bot. It must end in &lt;strong&gt;bot&lt;/strong&gt; or &lt;strong&gt;_bot&lt;/strong&gt;. E.g. &amp;ldquo;my_bot&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Copy the API token&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;chat-id&#34;&gt;Chat ID&lt;/h3&gt;
&lt;p&gt;Add the bot to a group chat by following the steps below. Once the bot is added to the chat, you will be able to route your alert notifications to that group.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the Telegram app, &lt;strong&gt;open a group or start a new one&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Search and &lt;strong&gt;add the bot to the group&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy the &lt;strong&gt;chat ID&lt;/strong&gt; from the URL in your browser&amp;rsquo;s address bar. It should look like this: &lt;code&gt;https://web.telegram.org/a/#-4266674385&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The chat ID is the sequence of numbers that follows the &lt;code&gt;#&lt;/code&gt; symbol. For example: &lt;code&gt;-4266674385&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;procedure&#34;&gt;Procedure&lt;/h2&gt;
&lt;p&gt;To create your Telegram integration in Grafana Alerting, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a contact point name.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;From the Integration list, select Telegram.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;BOT API Token&lt;/strong&gt; field, copy in the bot API token.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Chat ID&lt;/strong&gt; field, copy in the chat ID.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; to check that your integration works.&lt;/p&gt;
&lt;p&gt;** For Grafana Alertmanager only.**&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;next-steps&#34;&gt;Next steps&lt;/h2&gt;
&lt;p&gt;The Telegram contact point is ready to receive alert notifications.&lt;/p&gt;
&lt;p&gt;To add this contact point to your alert, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana, navigate to &lt;strong&gt;Alerting&lt;/strong&gt; &amp;gt; &lt;strong&gt;Alert rules&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Edit or create a new alert rule.&lt;/li&gt;
&lt;li&gt;Scroll down to the &lt;strong&gt;Configure labels and notifications&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Under Notifications click &lt;strong&gt;Select contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;From the drop-down menu, select the previously created contact point.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Click Save rule and exit&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-telegram-for-alerting">Configure Telegram for Alerting&lt;/h1>
&lt;p>Use the Grafana Alerting - Telegram integration to send &lt;a href="https://telegram.org/" target="_blank" rel="noopener noreferrer">Telegram&lt;/a> notifications when your alerts are firing.&lt;/p>
&lt;h2 id="before-you-begin">Before you begin&lt;/h2>
&lt;h3 id="telegram-limitation">Telegram limitation&lt;/h3>
&lt;p>Telegram messages are limited to 4096 UTF-8 characters. If you use a &lt;code>parse_mode&lt;/code> other than &lt;code>None&lt;/code>, truncation may result in an invalid message, causing the notification to fail.
For longer messages, we recommend using an alternative contact method.&lt;/p></description></item><item><title>Configure the webhook notifier for Alerting</title><link>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/integrations/webhook-notifier/</guid><content><![CDATA[&lt;h1 id=&#34;configure-webhook-notifications&#34;&gt;Configure webhook notifications&lt;/h1&gt;
&lt;p&gt;Use the webhook integration in contact points to send alert notifications to your webhook.&lt;/p&gt;
&lt;p&gt;The webhook integration is a flexible way to integrate alerts into your system. When a notification is triggered, it sends a JSON request with alert details and additional data to the webhook endpoint.&lt;/p&gt;
&lt;h2 id=&#34;configure-webhook-for-a-contact-point&#34;&gt;Configure webhook for a contact point&lt;/h2&gt;
&lt;p&gt;To create a contact point with webhook integration, complete the following steps.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Alerting&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Contact points&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; Add contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter a name for the contact point.&lt;/li&gt;
&lt;li&gt;From the &lt;strong&gt;Integration&lt;/strong&gt; list, select &lt;strong&gt;Webhook&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;URL&lt;/strong&gt; field, copy in your Webhook URL.&lt;/li&gt;
&lt;li&gt;(Optional) Configure &lt;a href=&#34;#webhook-settings&#34;&gt;additional settings&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save contact point&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For more details on contact points, including how to test them and enable notifications, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;Configure contact points&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;webhook-settings&#34;&gt;Webhook settings&lt;/h2&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;URL&lt;/td&gt;
              &lt;td&gt;The Webhook URL. This field is 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/manage-contact-points/&#34;&gt;protected&lt;/a&gt; from modification in Grafana Cloud.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-settings&#34;&gt;Optional settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;HTTP Method&lt;/td&gt;
              &lt;td&gt;Specifies the HTTP method to use: &lt;code&gt;POST&lt;/code&gt; or &lt;code&gt;PUT&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Authentication Username&lt;/td&gt;
              &lt;td&gt;Username for HTTP Basic Authentication.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Basic Authentication Password&lt;/td&gt;
              &lt;td&gt;Password for HTTP Basic Authentication.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Authentication Header Scheme&lt;/td&gt;
              &lt;td&gt;Scheme for the &lt;code&gt;Authorization&lt;/code&gt; Request Header. Default is &lt;code&gt;Bearer&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Authentication Header Credentials&lt;/td&gt;
              &lt;td&gt;Credentials for the &lt;code&gt;Authorization&lt;/code&gt; Request header.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Extra Headers&lt;/td&gt;
              &lt;td&gt;Additional HTTP headers to include in the request. You can also override the default &lt;code&gt;Content-Type: application/json&lt;/code&gt; header to specify a different content type for the request payload.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Max Alerts&lt;/td&gt;
              &lt;td&gt;Maximum number of alerts to include in a notification. Any alerts exceeding this limit are ignored. &lt;code&gt;0&lt;/code&gt; means no limit.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;TLS&lt;/td&gt;
              &lt;td&gt;TLS configuration options, including CA certificate, client certificate, and client key.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;HMAC Signature&lt;/td&gt;
              &lt;td&gt;HMAC signature configuration options.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;

&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;You can configure either HTTP Basic Authentication or the Authorization request header, but not both.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h4 id=&#34;hmac-signature&#34;&gt;HMAC signature&lt;/h4&gt;
&lt;p&gt;You can secure your webhook notifications using HMAC signatures to verify the authenticity and integrity of the requests. When enabled, Grafana signs the webhook payload with a shared secret using HMAC-SHA256.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Secret&lt;/td&gt;
              &lt;td&gt;The shared secret key used to generate the HMAC signature.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Header&lt;/td&gt;
              &lt;td&gt;The HTTP header where the signature will be set. Default is &lt;code&gt;X-Grafana-Alerting-Signature&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Timestamp Header&lt;/td&gt;
              &lt;td&gt;Optional header to include a timestamp in the signature calculation. When specified, Grafana will set a Unix timestamp in this header and include it in the HMAC calculation. This provides protection against replay attacks.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;When HMAC signing is configured, Grafana generates a signature using HMAC-SHA256 with your secret key. If a timestamp header is specified, a Unix timestamp is included in the signature calculation. The signature is calculated as:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;HMAC(timestamp &amp;#43; &amp;#34;:&amp;#34; &amp;#43; body)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;The timestamp is sent in the specified header. If no timestamp header is specified, the signature is calculated just from the request body. The signature is sent as a hex-encoded string in the specified signature header.&lt;/p&gt;
&lt;h5 id=&#34;validate-a-request&#34;&gt;Validate a request&lt;/h5&gt;
&lt;p&gt;To validate incoming webhook requests from Grafana, follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Extract the signature from the header (default is &lt;code&gt;X-Grafana-Alerting-Signature&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;If you configured a timestamp header, extract the timestamp value and verify it&amp;rsquo;s recent to prevent replay attacks.&lt;/li&gt;
&lt;li&gt;Calculate the expected signature:
&lt;ul&gt;
&lt;li&gt;Create an HMAC-SHA256 hash using your shared secret&lt;/li&gt;
&lt;li&gt;If using timestamps, include the timestamp followed by a colon (&lt;code&gt;:&lt;/code&gt;) before the request body&lt;/li&gt;
&lt;li&gt;Hash the raw request body&lt;/li&gt;
&lt;li&gt;Convert the result to a hexadecimal string&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Compare the calculated signature with the one in the request header.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;optional-settings-using-templates&#34;&gt;Optional settings using templates&lt;/h4&gt;
&lt;p&gt;Use the following settings to include custom data within the &lt;a href=&#34;#body&#34;&gt;JSON payload&lt;/a&gt;. Both options support using 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Title&lt;/td&gt;
              &lt;td&gt;Sends the value as a string in the &lt;code&gt;title&lt;/code&gt; field of the &lt;a href=&#34;#body&#34;&gt;JSON payload&lt;/a&gt;. Supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Message&lt;/td&gt;
              &lt;td&gt;Sends the value as a string in the &lt;code&gt;message&lt;/code&gt; field of the &lt;a href=&#34;#body&#34;&gt;JSON payload&lt;/a&gt;. Supports 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;a href=&#34;#custom-payload&#34;&gt;Custom Payload&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Optionally override the default payload format with a custom template.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h4 id=&#34;optional-notification-settings&#34;&gt;Optional notification settings&lt;/h4&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Disable resolved message&lt;/td&gt;
              &lt;td&gt;Enable this option to prevent notifications when an alert resolves.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h2 id=&#34;default-json-payload&#34;&gt;Default JSON payload&lt;/h2&gt;
&lt;p&gt;The following example shows the payload of a webhook notification containing information about two firing alerts:&lt;/p&gt;

&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;JSON&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-json&#34;&gt;{
  &amp;#34;receiver&amp;#34;: &amp;#34;My Super Webhook&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;alerts&amp;#34;: [
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High memory usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;us-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high memory usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone us-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:51:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/1afz29v7z/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;c6eadffa33fcdf37&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;values&amp;#34;: {
        &amp;#34;B&amp;#34;: 44.23943737541908,
        &amp;#34;C&amp;#34;: 1
      }
    },
    {
      &amp;#34;status&amp;#34;: &amp;#34;firing&amp;#34;,
      &amp;#34;labels&amp;#34;: {
        &amp;#34;alertname&amp;#34;: &amp;#34;High CPU usage&amp;#34;,
        &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;,
        &amp;#34;zone&amp;#34;: &amp;#34;eu-1&amp;#34;
      },
      &amp;#34;annotations&amp;#34;: {
        &amp;#34;description&amp;#34;: &amp;#34;The system has high CPU usage&amp;#34;,
        &amp;#34;runbook_url&amp;#34;: &amp;#34;https://myrunbook.com/runbook/1234&amp;#34;,
        &amp;#34;summary&amp;#34;: &amp;#34;This alert was triggered for zone eu-1&amp;#34;
      },
      &amp;#34;startsAt&amp;#34;: &amp;#34;2021-10-12T09:56:03.157076&amp;#43;02:00&amp;#34;,
      &amp;#34;endsAt&amp;#34;: &amp;#34;0001-01-01T00:00:00Z&amp;#34;,
      &amp;#34;generatorURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/d1rdpdv7k/edit&amp;#34;,
      &amp;#34;fingerprint&amp;#34;: &amp;#34;bc97ff14869b13e3&amp;#34;,
      &amp;#34;silenceURL&amp;#34;: &amp;#34;https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1&amp;#34;,
      &amp;#34;dashboardURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;panelURL&amp;#34;: &amp;#34;&amp;#34;,
      &amp;#34;values&amp;#34;: {
        &amp;#34;B&amp;#34;: 44.23943737541908,
        &amp;#34;C&amp;#34;: 1
      }
    }
  ],
  &amp;#34;groupLabels&amp;#34;: {},
  &amp;#34;commonLabels&amp;#34;: {
    &amp;#34;team&amp;#34;: &amp;#34;blue&amp;#34;
  },
  &amp;#34;commonAnnotations&amp;#34;: {},
  &amp;#34;externalURL&amp;#34;: &amp;#34;https://play.grafana.org/&amp;#34;,
  &amp;#34;version&amp;#34;: &amp;#34;1&amp;#34;,
  &amp;#34;groupKey&amp;#34;: &amp;#34;{}:{}&amp;#34;,
  &amp;#34;truncatedAlerts&amp;#34;: 0,
  &amp;#34;title&amp;#34;: &amp;#34;[FIRING:2]  (blue)&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&amp;amp;matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;body&#34;&gt;Body&lt;/h3&gt;
&lt;p&gt;The JSON payload of webhook notifications includes the following key-value pairs:&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;receiver&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Name of the contact point.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;orgId&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;ID of the organization related to the payload.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;alerts&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;array of &lt;a href=&#34;#alert&#34;&gt;alerts&lt;/a&gt;&lt;/td&gt;
              &lt;td&gt;Alerts that are triggering.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;groupLabels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are used for grouping, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;commonLabels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that all alarms have in common, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;commonAnnotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that all alarms have in common, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;externalURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;External URL to the Grafana instance sending this webhook.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;version&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Version of the payload structure.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;groupKey&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Key that is used for grouping.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;truncatedAlerts&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;number&lt;/td&gt;
              &lt;td&gt;Number of alerts that were truncated.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;state&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;State of the alert group (either &lt;code&gt;alerting&lt;/code&gt; or &lt;code&gt;ok&lt;/code&gt;).&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;The following key-value pairs are also included in the JSON payload and can be configured in the &lt;a href=&#34;#optional-settings-using-templates&#34;&gt;webhook settings using notification templates&lt;/a&gt;.&lt;/p&gt;
&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;title&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Custom title. Configurable in &lt;a href=&#34;#optional-settings-using-templates&#34;&gt;webhook settings using notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;message&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Custom message. Configurable in &lt;a href=&#34;#optional-settings-using-templates&#34;&gt;webhook settings using notification templates&lt;/a&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;h3 id=&#34;alert&#34;&gt;Alert&lt;/h3&gt;
&lt;p&gt;The Alert object represents an alert included in the notification group, as provided by the &lt;a href=&#34;#body&#34;&gt;&lt;code&gt;alerts&lt;/code&gt; field&lt;/a&gt;.&lt;/p&gt;


&lt;div data-shared=&#34;alerts/table-for-json-alert-object.md&#34;&gt;
            &lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Key&lt;/th&gt;
              &lt;th&gt;Type&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;status&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Current status of the alert, &lt;code&gt;firing&lt;/code&gt; or &lt;code&gt;resolved&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;labels&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Labels that are part of this alert, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;annotations&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Annotations that are part of this alert, map of string keys to string values.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;startsAt&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;Start time of the alert.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;endsAt&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;End time of the alert, default value when not resolved is &lt;code&gt;0001-01-01T00:00:00Z&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;values&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;object&lt;/td&gt;
              &lt;td&gt;Values that triggered the current status.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;generatorURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of the alert rule in the Grafana UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;fingerprint&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;The labels fingerprint, alarms with the same labels will have the same fingerprint.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;silenceURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL to silence the alert rule in the Grafana UI.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;dashboardURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;A link to the Grafana Dashboard if the alert has a Dashboard UID annotation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;panelURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;A link to the panel if the alert has a Panel ID annotation.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;&lt;code&gt;imageURL&lt;/code&gt;&lt;/td&gt;
              &lt;td&gt;string&lt;/td&gt;
              &lt;td&gt;URL of a screenshot of a panel assigned to the rule that created this notification.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;/div&gt;

        
&lt;h2 id=&#34;custom-payload&#34;&gt;Custom Payload&lt;/h2&gt;
&lt;p&gt;The &lt;code&gt;Custom Payload&lt;/code&gt; option allows you to completely customize the webhook payload using 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;templates&lt;/a&gt;. This gives you full control over the structure and content of the webhook request.&lt;/p&gt;
&lt;p&gt;For detailed information about how to create and manage notification templates, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;notification templates&lt;/a&gt;.&lt;/p&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;When using Custom Payload, the &lt;a href=&#34;#optional-notification-settings&#34;&gt;&lt;code&gt;Title&lt;/code&gt; and &lt;code&gt;Message&lt;/code&gt; fields&lt;/a&gt; are ignored as the entire payload structure is determined by your template.&lt;/li&gt;
&lt;li&gt;Custom Payload is not yet &lt;a href=&#34;/docs/release-life-cycle/#general-availability&#34;&gt;generally available&lt;/a&gt; in Grafana Cloud.&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;section class=&#34;expand-table-wrapper&#34;&gt;&lt;div class=&#34;button-div&#34;&gt;
      &lt;button class=&#34;expand-table-btn&#34;&gt;Expand table&lt;/button&gt;
    &lt;/div&gt;&lt;div class=&#34;responsive-table-wrapper&#34;&gt;
    &lt;table&gt;
      &lt;thead&gt;
          &lt;tr&gt;
              &lt;th&gt;Option&lt;/th&gt;
              &lt;th&gt;Description&lt;/th&gt;
          &lt;/tr&gt;
      &lt;/thead&gt;
      &lt;tbody&gt;
          &lt;tr&gt;
              &lt;td&gt;Payload Template&lt;/td&gt;
              &lt;td&gt;
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/&#34;&gt;Notification template&lt;/a&gt; that defines the structure of the webhook payload.&lt;/td&gt;
          &lt;/tr&gt;
          &lt;tr&gt;
              &lt;td&gt;Payload Variables&lt;/td&gt;
              &lt;td&gt;Key-value pairs that define additional variables available in the template under &lt;code&gt;.Vars.&amp;lt;variable_name&amp;gt;&lt;/code&gt;.&lt;/td&gt;
          &lt;/tr&gt;
      &lt;/tbody&gt;
    &lt;/table&gt;
  &lt;/div&gt;
&lt;/section&gt;&lt;p&gt;Example of a custom payload template that includes variables:&lt;/p&gt;

&lt;div class=&#34;code-snippet code-snippet__mini&#34;&gt;&lt;div class=&#34;lang-toolbar__mini&#34;&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet code-snippet__border&#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-none&#34;&gt;{
  &amp;#34;alert_name&amp;#34;: &amp;#34;{{ .CommonLabels.alertname }}&amp;#34;,
  &amp;#34;status&amp;#34;: &amp;#34;{{ .Status }}&amp;#34;,
  &amp;#34;environment&amp;#34;: &amp;#34;{{ .Vars.environment }}&amp;#34;,
  &amp;#34;custom_field&amp;#34;: &amp;#34;{{ .Vars.custom_field }}&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;json-template-functions&#34;&gt;JSON Template Functions&lt;/h3&gt;
&lt;p&gt;When creating custom payloads, several template functions are available to help generate valid JSON structures. These include functions for creating dictionaries (&lt;code&gt;coll.Dict&lt;/code&gt;), arrays (&lt;code&gt;coll.Slice&lt;/code&gt;, &lt;code&gt;coll.Append&lt;/code&gt;), and converting between JSON strings and objects (&lt;code&gt;data.ToJSON&lt;/code&gt;, &lt;code&gt;data.JSON&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;For detailed information about these and other template functions, refer to 
    &lt;a href=&#34;/docs/grafana/v12.4/alerting/configure-notifications/template-notifications/reference/#namespaced-functions&#34;&gt;notification template functions&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Example using JSON helper functions:&lt;/p&gt;


&lt;div data-shared=&#34;alerts/example-custom-json-payload.md&#34;&gt;
            
&lt;div class=&#34;code-snippet &#34;&gt;&lt;div class=&#34;lang-toolbar&#34;&gt;
    &lt;span class=&#34;lang-toolbar__item lang-toolbar__item-active&#34;&gt;Go&lt;/span&gt;
    &lt;span class=&#34;code-clipboard&#34;&gt;
      &lt;button x-data=&#34;app_code_snippet()&#34; x-init=&#34;init()&#34; @click=&#34;copy()&#34;&gt;
        &lt;img class=&#34;code-clipboard__icon&#34; src=&#34;/media/images/icons/icon-copy-small-2.svg&#34; alt=&#34;Copy code to clipboard&#34; width=&#34;14&#34; height=&#34;13&#34;&gt;
        &lt;span&gt;Copy&lt;/span&gt;
      &lt;/button&gt;
    &lt;/span&gt;
    &lt;div class=&#34;lang-toolbar__border&#34;&gt;&lt;/div&gt;
  &lt;/div&gt;&lt;div class=&#34;code-snippet &#34;&gt;
    &lt;pre data-expanded=&#34;false&#34;&gt;&lt;code class=&#34;language-go&#34;&gt;{- /* Generates a pretty-printed JSON payload with alert group info and individual alerts metadata. */ -}}
{{ define &amp;#34;webhook.custom.payload&amp;#34; -}}
  {{ coll.Dict
  &amp;#34;receiver&amp;#34; .Receiver
  &amp;#34;status&amp;#34; .Status
  &amp;#34;alerts&amp;#34; (tmpl.Exec &amp;#34;webhook.custom.simple_alerts&amp;#34; .Alerts | data.JSON)
  &amp;#34;groupLabels&amp;#34; .GroupLabels
  &amp;#34;commonLabels&amp;#34; .CommonLabels
  &amp;#34;commonAnnotations&amp;#34; .CommonAnnotations
  &amp;#34;externalURL&amp;#34; .ExternalURL
  &amp;#34;version&amp;#34; &amp;#34;1&amp;#34;
  &amp;#34;orgId&amp;#34;  (index .Alerts 0).OrgID
  &amp;#34;truncatedAlerts&amp;#34;  .TruncatedAlerts
  &amp;#34;groupKey&amp;#34; .GroupKey
  &amp;#34;state&amp;#34;  (tmpl.Inline &amp;#34;{{ if eq .Status \&amp;#34;resolved\&amp;#34; }}ok{{ else }}alerting{{ end }}&amp;#34; . )
  &amp;#34;allVariables&amp;#34;  .Vars
  &amp;#34;title&amp;#34; (tmpl.Exec &amp;#34;default.title&amp;#34; . )
  &amp;#34;message&amp;#34; (tmpl.Exec &amp;#34;default.message&amp;#34; . )
  | data.ToJSONPretty &amp;#34; &amp;#34;}}
{{- end }}

{{- /* Embed json templates in other json templates. */ -}}
{{ define &amp;#34;webhook.custom.simple_alerts&amp;#34; -}}
  {{- $alerts := coll.Slice -}}
  {{- range . -}}
    {{ $alerts = coll.Append (coll.Dict
    &amp;#34;status&amp;#34; .Status
    &amp;#34;labels&amp;#34; .Labels
    &amp;#34;startsAt&amp;#34; .StartsAt
    &amp;#34;endsAt&amp;#34; .EndsAt
    ) $alerts}}
  {{- end -}}
  {{- $alerts | data.ToJSON -}}
{{- end }}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;

        
]]></content><description>&lt;h1 id="configure-webhook-notifications">Configure webhook notifications&lt;/h1>
&lt;p>Use the webhook integration in contact points to send alert notifications to your webhook.&lt;/p>
&lt;p>The webhook integration is a flexible way to integrate alerts into your system. When a notification is triggered, it sends a JSON request with alert details and additional data to the webhook endpoint.&lt;/p></description></item></channel></rss>