<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Integrations on Grafana Labs</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/</link><description>Recent content in Integrations on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/oncall/v1.6.x/integrations/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana Alerting</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/grafana-alerting/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/grafana-alerting/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-alerting-integration-for-grafana-oncall&#34;&gt;Grafana Alerting integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ A note about &lt;strong&gt;(Legacy)&lt;/strong&gt; integrations:
Integrations that were created before version 1.3.21 were marked as &lt;strong&gt;(Legacy)&lt;/strong&gt; and recently migrated.
These integrations are receiving and escalating alerts, but some manual adjustments might be required.
&lt;a href=&#34;/docs/oncall/v1.6.x/integrations/grafana-alerting/#note-about-legacy-integration&#34;&gt;Here&lt;/a&gt; you can read more about changes.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Grafana Alerting for Grafana OnCall can be set up using two methods:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana OnCall is connected to the same Grafana instance being used to manage Grafana OnCall.&lt;/li&gt;
&lt;li&gt;Grafana OnCall is connected to one or more Grafana instances, separate from the one being used to manage Grafana OnCall.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;configure-grafana-alerting-in-same-grafana-instance&#34;&gt;Configure Grafana Alerting in same Grafana instance&lt;/h2&gt;
&lt;p&gt;Use the following method if you are connecting Grafana OnCall with alerts coming from the same Grafana instance from
which Grafana OnCall is being managed.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Grafana OnCall, navigate to the &lt;strong&gt;Integrations&lt;/strong&gt; tab and select &lt;strong&gt;New Integration to receive alerts&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Quick connect&lt;/strong&gt; in the &lt;strong&gt;Grafana Alerting&lt;/strong&gt; tile. This will open a &lt;strong&gt;New Grafana Alerting integration&lt;/strong&gt; configuration window.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the opened window, enter a name and description for the integration and choose existing or create a new contact point.
This contact point will send alerts to the created integration.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must connect the contact point with a notification policy in Grafana Alerting to receive alerts in Grafana OnCall.
For more information, see
&lt;a href=&#34;/docs/grafana/latest/alerting/unified-alerting/contact-points/&#34;&gt;Contact points in Grafana Alerting&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Determine the escalation chain for the new integration by either selecting an existing one or by creating a new
escalation chain.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In Grafana Cloud Alerting, navigate to &lt;strong&gt;Alerting &amp;gt; Contact Points&lt;/strong&gt; and find a contact point with a name matching
the integration you created in Grafana OnCall.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the &lt;strong&gt;Edit&lt;/strong&gt; (pencil) icon, then click &lt;strong&gt;Test&lt;/strong&gt;. This will send a test alert to Grafana OnCall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-external-grafana-alerting-from-other-grafana-instance&#34;&gt;Configure external Grafana Alerting from other Grafana Instance&lt;/h2&gt;
&lt;p&gt;Connect Grafana OnCall with alerts coming from a Grafana instance that is different from the instance that Grafana
OnCall is being managed:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In Grafana OnCall, navigate to the &lt;strong&gt;Integrations&lt;/strong&gt; tab and select &lt;strong&gt;New Integration to receive alerts&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select the &lt;strong&gt;Alertmanager&lt;/strong&gt; tile.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Enter a name and description for the integration, click Create&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;A new page will open with the integration details. Copy the OnCall Integration URL from HTTP Endpoint section.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Go to the other Grafana instance to connect to Grafana OnCall and navigate to &lt;strong&gt;Alerting &amp;gt; Contact Points&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Select &lt;strong&gt;New Contact Point&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Choose the contact point type &lt;code&gt;webhook&lt;/code&gt;, then paste the URL generated in step 3 into the URL field.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; You must connect the contact point with a notification policy in Grafana Alerting to receive alerts in Grafana OnCall.
For more information, see
&lt;a href=&#34;/docs/grafana/latest/alerting/unified-alerting/contact-points/&#34;&gt;Contact points in Grafana Alerting&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click the &lt;strong&gt;Edit&lt;/strong&gt; (pencil) icon, then click &lt;strong&gt;Test&lt;/strong&gt;. This will send a test alert to Grafana OnCall.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;note-about-grouping-and-autoresolution&#34;&gt;Note about grouping and autoresolution&lt;/h2&gt;
&lt;p&gt;Grafana OnCall relies on the Grafana Alerting grouping and autoresolution mechanism to ensure consistency between alert state in OnCall and AlertManager.
It&amp;rsquo;s recommended to configure &lt;a href=&#34;/docs/grafana/latest/alerting/fundamentals/notification-policies/notifications/#grouping&#34;&gt;grouping&lt;/a&gt; on
the Grafana Alerting side and use default grouping and autoresolution templates on the OnCall side.
Changing this templates might lead to incorrect grouping and autoresolution behavior.&lt;/p&gt;
&lt;h2 id=&#34;note-about-legacy-integration&#34;&gt;Note about legacy integration&lt;/h2&gt;
&lt;p&gt;Before we were using each alert from Grafana Alerting group as a separate payload:&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;labels&amp;#34;: {
    &amp;#34;severity&amp;#34;: &amp;#34;critical&amp;#34;,
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;annotations&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;Instance localhost:8081 down&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;Node has been down for more than 1 minute&amp;#34;
  },
  ...
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This behaviour was leading to mismatch in alert state between OnCall and Grafana Alerting and draining of rate-limits,
since each Grafana Alerting alert was counted separately.&lt;/p&gt;
&lt;p&gt;We decided to change this behaviour to respect Grafana Alerting grouping by using AlertManager group as one payload.&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;alerts&amp;#34;: [...],
  &amp;#34;groupLabels&amp;#34;: {
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;commonLabels&amp;#34;: {
    &amp;#34;job&amp;#34;: &amp;#34;node&amp;#34;, 
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;commonAnnotations&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;Node has been down for more than 1 minute&amp;#34;
  },
  &amp;#34;groupKey&amp;#34;: &amp;#34;{}:{alertname=\&amp;#34;InstanceDown\&amp;#34;}&amp;#34;,
  ...
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can read more about AlertManager Data model &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/notifications/#data&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;after-migration-checklist&#34;&gt;After-migration checklist&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Integration URL will stay the same, so no need to change AlertManager or Grafana Alerting configuration.
Integration templates will be reset to suit new payload.
It is needed to adjust routes and outgoing webhooks manually to new payload.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Send a new demo alert to the migrated integration.&lt;/li&gt;
&lt;li&gt;Adjust routes to the new shape of payload. You can use payload of the demo alert from previous step as an example.&lt;/li&gt;
&lt;li&gt;If outgoing webhooks utilized the alerts payload from the migrated integration in the [trigger][trigger_webhook_template]
or [data][data_webhook_template] template it&amp;rsquo;s needed to adjust them as well.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="grafana-alerting-integration-for-grafana-oncall">Grafana Alerting integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>⚠️ A note about &lt;strong>(Legacy)&lt;/strong> integrations:
Integrations that were created before version 1.3.21 were marked as &lt;strong>(Legacy)&lt;/strong> and recently migrated.
These integrations are receiving and escalating alerts, but some manual adjustments might be required.
&lt;a href="/docs/oncall/v1.6.x/integrations/grafana-alerting/#note-about-legacy-integration">Here&lt;/a> you can read more about changes.&lt;/p></description></item><item><title>Alertmanager</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/alertmanager/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/alertmanager/</guid><content><![CDATA[&lt;h1 id=&#34;alertmanager-integration-for-grafana-oncall&#34;&gt;Alertmanager integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;⚠️ A note about &lt;strong&gt;(Legacy)&lt;/strong&gt; integrations:
Integrations that were created before version 1.3.21 (1 August 2023) were marked as &lt;strong&gt;(Legacy)&lt;/strong&gt; and recently migrated.
These integrations are receiving and escalating alerts, but some manual adjustments might be required.
&lt;a href=&#34;/docs/oncall/v1.6.x/integrations/alertmanager/#note-about-legacy-integration&#34;&gt;Here&lt;/a&gt; you can read more about changes.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Alertmanager integration handles alerts from &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/alertmanager/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Prometheus Alertmanager&lt;/a&gt;.
This integration is the recommended way to send alerts from Prometheus deployed in your infrastructure, to Grafana OnCall.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Pro tip:&lt;/strong&gt; Create one integration per team, and configure alertmanager labels selector to send alerts only related to that team&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-prometheus-alertmanager&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Prometheus Alertmanager&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Alertmanager Prometheus&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.
You will need it when configuring Alertmanager.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-alertmanager-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Alertmanager to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Add a new &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/configuration/#webhook_config&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Webhook&lt;/a&gt; receiver to &lt;code&gt;receivers&lt;/code&gt;
section of your Alertmanager configuration&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;url&lt;/code&gt; to the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from previous section
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Note:&lt;/strong&gt; The url has a trailing slash that is required for it to work properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Set &lt;code&gt;send_resolved&lt;/code&gt; to &lt;code&gt;true&lt;/code&gt;, so Grafana OnCall can autoresolve alert groups when they are resolved in Alertmanager&lt;/li&gt;
&lt;li&gt;It is recommended to set &lt;code&gt;max_alerts&lt;/code&gt; to less than &lt;code&gt;100&lt;/code&gt; to avoid requests that are too large.&lt;/li&gt;
&lt;li&gt;Use this receiver in your route configuration&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is the example of final configuration:&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;YAML&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-yaml&#34;&gt;route:
  receiver: &amp;#34;oncall&amp;#34;
  group_by: [alertname, datacenter, app]

receivers:
  - name: &amp;#34;oncall&amp;#34;
    webhook_configs:
      - url: &amp;lt;integration-url&amp;gt;
        send_resolved: true
        max_alerts: 100&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;complete-the-integration-configuration&#34;&gt;Complete the Integration Configuration&lt;/h2&gt;
&lt;p&gt;Complete configuration by setting routes, templates, maintenances, etc. Read more in
&lt;a href=&#34;/docs/oncall/v1.6.x/integrations/#complete-the-integration-configuration&#34;&gt;this section&lt;/a&gt;&lt;/p&gt;
&lt;h2 id=&#34;note-about-grouping-and-autoresolution&#34;&gt;Note about grouping and autoresolution&lt;/h2&gt;
&lt;p&gt;Grafana OnCall relies on the Alertmanager grouping and autoresolution mechanism to
ensure consistency between alert state in OnCall and AlertManager.
It&amp;rsquo;s recommended to configure &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/alertmanager/#grouping&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;grouping&lt;/a&gt; on the Alertmanager side and use default grouping
and autoresolution templates on the OnCall side. Changing this templates might lead to incorrect
grouping and autoresolution behavior. This is unlikely to be what you want, unless you have disabled
grouping on the AlertManager side.&lt;/p&gt;
&lt;h2 id=&#34;configuring-oncall-heartbeats-optional&#34;&gt;Configuring OnCall Heartbeats (optional)&lt;/h2&gt;
&lt;p&gt;An OnCall heartbeat acts as a monitoring for monitoring systems. If your monitoring is down and stop sending alerts,
Grafana OnCall will notify you about that.&lt;/p&gt;
&lt;h3 id=&#34;configuring-grafana-oncall-heartbeat&#34;&gt;Configuring Grafana OnCall Heartbeat&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Integration Page&lt;/strong&gt;, click on three dots on top right, click &lt;strong&gt;Heartbeat settings&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Copy &lt;strong&gt;OnCall Heartbeat URL&lt;/strong&gt;, you will need it when configuring Alertmanager&lt;/li&gt;
&lt;li&gt;Set up &lt;strong&gt;Heartbeat Interval&lt;/strong&gt;, time period after which Grafana OnCall will start a new alert group if it
doesn&amp;rsquo;t receive a heartbeat request&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;configuring-alertmanager-to-send-heartbeats-to-grafana-oncall-heartbeat&#34;&gt;Configuring Alertmanager to send heartbeats to Grafana OnCall Heartbeat&lt;/h3&gt;
&lt;p&gt;You can configure Alertmanager to regularly send alerts to the heartbeat endpoint. Add &lt;code&gt;vector(1)&lt;/code&gt; as a heartbeat
generator to &lt;code&gt;prometheus.yaml&lt;/code&gt;. It will always return true and act like always firing alert, which will be sent to
Grafana OnCall once in a given period of time:&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;YAML&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-yaml&#34;&gt;groups:
  - name: meta
    rules:
      - alert: heartbeat
        expr: vector(1)
        labels:
          severity: none
        annotations:
          description: This is a heartbeat alert for Grafana OnCall
          summary: Heartbeat for Grafana OnCall&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Add receiver configuration to &lt;code&gt;prometheus.yaml&lt;/code&gt; with the &lt;strong&gt;OnCall Heartbeat URL&lt;/strong&gt;:&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;YAML&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-yaml&#34;&gt;  ...
  route:
  ...
      routes:
      - match:
          alertname: heartbeat
        receiver: &amp;#39;grafana-oncall-heartbeat&amp;#39;
        group_wait: 0s
        group_interval: 1m
        repeat_interval: 50s
  receivers:
  - name: &amp;#39;grafana-oncall-heartbeat&amp;#39;
    webhook_configs:
  - url: https://oncall-dev-us-central-0.grafana.net/oncall/integrations/v1/alertmanager/1234567890/heartbeat/
    send_resolved: false&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;note-about-legacy-integration&#34;&gt;Note about legacy integration&lt;/h2&gt;
&lt;p&gt;Legacy integration was using each alert from AlertManager group as a separate payload:&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;labels&amp;#34;: {
    &amp;#34;severity&amp;#34;: &amp;#34;critical&amp;#34;,
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;annotations&amp;#34;: {
    &amp;#34;title&amp;#34;: &amp;#34;Instance localhost:8081 down&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;Node has been down for more than 1 minute&amp;#34;
  },
  ...
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;This behaviour was leading to mismatch in alert state between OnCall and AlertManager and draining of rate-limits,
since each AlertManager alert was counted separately.&lt;/p&gt;
&lt;p&gt;We decided to change this behaviour to respect AlertManager grouping by using AlertManager group as one payload.&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;alerts&amp;#34;: [...],
  &amp;#34;groupLabels&amp;#34;: {
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;commonLabels&amp;#34;: {
    &amp;#34;job&amp;#34;: &amp;#34;node&amp;#34;, 
    &amp;#34;alertname&amp;#34;: &amp;#34;InstanceDown&amp;#34;
  },
  &amp;#34;commonAnnotations&amp;#34;: {
    &amp;#34;description&amp;#34;: &amp;#34;Node has been down for more than 1 minute&amp;#34;
  },
  &amp;#34;groupKey&amp;#34;: &amp;#34;{}:{alertname=\&amp;#34;InstanceDown\&amp;#34;}&amp;#34;,
  ...
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;You can read more about AlertManager Data model &lt;a href=&#34;https://prometheus.io/docs/alerting/latest/notifications/#data&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&#34;after-migration-checklist&#34;&gt;After-migration checklist&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;Integration URL will stay the same, so no need to change AlertManager or Grafana Alerting configuration.
Integration templates will be reset to suit new payload.
It is needed to adjust routes and outgoing webhooks manually to new payload.&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Send a new demo alert to the migrated integration.&lt;/li&gt;
&lt;li&gt;Adjust routes to the new shape of payload. You can use payload of the demo alert from previous step as an example.&lt;/li&gt;
&lt;li&gt;If outgoing webhooks utilized the alerts payload from the migrated integration in the &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/#using-trigger-template-field&#34;&gt;trigger&lt;/a&gt;
or &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/#outgoing-webhook-templates&#34;&gt;data&lt;/a&gt; template it&amp;rsquo;s needed to adjust them as well.&lt;/li&gt;
&lt;/ol&gt;
&lt;img width=&#34;1646&#34; alt=&#34;Screenshot 2023-12-14 at 1 14 21 PM&#34; src=&#34;https://github.com/grafana/oncall/assets/85312870/7e281416-edbc-4384-8d15-7efaec2de311&#34;&gt;
&lt;img width=&#34;1644&#34; alt=&#34;Screenshot 2023-12-14 at 1 14 32 PM&#34; src=&#34;https://github.com/grafana/oncall/assets/85312870/b62cfa1d-2ff6-4b46-9cec-459b14cd1996&#34;&gt;
]]></content><description>&lt;h1 id="alertmanager-integration-for-grafana-oncall">Alertmanager integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>⚠️ A note about &lt;strong>(Legacy)&lt;/strong> integrations:
Integrations that were created before version 1.3.21 (1 August 2023) were marked as &lt;strong>(Legacy)&lt;/strong> and recently migrated.
These integrations are receiving and escalating alerts, but some manual adjustments might be required.
&lt;a href="/docs/oncall/v1.6.x/integrations/alertmanager/#note-about-legacy-integration">Here&lt;/a> you can read more about changes.&lt;/p></description></item><item><title>Page people manually</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/manual/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/manual/</guid><content><![CDATA[&lt;h1 id=&#34;page-people-manually&#34;&gt;Page people manually&lt;/h1&gt;
&lt;p&gt;Grafana OnCall relies on automated and pre-configured workflows, such as &lt;a href=&#34;/docs/oncall/v1.6.x/integrations/&#34;&gt;integrations&lt;/a&gt;,
&lt;a href=&#34;/docs/oncall/v1.6.x/configure/escalation-chains-and-routes/&#34;&gt;routes, and escalation chains&lt;/a&gt; to handle most of the incident response process.
However, sometimes you might need to page a &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/#manage-teams-in-grafana-oncall&#34;&gt;team&lt;/a&gt; or request assistance from specific people that
are not part of these pre-defined rules.&lt;/p&gt;
&lt;p&gt;For such ad-hoc scenarios, Grafana OnCall allows you to create an alert group, input necessary information, and decide
who will be alerted – a team, or a set of users.&lt;/p&gt;
&lt;h2 id=&#34;page-a-team&#34;&gt;Page a team&lt;/h2&gt;
&lt;p&gt;Click on &lt;strong&gt;&#43; Escalation&lt;/strong&gt; on the &lt;strong&gt;Alert groups&lt;/strong&gt; page to start creating a new alert group.
From there, you can configure the alert group to notify a particular team and optionally include additional users. Here are the inputs you need to fill in:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Message&lt;/strong&gt;: Write a message to provide more details or instructions to those whom you are paging.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Team&lt;/strong&gt;: Select the team you want to page. The team&amp;rsquo;s
&lt;a href=&#34;#learn-the-flow-and-handle-warnings&#34;&gt;direct paging integration&lt;/a&gt; will be used for notification. &lt;em&gt;Note&lt;/em&gt; that you will only
see teams that have a &amp;ldquo;contactable&amp;rdquo; direct paging integration (ie. it has an escalation chain assigned to it, or has
at least one Chatops integration connected to send notifications to).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Users&lt;/strong&gt;: Include more users to the alert group. For each additional user, you can select a notification policy:
&lt;a href=&#34;/docs/oncall/v1.6.x/manage/notify/#configure-user-notification-policies&#34;&gt;default or important&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;The same feature is also available as &lt;a href=&#34;/docs/oncall/v1.6.x/manage/notify/slack/#slack-escalate-command&#34;&gt;&lt;strong&gt;/escalate&lt;/strong&gt;&lt;/a&gt; Slack command.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;add-users-to-an-existing-alert-group&#34;&gt;Add users to an existing alert group&lt;/h2&gt;
&lt;p&gt;If you want to page more people for an existing alert group, you can do so using the &lt;strong&gt;&#43; Add&lt;/strong&gt;
button, within the &amp;ldquo;Participants&amp;rdquo; section on the specific alert group&amp;rsquo;s page. The same functionality is available in
Slack using the &lt;strong&gt;Responders&lt;/strong&gt; button in the alert group&amp;rsquo;s message.&lt;/p&gt;
&lt;p&gt;Notifying additional users doesn&amp;rsquo;t disrupt or interfere with the escalation chain configured for the alert group;
it simply adds more responders and notifies them immediately. Note that adding users for an existing alert group
will page them even if the alert group is silenced or acknowledged, but not if the alert group is resolved.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It&amp;rsquo;s not possible to page a team for an existing alert group. To page a specific team, you need to
&lt;a href=&#34;#page-a-team&#34;&gt;create a new alert group&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;learn-the-flow-and-handle-warnings&#34;&gt;Learn the flow and handle warnings&lt;/h2&gt;
&lt;p&gt;When you pick a team to page, Grafana OnCall will automatically use the right direct paging integration for the team.
&amp;ldquo;Direct paging&amp;rdquo; is a special kind of integration in Grafana OnCall that is unique per team and is used to send alerts
to the team&amp;rsquo;s ChatOps channels and start an appropriate escalation chain.&lt;/p&gt;
&lt;h2 id=&#34;set-up-direct-paging-for-a-team&#34;&gt;Set up direct paging for a team&lt;/h2&gt;
&lt;p&gt;By default all teams will have a direct paging integration created for them. However, these are not configured by default.
If a team does not have their direct paging integration configured, such that it is &amp;ldquo;contactable&amp;rdquo; (ie. it has an
escalation chain assigned to it, or has at least one Chatops integration connected to send notifications to), you will
not be able to direct page this team. If this happens, consider following the following steps for the team (or reach out
to the relevant team and suggest doing so).&lt;/p&gt;
&lt;p&gt;Navigate to the &lt;strong&gt;Integrations&lt;/strong&gt; page and find the &amp;ldquo;Direct paging&amp;rdquo; integration for the team in question. From the
integration&amp;rsquo;s detail page, you can customize its settings, link it to an escalation chain, and configure associated
ChatOps channels. To confirm that the integration is functioning as intended, &lt;a href=&#34;#page-a-team&#34;&gt;create a new alert group&lt;/a&gt;
and select the same team for a test run.&lt;/p&gt;
]]></content><description>&lt;h1 id="page-people-manually">Page people manually&lt;/h1>
&lt;p>Grafana OnCall relies on automated and pre-configured workflows, such as &lt;a href="/docs/oncall/v1.6.x/integrations/">integrations&lt;/a>,
&lt;a href="/docs/oncall/v1.6.x/configure/escalation-chains-and-routes/">routes, and escalation chains&lt;/a> to handle most of the incident response process.
However, sometimes you might need to page a &lt;a href="/docs/oncall/v1.6.x/manage/user-and-team-management/#manage-teams-in-grafana-oncall">team&lt;/a> or request assistance from specific people that
are not part of these pre-defined rules.&lt;/p></description></item><item><title>Amazon SNS</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/amazon-sns/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/amazon-sns/</guid><content><![CDATA[&lt;h1 id=&#34;amazon-sns-integration-for-grafana-oncall&#34;&gt;Amazon SNS integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Amazon SNS integration for Grafana OnCall handles ticket events sent from Amazon SNS webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations
in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-amazon-sns&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Amazon SNS&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Amazon SNS&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from
&lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-amazon-sns-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Amazon SNS to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Create a new Topic in &lt;a href=&#34;https://console.aws.amazon.com/sns&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://console.aws.amazon.com/sns&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Open this topic, then create a new subscription&lt;/li&gt;
&lt;li&gt;Choose the protocol HTTPS&lt;/li&gt;
&lt;li&gt;Add the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; to the Amazon SNS Endpoint&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="amazon-sns-integration-for-grafana-oncall">Amazon SNS integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Amazon SNS integration for Grafana OnCall handles ticket events sent from Amazon SNS webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>AppDynamics</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/appdynamics/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/appdynamics/</guid><content><![CDATA[&lt;h1 id=&#34;appdynamics-integration-for-grafana-oncall&#34;&gt;AppDynamics integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The AppDynamics integration for Grafana OnCall handles health rule violation events sent from AppDynamics actions.
The integration provides grouping and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-appdynamics&#34;&gt;Configuring Grafana OnCall to Receive Alerts from AppDynamics&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;AppDynamics&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.
You will need it when configuring AppDynamics.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-appdynamics-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring AppDynamics to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;Create a new HTTP Request Template in AppDynamics to send events to Grafana OnCall using the integration URL above.&lt;/p&gt;
&lt;p&gt;Refer to
[AppDynamics documentation]
(&lt;a href=&#34;https://docs.appdynamics.com/appd/23.x/latest/en/appdynamics-essentials/alert-and-respond/actions/http-request-actions-and-templates&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://docs.appdynamics.com/appd/23.x/latest/en/appdynamics-essentials/alert-and-respond/actions/http-request-actions-and-templates&lt;/a&gt;)
for more information on &lt;strong&gt;how to create HTTP Request Templates&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Use the following values when configuring a new HTTP Request Template:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Request URL:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Method: POST&lt;/li&gt;
&lt;li&gt;Raw URL: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from previous section&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Authentication:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Type: None&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Payload:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;MIME Type: application/json&lt;/li&gt;
&lt;li&gt;Template:&lt;/li&gt;
&lt;/ul&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;event&amp;#34;: {
    &amp;#34;eventType&amp;#34;: &amp;#34;${latestEvent.eventType}&amp;#34;,
    &amp;#34;id&amp;#34;: &amp;#34;${latestEvent.id}&amp;#34;,
    &amp;#34;guid&amp;#34;: &amp;#34;${latestEvent.guid}&amp;#34;,
    &amp;#34;eventTypeKey&amp;#34;: &amp;#34;${latestEvent.eventTypeKey}&amp;#34;,
    &amp;#34;eventTime&amp;#34;: &amp;#34;${latestEvent.eventTime}&amp;#34;,
    &amp;#34;displayName&amp;#34;: &amp;#34;${latestEvent.displayName}&amp;#34;,
    &amp;#34;summaryMessage&amp;#34;: &amp;#34;${latestEvent.summaryMessage}&amp;#34;,
    &amp;#34;eventMessage&amp;#34;: &amp;#34;${latestEvent.eventMessage}&amp;#34;,
    &amp;#34;application&amp;#34;: {
      &amp;#34;name&amp;#34;: &amp;#34;${latestEvent.application.name}&amp;#34;
    },
    &amp;#34;node&amp;#34;: {
      &amp;#34;name&amp;#34;: &amp;#34;${latestEvent.node.name}&amp;#34;
    },
    &amp;#34;severity&amp;#34;: &amp;#34;${latestEvent.severity}&amp;#34;,
    &amp;#34;deepLink&amp;#34;: &amp;#34;${latestEvent.deepLink}&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Response Handling Criteria:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Success Criteria: Status Code 200&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Settings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;One Request Per Event: Enabled&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;After setting up a template, create a new action in AppDynamics and select the template you created earlier.
Now you can configure policies to trigger the action when certain events occur in AppDynamics.
When configuring a policy, select the following events to trigger the action:&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;plain&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-plain&#34;&gt;Health Rule Violation Started - Warning
Health Rule Violation Started - Critical
Health Rule Violation Continues - Warning
Health Rule Violation Continues - Critical
Health Rule Violation Upgraded - Warning to Critical
Health Rule Violation Downgraded - Critical to Warning
Health Rule Violation Ended - Warning
Health Rule Violation Ended - Critical
Health Rule Violation Canceled - Warning
Health Rule Violation Canceled - Critical&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;After setting up the connection, you can test it by sending a test request from the AppDynamics UI.&lt;/p&gt;
&lt;h2 id=&#34;understanding-how-alerts-grouped-and-auto-resolved&#34;&gt;Understanding How Alerts Grouped and Auto-resolved&lt;/h2&gt;
&lt;p&gt;Grafana OnCall provides grouping and auto-resolve logic for the AppDynamics integration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alerts created from health rule violation events are grouped by application and node name&lt;/li&gt;
&lt;li&gt;Alert groups are auto-resolved when the health rule violation is ended or canceled&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;complete-the-integration-configuration&#34;&gt;Complete the Integration Configuration&lt;/h2&gt;
&lt;p&gt;Complete configuration by setting routes, templates, maintenances, etc. Read more in
&lt;a href=&#34;/docs/oncall/v1.6.x/integrations/#complete-the-integration-configuration&#34;&gt;this section&lt;/a&gt;&lt;/p&gt;
]]></content><description>&lt;h1 id="appdynamics-integration-for-grafana-oncall">AppDynamics integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The AppDynamics integration for Grafana OnCall handles health rule violation events sent from AppDynamics actions.
The integration provides grouping and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Datadog</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/datadog/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/datadog/</guid><content><![CDATA[&lt;h1 id=&#34;datadog-integration-for-grafana-oncall&#34;&gt;Datadog integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Datadog integration for Grafana OnCall handles ticket events sent from Datadog webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-datadog&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Datadog&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Datadog&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-datadog-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Datadog to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the Integrations page from the sidebar&lt;/li&gt;
&lt;li&gt;Search for webhook in the search bar&lt;/li&gt;
&lt;li&gt;Enter a name for the integration, for example: grafana-oncall-alerts&lt;/li&gt;
&lt;li&gt;Paste the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;, then save&lt;/li&gt;
&lt;li&gt;Navigate to the Events page from the sidebar to send the test alert&lt;/li&gt;
&lt;li&gt;Type @webhook-grafana-oncall-alerts test alert&lt;/li&gt;
&lt;li&gt;Click the post button&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="datadog-integration-for-grafana-oncall">Datadog integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Datadog integration for Grafana OnCall handles ticket events sent from Datadog webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>ElastAlert</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/elastalert/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/elastalert/</guid><content><![CDATA[&lt;h1 id=&#34;elastalert-integration-for-grafana-oncall&#34;&gt;ElastAlert integration for Grafana OnCall&lt;/h1&gt;
&lt;p&gt;The ElastAlert integration for Grafana OnCall handles ticket events sent from ElastAlert webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-elastalert&#34;&gt;Configuring Grafana OnCall to Receive Alerts from ElastAlert&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;ElastAlert&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-elastalert-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring ElastAlert to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;To send an alert from ElastAlert to a webhook, follow these steps:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://elastalert.readthedocs.io/en/latest/ruletypes.html#http-post&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;ElastAlert http-post docs&lt;/a&gt; for more details&lt;/p&gt;&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Open your ElastAlert configuration file (e.g., &lt;code&gt;config.yaml&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Locate the &lt;code&gt;alert&lt;/code&gt; section.&lt;/li&gt;
&lt;li&gt;Add the following configuration for the webhook alert:&lt;/li&gt;
&lt;/ol&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;YAML&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-yaml&#34;&gt;alert: post
http_post_url: &amp;#34;http://example.com/api&amp;#34;
http_post_static_payload:
  title: abc123&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;quot;abc123&amp;quot;&lt;/code&gt; with a suitable name for your alert, and &lt;code&gt;&amp;quot;http://example.com/api&amp;quot;&lt;/code&gt; with &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;.
4. Save the configuration file.&lt;/p&gt;
&lt;p&gt;After configuring the webhook, ElastAlert will send alerts to the specified endpoint when triggered.
Make sure your webhook endpoint is configured to receive and process the incoming alerts.&lt;/p&gt;
&lt;h2 id=&#34;grouping-auto-acknowledge-and-auto-resolve&#34;&gt;Grouping, auto-acknowledge and auto-resolve&lt;/h2&gt;
&lt;p&gt;Grafana OnCall provides grouping, auto-acknowledge and auto-resolve logic for the ElastAlert integration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alerts created from ticket events are grouped by ticket ID&lt;/li&gt;
&lt;li&gt;Alert groups are auto-acknowledged when the ticket status is set to &amp;ldquo;Pending&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Alert groups are auto-resolved when the ticket status is set to &amp;ldquo;Solved&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To customize this behaviour, consider modifying alert templates in integration settings.&lt;/p&gt;
&lt;h3 id=&#34;configuring-elastalert-to-send-heartbeats-to-grafana-oncall-heartbeat&#34;&gt;Configuring Elastalert to send heartbeats to Grafana OnCall Heartbeat&lt;/h3&gt;
&lt;p&gt;Add the following rule to ElastAlert&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;YAML&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-yaml&#34;&gt;    index: elastalert_status
    type: any
    alert: post
    http_post_url: {{ heartbeat_url }}
    realert:
        minutes: 1
    alert_text: elastalert is still running
    alert_text_type: alert_text_only&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="elastalert-integration-for-grafana-oncall">ElastAlert integration for Grafana OnCall&lt;/h1>
&lt;p>The ElastAlert integration for Grafana OnCall handles ticket events sent from ElastAlert webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Fabric</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/fabric/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/fabric/</guid><content><![CDATA[&lt;h1 id=&#34;fabric-integration-for-grafana-oncall&#34;&gt;Fabric integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Fabric integration for Grafana OnCall handles ticket events sent from Fabric webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-fabric&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Fabric&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Fabric&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-fabric-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Fabric to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;a href=&#34;https://www.fabric.io/settings/apps&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://www.fabric.io/settings/apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Choose your application&lt;/li&gt;
&lt;li&gt;Navigate to Service Hooks -&amp;gt; WebHook&lt;/li&gt;
&lt;li&gt;Enter URL: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Click Verify&lt;/li&gt;
&lt;li&gt;Choose &amp;ldquo;SEND IMPACT CHANGE ALERTS&amp;rdquo; and &amp;ldquo;ALSO SEND NON-FATAL ALERTS&amp;rdquo;&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="fabric-integration-for-grafana-oncall">Fabric integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Fabric integration for Grafana OnCall handles ticket events sent from Fabric webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Inbound Email</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/inbound-email/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/inbound-email/</guid><content><![CDATA[&lt;h1 id=&#34;inbound-email-integration-for-grafana-oncall&#34;&gt;Inbound Email integration for Grafana OnCall&lt;/h1&gt;
&lt;p&gt;Inbound Email integration will consume emails from dedicated email address and make alert groups from them.&lt;/p&gt;
&lt;h2 id=&#34;configure-required-environment-variables&#34;&gt;Configure required environment variables&lt;/h2&gt;
&lt;p&gt;Refer to &lt;a href=&#34;/docs/oncall/v1.6.x/set-up/open-source/#inbound-email-setup&#34;&gt;Inbound Email Setup&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2 id=&#34;configure-inbound-email-integration-for-grafana-oncall&#34;&gt;Configure Inbound Email integration for Grafana OnCall&lt;/h2&gt;
&lt;p&gt;You must have an Admin role to create integrations in Grafana OnCall.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration to receive alerts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Inbound Email&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Get your dedicated email address in the &lt;strong&gt;Integration email&lt;/strong&gt; section and use it to send your emails.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;grouping-and-auto-resolve&#34;&gt;Grouping and auto-resolve&lt;/h2&gt;
&lt;p&gt;Alert groups will be grouped by email subject and auto-resolved if the email message text equals &amp;ldquo;OK&amp;rdquo;.
This behaviour can be modified via &lt;a href=&#34;/docs/oncall/v1.6.x/configure/jinja2-templating/&#34;&gt;custom templates&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Alerts from Inbound Email integration have the following payload:&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;subject&amp;#34;: &amp;#34;&amp;lt;your_email_subject&amp;gt;&amp;#34;,
   &amp;#34;message&amp;#34;: &amp;#34;&amp;lt;your_email_message&amp;gt;&amp;#34;,
   &amp;#34;sender&amp;#34;: &amp;#34;&amp;lt;your_email_sender_address&amp;gt;&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="inbound-email-integration-for-grafana-oncall">Inbound Email integration for Grafana OnCall&lt;/h1>
&lt;p>Inbound Email integration will consume emails from dedicated email address and make alert groups from them.&lt;/p>
&lt;h2 id="configure-required-environment-variables">Configure required environment variables&lt;/h2>
&lt;p>Refer to &lt;a href="/docs/oncall/v1.6.x/set-up/open-source/#inbound-email-setup">Inbound Email Setup&lt;/a> for details.&lt;/p></description></item><item><title>Jira</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/jira/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/jira/</guid><content><![CDATA[&lt;h1 id=&#34;jira-integration-for-grafana-oncall&#34;&gt;Jira integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Jira integration for Grafana OnCall handles issue events sent from Jira webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-jira&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Jira&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Jira&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section. You will need it when configuring Jira.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-jira-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Jira to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;Create a new webhook connection in Jira to send events to Grafana OnCall using the integration URL above.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://developer.atlassian.com/server/jira/platform/webhooks/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jira documentation&lt;/a&gt; for more information on how to create and manage webhooks&lt;/p&gt;
&lt;p&gt;When creating a webhook in Jira, select the following events to be sent to Grafana OnCall:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Issue - created&lt;/li&gt;
&lt;li&gt;Issue - updated&lt;/li&gt;
&lt;li&gt;Issue - deleted&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;After setting up the connection, you can test it by creating a new issue in Jira. You should see a new alert group in Grafana OnCall.&lt;/p&gt;
&lt;h2 id=&#34;grouping-auto-acknowledge-and-auto-resolve&#34;&gt;Grouping, auto-acknowledge and auto-resolve&lt;/h2&gt;
&lt;p&gt;Grafana OnCall provides grouping, auto-acknowledge and auto-resolve logic for the Jira integration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alerts created from issue events are grouped by issue key&lt;/li&gt;
&lt;li&gt;Alert groups are auto-acknowledged when the issue status is set to &amp;ldquo;work in progress&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Alert groups are auto-resolved when the issue is closed or deleted&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To customize this behaviour, consider modifying alert templates in integration settings.&lt;/p&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-send-data-to-jira&#34;&gt;Configuring Grafana OnCall to send data to Jira&lt;/h2&gt;
&lt;p&gt;Grafana OnCall can automatically create and resolve issues in Jira via &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/&#34;&gt;outgoing webhooks&lt;/a&gt;.
This guide provides example webhook configurations for common use cases, as well as information on how to set up a user in Jira to be used by Grafana OnCall.&lt;/p&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a new user in Jira to be used by Grafana OnCall. &lt;a href=&#34;https://id.atlassian.com/manage-profile/security/api-tokens&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Obtain an API token for the user&lt;/a&gt;,
these credentials will be used to communicate with Jira REST API.&lt;/li&gt;
&lt;li&gt;Make sure the user has appropriate permissions to create and update issues in Jira.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;create-issues-in-jira&#34;&gt;Create issues in Jira&lt;/h3&gt;
&lt;p&gt;The steps below describe how to create an outgoing webhook in Grafana OnCall that will allow to automatically create
issues in Jira from Grafana OnCall alert groups.&lt;/p&gt;
&lt;p&gt;Create a new Outgoing Webhook in Grafana OnCall, and configure it as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trigger type: &lt;code&gt;Alert Group Created&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrations: Select integrations that will trigger the webhook&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTTP method: &lt;code&gt;POST&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Webhook URL:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;text&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-text&#34;&gt;https://&amp;lt;INSTANCE&amp;gt;.atlassian.net/rest/api/2/issue&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;INSTANCE&amp;gt;&lt;/code&gt; with your Jira instance.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: Email of the &lt;a href=&#34;#prerequisites&#34;&gt;Jira user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: API token of the &lt;a href=&#34;#prerequisites&#34;&gt;Jira user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the following JSON template as webhook data:&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;fields&amp;#34;: {
    &amp;#34;project&amp;#34;: {
      &amp;#34;key&amp;#34;: &amp;#34;&amp;lt;PROJECT_KEY&amp;gt;&amp;#34;
    },
    &amp;#34;issuetype&amp;#34;: {
      &amp;#34;name&amp;#34;: &amp;#34;[System] Incident&amp;#34;
    },
    &amp;#34;summary&amp;#34;: &amp;#34;{{alert_group.title}}&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;This issue is created automatically by Grafana OnCall. Alert group {{alert_group.id}}: {{alert_group.permalinks.web}}&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;PROJECT_KEY&amp;gt;&lt;/code&gt; with the key of the project in Jira.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: You might want to use a different &lt;code&gt;issuetype.name&lt;/code&gt; depending on your Jira instance configuration and use case.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h3 id=&#34;resolve-issues-in-jira&#34;&gt;Resolve issues in Jira&lt;/h3&gt;
&lt;p&gt;The steps below describe how to create an outgoing webhook in Grafana OnCall that will allow to automatically resolve
issues in Jira when an alert group is resolved in Grafana OnCall.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trigger type: &lt;code&gt;Resolved&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrations: Select integrations that will trigger the webhook&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTTP method: &lt;code&gt;POST&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Webhook URL:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;text&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-text&#34;&gt;https://&amp;lt;INSTANCE&amp;gt;.atlassian.net/rest/api/2/issue/{{responses.&amp;lt;WEBHOOK_ID&amp;gt;.key}}/transitions&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;INSTANCE&amp;gt;&lt;/code&gt; with your Jira instance, and &lt;code&gt;&amp;lt;WEBHOOK_ID&amp;gt;&lt;/code&gt; with the ID of the &lt;a href=&#34;#create-issues-in-jira&#34;&gt;webhook used for creating issues&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: Email of the &lt;a href=&#34;#prerequisites&#34;&gt;Jira user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: API token of the &lt;a href=&#34;#prerequisites&#34;&gt;Jira user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the following JSON template as webhook data:&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;transition&amp;#34;: {
    &amp;#34;id&amp;#34;: &amp;#34;&amp;lt;TRANSITION_ID&amp;gt;&amp;#34;
  },
  &amp;#34;fields&amp;#34;: {
    &amp;#34;resolution&amp;#34;: {
      &amp;#34;name&amp;#34;: &amp;#34;Done&amp;#34;
    }
  },
  &amp;#34;update&amp;#34;: {
    &amp;#34;comment&amp;#34;: [
      {
        &amp;#34;add&amp;#34;: {
          &amp;#34;body&amp;#34;: &amp;#34;Resolved by Grafana OnCall.&amp;#34;,
          &amp;#34;public&amp;#34;: false
        }
      }
    ]
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;TRANSITION_ID&amp;gt;&lt;/code&gt; with the ID of the transition specific to your Jira instance.
See &lt;a href=&#34;https://community.atlassian.com/t5/Jira-questions/How-to-fine-transition-ID-of-JIRA/qaq-p/1207483#M385834&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;here&lt;/a&gt;
for more info on how to find the transition ID in Jira UI, or use the
&lt;a href=&#34;https://developer.atlassian.com/cloud/jira/platform/rest/v3/api-group-issues/#api-rest-api-3-issue-issueidorkey-transitions-get&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;REST API endpoint&lt;/a&gt;
to get the list of available transitions.&lt;/p&gt;
&lt;h3 id=&#34;advanced-usage&#34;&gt;Advanced usage&lt;/h3&gt;
&lt;p&gt;The examples above describe how to create outgoing webhooks in Grafana OnCall that will allow to automatically create and resolve issues in Jira.&lt;/p&gt;
&lt;p&gt;Consider modifying example templates to fit your use case (e.g. to include more information on alert groups).
Refer to &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/&#34;&gt;outgoing webhooks documentation&lt;/a&gt; for more information on available template variables and webhook configuration.&lt;/p&gt;
&lt;p&gt;For more information on Jira REST API, refer to &lt;a href=&#34;https://developer.atlassian.com/cloud/jira/platform/rest/v2/api-group-issues&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Jira REST API documentation&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="jira-integration-for-grafana-oncall">Jira integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Jira integration for Grafana OnCall handles issue events sent from Jira webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Kapacitor</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/kapacitor/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/kapacitor/</guid><content><![CDATA[&lt;h1 id=&#34;kapacitor-integration-for-grafana-oncall&#34;&gt;Kapacitor integration for Grafana OnCall&lt;/h1&gt;
&lt;p&gt;The Kapacitor integration for Grafana OnCall handles ticket events sent from Kapacitor webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-kapacitor&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Kapacitor&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Kapacitor&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-kapacitor-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Kapacitor to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;To send an alert from Kapacitor, you can follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a Kapacitor TICKscript or modify an existing one to define the conditions for triggering the alert.
The TICKscript specifies the data source, data processing, and the alert rule. Here&amp;rsquo;s an example of a simple TICKscript:&lt;/li&gt;
&lt;/ol&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;tickscript&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-tickscript&#34;&gt;stream
    |from()
        .measurement(&amp;#39;measurement_name&amp;#39;)
        .where(lambda: &amp;lt;condition&amp;gt;)
    |alert()
        .webhook(&amp;#39;&amp;lt;webhook_url&amp;gt;&amp;#39;)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&#39;measurement_name&#39;&lt;/code&gt; with the name of the measurement you want to monitor, &lt;code&gt;&amp;lt;condition&amp;gt;&lt;/code&gt;
with the condition that triggers the alert, and &lt;code&gt;&#39;&amp;lt;webhook_url&amp;gt;&#39;&lt;/code&gt; with &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;
2. Save the TICKscript file with a &lt;code&gt;.tick&lt;/code&gt; extension, for example, &lt;code&gt;alert_script.tick&lt;/code&gt;.
3. Start the Kapacitor service using the TICKscript:&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;Bash&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-bash&#34;&gt;kapacitor define &amp;lt;alert_name&amp;gt; -tick /path/to/alert_script.tick
kapacitor enable &amp;lt;alert_name&amp;gt;
kapacitor reload&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;alert_name&amp;gt;&lt;/code&gt; with a suitable name for your alert.
4. Ensure that the Kapacitor service is running and actively monitoring the data.
When the condition defined in the TICKscript is met, Kapacitor will trigger the alert and send
a POST request to the specified webhook URL with the necessary information. Make sure your webhook
endpoint is configured to receive and process the incoming alerts from Kapacitor.&lt;/p&gt;
]]></content><description>&lt;h1 id="kapacitor-integration-for-grafana-oncall">Kapacitor integration for Grafana OnCall&lt;/h1>
&lt;p>The Kapacitor integration for Grafana OnCall handles ticket events sent from Kapacitor webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>New Relic</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/newrelic/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/newrelic/</guid><content><![CDATA[&lt;h1 id=&#34;new-relic-integration-for-grafana-oncall&#34;&gt;New Relic integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The New Relic integration for Grafana OnCall handles ticket events sent from New Relic webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-new-relic&#34;&gt;Configuring Grafana OnCall to Receive Alerts from New Relic&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;New Relic&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-new-relic-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring New Relic to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to &amp;ldquo;Alerts&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Go to &amp;ldquo;Notification Channels&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Create &amp;ldquo;Webhook&amp;rdquo; notification channel.&lt;/li&gt;
&lt;li&gt;Set the following URL: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Check &amp;ldquo;Payload type&amp;rdquo; is JSON.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="new-relic-integration-for-grafana-oncall">New Relic integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The New Relic integration for Grafana OnCall handles ticket events sent from New Relic webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Pingdom</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/pingdom/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/pingdom/</guid><content><![CDATA[&lt;h1 id=&#34;pingdom-integration-for-grafana-oncall&#34;&gt;Pingdom integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Pingdom integration for Grafana OnCall handles ticket events sent from Pingdom webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-pingdom&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Pingdom&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Pingdom&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-pingdom-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Pingdom to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;a href=&#34;https://my.pingdom.com/integrations/settings&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://my.pingdom.com/integrations/settings&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Add Integration&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Type: Webhook. Name: &lt;code&gt;Grafana OnCall&lt;/code&gt;. URL: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Go to &amp;ldquo;Reports&amp;rdquo; -&amp;gt; &amp;ldquo;Uptime&amp;rdquo; -&amp;gt; &amp;ldquo;Edit Check&amp;rdquo;.&lt;/li&gt;
&lt;li&gt;Select &lt;code&gt;Grafana OnCall&lt;/code&gt; integration in the bottom.&lt;/li&gt;
&lt;li&gt;Click &amp;ldquo;Modify Check&amp;rdquo; to save.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="pingdom-integration-for-grafana-oncall">Pingdom integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Pingdom integration for Grafana OnCall handles ticket events sent from Pingdom webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>PRTG</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/prtg/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/prtg/</guid><content><![CDATA[&lt;h1 id=&#34;prtg-integration-for-grafana-oncall&#34;&gt;PRTG integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The PRTG integration for Grafana OnCall handles ticket events sent from PRTG webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-prtg&#34;&gt;Configuring Grafana OnCall to Receive Alerts from PRTG&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;PRTG&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-prtg-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring PRTG to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;PRTG can use the script to send the alerts to Grafana OnCall. Please use the format below&lt;/p&gt;
&lt;p&gt;Body Fields Format:&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;plaintext&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-plaintext&#34;&gt;alert_uid [char][not required] - unique alert ID for grouping;
title [char][not required] - title;
image_url [char][not required] - url for image attached to alert;
state [char][not required] - could be &amp;#34;ok&amp;#34; or &amp;#34;alerting&amp;#34;, helpful for auto-resolving;
link_to_upstream_details [char][not required] - link back to your monitoring system;
message [char][not required] - alert details;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;ps1 script 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;ps1&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-ps1&#34;&gt;# This script sends alerts from PRTG to Grafana OnCall
Param(
  [string]$sensorid,
  [string]$date,
  [string]$device,
  [string]$shortname,
  [string]$status,
  [string]$message,
  [string]$datetime,
  [string]$linksensor,
  [string]$url
)

# PRTG Server
$PRTGServer = &amp;#34;localhost:8080&amp;#34;
$PRTGUsername = &amp;#34;oncall&amp;#34;
$PRTGPasshash  = *****

#Directory for logging
$LogDirectory = &amp;#34;C:\temp\prtg-notifications-msteam.log&amp;#34;

#Acknowledgement Message for alerts ack&amp;#39;d via Teams
$ackmessage = &amp;#34;Problem has been acknowledged via OnCall.&amp;#34;

# the acknowledgement URL
$ackURL = [string]::Format(&amp;#34;{0}/api/acknowledgealarm.htm?id={1}&amp;amp;ackmsg={2}&amp;amp;username={3}&amp;amp;passhash={4}&amp;#34;,
$PRTGServer,$sensorID,$ackmessage,$PRTGUsername,$PRTGPasshash);

# Autoresolve an alert in OnCall
if($status -eq &amp;#34;Up&amp;#34;)
{ $state = &amp;#34;ok&amp;#34; }
ElseIf($status -match &amp;#34;now: Up&amp;#34;)
{ $state = &amp;#34;ok&amp;#34; }
ElseIf($status -match &amp;#34;Up (was:&amp;#34;)
{ $state = &amp;#34;ok&amp;#34; }
Else
{ $state = &amp;#34;alerting&amp;#34; }

$image_datetime = [datetime]::parse($datetime)
$sdate = $image_datetime.AddHours(-1).ToString(&amp;#34;yyyy-MM-dd-HH-mm-ss&amp;#34;)
$edate = $image_datetime.ToString(&amp;#34;yyyy-MM-dd-HH-mm-ss&amp;#34;)

$image_url = &amp;#34;$PRTGServer/chart.png?type=graph&amp;amp;graphid=-1&amp;amp;avg=0&amp;amp;width=1000&amp;amp;height=400
&amp;amp;username=$PRTGUsername&amp;amp;passhash=$PRTGPasshash&amp;amp;id=$sensorid&amp;amp;sdate=$sdate&amp;amp;edate=$edate&amp;#34;

$Body = @{
            &amp;#34;alert_uid&amp;#34;=&amp;#34;$sensorid $date&amp;#34;;
            &amp;#34;title&amp;#34;=&amp;#34;$device $shortname $status at $datetime &amp;#34;;
            &amp;#34;image_url&amp;#34;=$image_url;
            &amp;#34;state&amp;#34;=$state;
            &amp;#34;link_to_upstream_details&amp;#34;=&amp;#34;$linksensor&amp;#34;;
            &amp;#34;message&amp;#34;=&amp;#34;$message&amp;#34;;
            &amp;#34;ack_url_get&amp;#34;=&amp;#34;$ackURL&amp;#34;
} | ConvertTo-Json
$Body

try
{ Invoke-RestMethod -uri $url -Method Post -body $Body -ContentType &amp;#39;application/json; charset=utf-8&amp;#39;; exit 0; }
Catch
{
    $ErrorMessage = $_.Exception.Message
    (Get-Date).ToString() &amp;#43;&amp;#34; - &amp;#34;&amp;#43; $ErrorMessage | Out-File -FilePath $LogDirectory -Append
    exit 2;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
]]></content><description>&lt;h1 id="prtg-integration-for-grafana-oncall">PRTG integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The PRTG integration for Grafana OnCall handles ticket events sent from PRTG webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Sentry</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/sentry/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/sentry/</guid><content><![CDATA[&lt;h1 id=&#34;sentry-integration-for-grafana-oncall&#34;&gt;Sentry integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Sentry integration for Grafana OnCall handles ticket events sent from Sentry webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-sentry&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Sentry&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Sentry&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-sentry-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Sentry to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;To send a webhook alert from Sentry, you can follow these steps:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Log in to your Sentry account.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to your project&amp;rsquo;s settings.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &amp;ldquo;Alerts&amp;rdquo; in the sidebar menu.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click on &amp;ldquo;New Alert Rule&amp;rdquo; to create a new alert rule.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the conditions for the alert rule based on your requirements. For example, you can set conditions based on issue
level, event frequency, or specific tags.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &amp;ldquo;Actions&amp;rdquo; section, select &amp;ldquo;Webhook&amp;rdquo; as the action type.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Provide the necessary details for the webhook:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;URL&lt;/strong&gt;: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Method&lt;/strong&gt;: POST&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Payload&lt;/strong&gt;: Define the payload structure and content that you want to send to the webhook endpoint. You can use Sentry&amp;rsquo;s
dynamic variables to include relevant information in the payload.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Save the alert rule.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once the alert conditions are met, Sentry will trigger the webhook action and send a request to the Grafana OnCall.&lt;/p&gt;
]]></content><description>&lt;h1 id="sentry-integration-for-grafana-oncall">Sentry integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Sentry integration for Grafana OnCall handles ticket events sent from Sentry webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>ServiceNow integration for Grafana OnCall</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/servicenow/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/servicenow/</guid><content><![CDATA[&lt;h1 id=&#34;servicenow-integration-for-grafana-oncall&#34;&gt;ServiceNow integration for Grafana OnCall&lt;/h1&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;This integration is available exclusively on Grafana Cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;Integrate ServiceNow with Grafana OnCall for bidirectional functionality that automatically creates and updates incidents in ServiceNow based on Grafana OnCall alert
groups, and vice versa. Whether your alerts originate from ServiceNow or another integration like
Alertmanager or Grafana Alerting, you can manage updates and status changes directly from ServiceNow.&lt;/p&gt;
&lt;p&gt;Use this integration to automate the following processes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create an incident in ServiceNow when an alert group is created in OnCall.&lt;/li&gt;
&lt;li&gt;Update the incident state in ServiceNow when the alert group status changes in OnCall.&lt;/li&gt;
&lt;li&gt;Create an alert group in OnCall when an incident is created in ServiceNow.&lt;/li&gt;
&lt;li&gt;Update the alert group status in OnCall when the incident state changes in ServiceNow.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;Before configuring the integration, ensure you or your ServiceNow Admin have created a Service account specifically for Grafana OnCall integration.&lt;/p&gt;
&lt;p&gt;Follow these steps to create a ServiceNow user for Grafana OnCall:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In ServiceNow,navigate to &lt;strong&gt;User Administration&lt;/strong&gt; &amp;gt; &lt;strong&gt;Users&lt;/strong&gt; and click &lt;strong&gt;New&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Fill in the following details:
&lt;ul&gt;
&lt;li&gt;Username: &lt;code&gt;grafana-oncall&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;First name: &lt;code&gt;Grafana OnCall&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Active: ✔&lt;/li&gt;
&lt;li&gt;Web service access only: ✔&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;After creating the user, generate a password using the &lt;strong&gt;Set Password&lt;/strong&gt; button. Securely store the password for later use.&lt;/li&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Roles&lt;/strong&gt; tab and grant the following roles to the user:
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;itil&lt;/code&gt; (for incident creation and updates)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;personalize_choices&lt;/code&gt; (to fetch the list of available incident states)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-servicenow-integration&#34;&gt;Configure ServiceNow integration&lt;/h2&gt;
&lt;h3 id=&#34;create-integration&#34;&gt;Create integration&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;On the &lt;strong&gt;Integrations&lt;/strong&gt; tab in Grafana OnCall, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;ServiceNow&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration.&lt;/li&gt;
&lt;li&gt;Enter ServiceNow credentials (instance URL, username, and password of the &lt;a href=&#34;#before-you-begin&#34;&gt;Grafana OnCall user&lt;/a&gt;) and verify the connection.&lt;/li&gt;
&lt;li&gt;Ensure &lt;strong&gt;Create default outgoing webhooks&lt;/strong&gt; is enabled to create necessary webhooks in Grafana OnCall for sending alerts to ServiceNow.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Create integration&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;map-incident-states&#34;&gt;Map incident states&lt;/h3&gt;
&lt;p&gt;Map ServiceNow incident states to OnCall alert group statuses.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Firing -&amp;gt; New&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Acknowledged -&amp;gt; In Progress&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Resolved -&amp;gt; Resolved&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Silenced -&amp;gt; Not Selected&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;generate-business-rule-script&#34;&gt;Generate Business Rule script&lt;/h3&gt;
&lt;p&gt;Generate a ServiceNow Business Rule script to enable your ServiceNow instance to send updates to Grafana OnCall.&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;You can&amp;rsquo;t view the script again after closing the dialog, but you can regenerate it at any time in integration settings.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;Generate a new ServiceNow Business Rule script and copy it to your clipboard.&lt;/li&gt;
&lt;li&gt;In ServiceNow, navigate to &lt;strong&gt;System Definition&lt;/strong&gt; &amp;gt; &lt;strong&gt;Business Rules&lt;/strong&gt; and click &lt;strong&gt;New&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Fill in the following details:
&lt;ul&gt;
&lt;li&gt;Name: &lt;code&gt;grafana-oncall&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Table: &lt;code&gt;incident&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Active: ✔&lt;/li&gt;
&lt;li&gt;Advanced: ✔&lt;/li&gt;
&lt;li&gt;When to run &amp;gt; When: &lt;code&gt;before&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;When to run &amp;gt; Insert: ✔&lt;/li&gt;
&lt;li&gt;When to run &amp;gt; Update: ✔&lt;/li&gt;
&lt;li&gt;Advanced &amp;gt; Script: Paste the generated script&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Submit&lt;/strong&gt; to save the Business Rule.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In Grafana OnCall, click &lt;strong&gt;Proceed&lt;/strong&gt; to complete the integration setup.&lt;/p&gt;
&lt;h2 id=&#34;test-the-integration&#34;&gt;Test the integration&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Create a new incident in ServiceNow.&lt;/li&gt;
&lt;li&gt;Verify that a new alert group is created in Grafana OnCall.&lt;/li&gt;
&lt;li&gt;Acknowledge the alert group in Grafana OnCall, and verify that the incident state is updated in ServiceNow.&lt;/li&gt;
&lt;li&gt;Resolve the incident in ServiceNow, and verify that the alert group status is updated in Grafana OnCall.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;connect-other-integrations&#34;&gt;Connect other integrations&lt;/h2&gt;
&lt;p&gt;You can connect other integrations such as Alertmanager, Grafana Alerting, and others to your ServiceNow integration for a consolidated workflow.
When connected, Grafana OnCall sends alerts from the connected integrations to ServiceNow and update alert groups on the connected integrations based on incident
state changes in ServiceNow.
Connected integrations utilize the same ServiceNow credentials and outgoing webhooks as the ServiceNow integration they are connected to.&lt;/p&gt;
&lt;p&gt;To connect other integrations:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Outgoing&lt;/strong&gt; tab of an existing ServiceNow integration.&lt;/li&gt;
&lt;li&gt;Use the &lt;strong&gt;Send data from other integrations&lt;/strong&gt; section to connect other integrations.&lt;/li&gt;
&lt;li&gt;Enable the &lt;strong&gt;backsync&lt;/strong&gt; option if you want alert groups from connected integrations to be updated from ServiceNow.
If disabled, Grafana OnCall will only send alerts to ServiceNow, but not receive updates back.&lt;/li&gt;
&lt;li&gt;Test the connection by creating a demo alert for the connected integration.
&lt;ul&gt;
&lt;li&gt;Verify that an incident is created in ServiceNow.&lt;/li&gt;
&lt;li&gt;Verify that incident state changes in ServiceNow are reflected in Grafana OnCall, and vice-versa.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;advanced-usage&#34;&gt;Advanced usage&lt;/h2&gt;
&lt;p&gt;Customize the integration behavior according to your needs by editing the outgoing webhooks on the &lt;strong&gt;Outgoing&lt;/strong&gt; tab of the integration.&lt;/p&gt;
&lt;h3 id=&#34;custom-incident-fields&#34;&gt;Custom incident fields&lt;/h3&gt;
&lt;p&gt;You can set custom fields on ServiceNow incidents. To do so, edit the &lt;strong&gt;Alert group created&lt;/strong&gt; webhook on
the &lt;strong&gt;Outgoing&lt;/strong&gt; tab of the integration.&lt;/p&gt;
&lt;p&gt;Example: Set the &amp;ldquo;urgency&amp;rdquo; field based on alert group labels, add the provided JSON to &lt;strong&gt;Data template&lt;/strong&gt;:&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;urgency&amp;#34;: &amp;#34;{{ alert_group.labels.urgency }}&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;For more information, refer to &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/#outgoing-webhook-templates&#34;&gt;Outgoing webhook templates&lt;/a&gt; and &lt;a href=&#34;/docs/oncall/v1.6.x/integrations/#alert-group-labels&#34;&gt;Alert group labels&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="servicenow-integration-for-grafana-oncall">ServiceNow integration for Grafana OnCall&lt;/h1>
&lt;div class="admonition admonition-note">&lt;blockquote>&lt;p class="title text-uppercase">Note&lt;/p>&lt;p>This integration is available exclusively on Grafana Cloud.&lt;/p>&lt;/blockquote>&lt;/div>
&lt;p>Integrate ServiceNow with Grafana OnCall for bidirectional functionality that automatically creates and updates incidents in ServiceNow based on Grafana OnCall alert
groups, and vice versa. Whether your alerts originate from ServiceNow or another integration like
Alertmanager or Grafana Alerting, you can manage updates and status changes directly from ServiceNow.&lt;/p></description></item><item><title>Stackdriver</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/stackdriver/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/stackdriver/</guid><content><![CDATA[&lt;h1 id=&#34;stackdriver-integration-for-grafana-oncall&#34;&gt;Stackdriver integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Stackdriver integration for Grafana OnCall handles ticket events sent from Stackdriver webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-stackdriver&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Stackdriver&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Stackdriver&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-stackdriver-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Stackdriver to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Create a notification channel in Stackdriver by navigating to Workspace Settings -&amp;gt; WEBHOOKS -&amp;gt; Add Webhook &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create and alert in Stackdriver by navigating to Alerting -&amp;gt; Policies -&amp;gt; Add Policy -&amp;gt; Choose Notification Channel using the channel set up in step 1&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="stackdriver-integration-for-grafana-oncall">Stackdriver integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Stackdriver integration for Grafana OnCall handles ticket events sent from Stackdriver webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>UptimeRobot</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/uptimerobot/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/uptimerobot/</guid><content><![CDATA[&lt;h1 id=&#34;uptimerobot-integration-for-grafana-oncall&#34;&gt;UptimeRobot integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The UptimeRobot integration for Grafana OnCall handles ticket events sent from UptimeRobot webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-uptimerobot&#34;&gt;Configuring Grafana OnCall to Receive Alerts from UptimeRobot&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;UptimeRobot&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-uptimerobot-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring UptimeRobot to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;a href=&#34;https://uptimerobot.com&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;https://uptimerobot.com&lt;/a&gt; and log in&lt;/li&gt;
&lt;li&gt;Go to My Settings &amp;gt; Add Alert Contact and set the following fields:&lt;/li&gt;
&lt;li&gt;Alert Contact Type: Webhook&lt;/li&gt;
&lt;li&gt;Friendly Name: Grafana OnCall&lt;/li&gt;
&lt;li&gt;URL to Notify: &lt;strong&gt;OnCall Integration URL&lt;/strong&gt;
POST Value (JSON Format):&lt;/li&gt;
&lt;/ol&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;monitorURL&amp;#34;: &amp;#34;monitorURL&amp;#34;,
  &amp;#34;monitorFriendlyName&amp;#34;: &amp;#34;monitorFriendlyName&amp;#34;,
  &amp;#34;alertType&amp;#34;: &amp;#34;alertType&amp;#34;,
  &amp;#34;alertTypeFriendlyName&amp;#34;: &amp;#34;alertTypeFriendlyName&amp;#34;,
  &amp;#34;alertDetails&amp;#34;: &amp;#34;alertDetails&amp;#34;,
  &amp;#34;alertDuration&amp;#34;: &amp;#34;alertDuration&amp;#34;,
  &amp;#34;sslExpiryDate&amp;#34;: &amp;#34;sslExpiryDate&amp;#34;,
  &amp;#34;sslExpiryDaysLeft&amp;#34;: &amp;#34;sslExpiryDaysLeft&amp;#34;
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Flag Send as JSON&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click Save Changes and Close&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Send Test Alert to Grafana OnCall&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click Add New Monitor&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Monitor Type HTTP(s)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Friendly Name Test OnCall&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Set URL to &lt;a href=&#34;http://devnull.oncall.io&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;http://devnull.oncall.io&lt;/a&gt; or any other non-existent domain&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click Checkbox next to OnCall Alert Contact (created in the previous step)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click Create Monitor&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="uptimerobot-integration-for-grafana-oncall">UptimeRobot integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The UptimeRobot integration for Grafana OnCall handles ticket events sent from UptimeRobot webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Zabbix</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/zabbix/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/zabbix/</guid><content><![CDATA[&lt;h1 id=&#34;zabbix-integration-for-grafana-oncall&#34;&gt;Zabbix integration for Grafana OnCall&lt;/h1&gt;
&lt;p&gt;Zabbix is an open-source monitoring software tool for diverse IT components, including networks, servers, virtual
machines, and cloud services. Zabbix provides monitoring for metrics such as network utilization, CPU load, and disk
space consumption.&lt;/p&gt;
&lt;h2 id=&#34;configure-zabbix-integration-for-grafana-oncall&#34;&gt;Configure Zabbix integration for Grafana OnCall&lt;/h2&gt;
&lt;p&gt;This integration is available for Grafana Cloud OnCall. You must have an Admin role to create integrations in Grafana OnCall.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration to receive alerts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Zabbix&lt;/strong&gt; from the list of available integrations&lt;/li&gt;
&lt;li&gt;Follow the instructions in the &lt;strong&gt;How to connect&lt;/strong&gt; window to get your unique integration URL and review next steps.&lt;/li&gt;
&lt;/ol&gt;
&lt;!--![123](../_images/connect-new-monitoring.png)--&gt;
&lt;h2 id=&#34;configure-the-zabbix-server&#34;&gt;Configure the Zabbix server&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Deploy a Zabbix playground if you don&amp;rsquo;t have one set up:&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;Bash&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-bash&#34;&gt; docker run --name zabbix-appliance -t \
      -p 10051:10051 \
      -p 80:80 \
      -d zabbix/zabbix-appliance:latest&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Establish an ssh connection to a Zabbix server.&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;Bash&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-bash&#34;&gt;docker exec -it zabbix-appliance bash&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Place the &lt;a href=&#34;#grafana_oncallsh-script&#34;&gt;grafana_oncall.sh&lt;/a&gt; script in the &lt;code&gt;AlertScriptsPath&lt;/code&gt; directory specified within
the Zabbix server configuration file (zabbix_server.conf).&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;Bash&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-bash&#34;&gt;grep AlertScriptsPath /etc/zabbix/zabbix_server.conf&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The script must be executable by the user running the zabbix_server binary (usually &amp;ldquo;zabbix&amp;rdquo;) on the
Zabbix server. For example, &lt;code&gt;chmod &#43;x grafana_oncall.sh&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&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;Bash&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-bash&#34;&gt;ls -lh /usr/lib/zabbix/alertscripts/grafana_oncall.sh
-rw-r--r--    1 root     root        1.5K Jun  6 07:52 /usr/lib/zabbix/alertscripts/grafana_oncall.sh&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configure-zabbix-alerts&#34;&gt;Configure Zabbix alerts&lt;/h2&gt;
&lt;p&gt;Within Zabbix web interface, do the following:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In a browser, open localhost:80.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigate to &lt;strong&gt;Adminitstration &amp;gt; Media Types &amp;gt; Create Media Type&lt;/strong&gt;.&lt;/p&gt;
&lt;!--![](../_images/zabbix-1.png)--&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Create a Media Type with the following fields.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Name: Grafana OnCall&lt;/li&gt;
&lt;li&gt;Type: script&lt;/li&gt;
&lt;li&gt;Script parameters:
&lt;ul&gt;
&lt;li&gt;{ALERT.SENDTO}&lt;/li&gt;
&lt;li&gt;{ALERT.SUBJECT}&lt;/li&gt;
&lt;li&gt;{ALERT.MESSAGE}&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;!--![](../_images/zabbix-2.png)--&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;set-the-alertsend_to-value&#34;&gt;Set the {ALERT.SEND_TO} value&lt;/h3&gt;
&lt;p&gt;To send alerts to Grafana OnCall, the {ALERT.SEND_TO} value must be set in the &lt;a href=&#34;https://www.zabbix.com/documentation/3.4/manual/config/notifications/media/script#user_media&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;user media configuration&lt;/a&gt;.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;In the web UI, navigate to &lt;strong&gt;Administration &amp;gt; Users&lt;/strong&gt; and open the &lt;strong&gt;user properties&lt;/strong&gt; form.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In the &lt;strong&gt;Media&lt;/strong&gt; tab, click &lt;strong&gt;Add&lt;/strong&gt; and copy the link from Grafana OnCall in the &lt;code&gt;Send to&lt;/code&gt; field.&lt;/p&gt;
&lt;!--![](../_images/zabbix-7.png)--&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Click &lt;strong&gt;Test&lt;/strong&gt; in the last column to send a test alert to Grafana OnCall.&lt;/p&gt;
&lt;!--![](../_images/zabbix-3.png)--&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Specify &lt;strong&gt;Send to&lt;/strong&gt; OnCall using the unique integration URL from the above step in the testing window that opens.&lt;br /&gt;
Create a test message with a body and optional subject and click &lt;strong&gt;Test&lt;/strong&gt;.&lt;/p&gt;
&lt;!--![](../_images/zabbix-4.png)

     WHERE DID SLACK COME FROM?! 1. View the Grafana OnCall incident that appears in the Slack channel.
    ![](../_images/zabbix-5.png)--&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;grouping-and-auto-resolve-of-zabbix-notifications&#34;&gt;Grouping and auto-resolve of Zabbix notifications&lt;/h2&gt;
&lt;p&gt;Grafana OnCall provides grouping and auto-resolve of Zabbix notifications.
Use the following procedure to configure grouping and auto-resolve.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Provide a parameter as an identifier for group differentiation to Grafana OnCall.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Append that variable to the subject of the action as &lt;code&gt;ONCALL_GROUP: ID&lt;/code&gt;, where &lt;code&gt;ID&lt;/code&gt; is any of the Zabbix &lt;a href=&#34;https://www.zabbix.com/documentation/4.2/manual/appendix/macros/supported_by_location&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;macros&lt;/a&gt;.
For example, &lt;code&gt;{EVENT.ID}&lt;/code&gt;. The Grafana OnCall script &lt;a href=&#34;#grafana_oncallsh-script&#34;&gt;grafana_oncall.sh&lt;/a&gt; extracts this event
and passes the &lt;code&gt;alert_uid&lt;/code&gt; to Grafana OnCall.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;To enable auto-resolve within Grafana Oncall, the &amp;ldquo;Resolved&amp;rdquo; keyword is required in the &lt;strong&gt;Default subject&lt;/strong&gt; field
in &lt;strong&gt;Recovered operations&lt;/strong&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;!--![](../_images/zabbix-6.png)--&gt;
&lt;h2 id=&#34;grafana_oncallsh-script&#34;&gt;grafana_oncall.sh script&lt;/h2&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;Bash&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-bash&#34;&gt;#!/bin/bash
# This is the modification of original ericos&amp;#39;s shell script.

# Get the url ($1), subject ($2), and message ($3)
url=&amp;#34;$1&amp;#34;
subject=&amp;#34;${2//$&amp;#39;\r\n&amp;#39;/&amp;#39;\n&amp;#39;}&amp;#34;
message=&amp;#34;${3//$&amp;#39;\r\n&amp;#39;/&amp;#39;\n&amp;#39;}&amp;#34;

# Alert state depending on the subject indicating whether it is a trigger going in to problem state or recovering
recoversub=&amp;#39;^RECOVER(Y|ED)?$|^OK$|^Resolved.*&amp;#39;

if [[ &amp;#34;$subject&amp;#34; =~ $recoversub ]]; then
    state=&amp;#39;ok&amp;#39;
else
    state=&amp;#39;alerting&amp;#39;
fi

payload=&amp;#39;{
    &amp;#34;title&amp;#34;: &amp;#34;&amp;#39;${subject}&amp;#39;&amp;#34;,
    &amp;#34;state&amp;#34;: &amp;#34;&amp;#39;${state}&amp;#39;&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;&amp;#39;${message}&amp;#39;&amp;#34;
}&amp;#39;

# Alert group identifier from the subject of action. Grouping will not work without ONCALL_GROUP in the action subject
regex=&amp;#39;ONCALL_GROUP: ([a-zA-Z0-9_\&amp;#34;]*)&amp;#39;
if [[ &amp;#34;$subject&amp;#34; =~ $regex ]]; then
    alert_uid=${BASH_REMATCH[1]}
    payload=&amp;#39;{
        &amp;#34;alert_uid&amp;#34;: &amp;#34;&amp;#39;${alert_uid}&amp;#39;&amp;#34;,
        &amp;#34;title&amp;#34;: &amp;#34;&amp;#39;${subject}&amp;#39;&amp;#34;,
        &amp;#34;state&amp;#34;: &amp;#34;&amp;#39;${state}&amp;#39;&amp;#34;,
        &amp;#34;message&amp;#34;: &amp;#34;&amp;#39;${message}&amp;#39;&amp;#34;
    }&amp;#39;
fi

return=$(curl $url -d &amp;#34;${payload}&amp;#34; -H &amp;#34;Content-Type: application/json&amp;#34; -X POST)&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h2 id=&#34;more-information&#34;&gt;More Information&lt;/h2&gt;
&lt;p&gt;For more information on Zabbix scripts, see &lt;a href=&#34;https://www.zabbix.com/documentation/4.2/manual/config/notifications/media/script&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;scripts for notifications&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="zabbix-integration-for-grafana-oncall">Zabbix integration for Grafana OnCall&lt;/h1>
&lt;p>Zabbix is an open-source monitoring software tool for diverse IT components, including networks, servers, virtual
machines, and cloud services. Zabbix provides monitoring for metrics such as network utilization, CPU load, and disk
space consumption.&lt;/p></description></item><item><title>Zendesk</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/zendesk/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/zendesk/</guid><content><![CDATA[&lt;h1 id=&#34;zendesk-integration-for-grafana-oncall&#34;&gt;Zendesk integration for Grafana OnCall&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;This integration is not available in OSS version&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;The Zendesk integration for Grafana OnCall handles ticket events sent from Zendesk webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;You must have the &lt;a href=&#34;/docs/oncall/v1.6.x/manage/user-and-team-management/&#34;&gt;role of Admin&lt;/a&gt; to be able to create integrations in Grafana OnCall.&lt;/p&gt;&lt;/blockquote&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-receive-alerts-from-zendesk&#34;&gt;Configuring Grafana OnCall to Receive Alerts from Zendesk&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Zendesk&lt;/strong&gt; from the list of available integrations.&lt;/li&gt;
&lt;li&gt;Enter a name and description for the integration, click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;A new page will open with the integration details. Copy the &lt;strong&gt;OnCall Integration URL&lt;/strong&gt; from &lt;strong&gt;HTTP Endpoint&lt;/strong&gt; section.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;configuring-zendesk-to-send-alerts-to-grafana-oncall&#34;&gt;Configuring Zendesk to Send Alerts to Grafana OnCall&lt;/h2&gt;
&lt;p&gt;Create a new &amp;ldquo;Trigger or automation&amp;rdquo; webhook connection in Zendesk to send events to Grafana OnCall using the integration URL above.&lt;/p&gt;
&lt;p&gt;Refer to &lt;a href=&#34;https://support.zendesk.com/hc/en-us/articles/4408839108378-Creating-webhooks-to-interact-with-third-party-systems&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Zendesk documentation&lt;/a&gt;
for more information on how to create and manage webhooks.&lt;/p&gt;
&lt;p&gt;After setting up a webhook in Zendesk, create a new trigger with the following condition:
&lt;code&gt;Meet ANY of the following conditions: &amp;quot;Ticket Is Created&amp;quot;, &amp;quot;Ticket status Changed&amp;quot;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Set &lt;code&gt;Notify webhook&lt;/code&gt; as the trigger action and select the webhook you created earlier.
In the JSON body field, use the following JSON template:&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;ticket&amp;#34;: {
    &amp;#34;id&amp;#34;: &amp;#34;{{ticket.id}}&amp;#34;,
    &amp;#34;url&amp;#34;: &amp;#34;{{ticket.url}}&amp;#34;,
    &amp;#34;status&amp;#34;: &amp;#34;{{ticket.status}}&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;{{ticket.title}}&amp;#34;,
    &amp;#34;description&amp;#34;: &amp;#34;{{ticket.description}}&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;After setting up the connection, you can test it by creating a new ticket in Zendesk. You should see a new alert group in Grafana OnCall.&lt;/p&gt;
&lt;h2 id=&#34;grouping-auto-acknowledge-and-auto-resolve&#34;&gt;Grouping, auto-acknowledge and auto-resolve&lt;/h2&gt;
&lt;p&gt;Grafana OnCall provides grouping, auto-acknowledge and auto-resolve logic for the Zendesk integration:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alerts created from ticket events are grouped by ticket ID&lt;/li&gt;
&lt;li&gt;Alert groups are auto-acknowledged when the ticket status is set to &amp;ldquo;Pending&amp;rdquo;&lt;/li&gt;
&lt;li&gt;Alert groups are auto-resolved when the ticket status is set to &amp;ldquo;Solved&amp;rdquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To customize this behaviour, consider modifying alert templates in integration settings.&lt;/p&gt;
&lt;h2 id=&#34;configuring-grafana-oncall-to-send-data-to-zendesk&#34;&gt;Configuring Grafana OnCall to send data to Zendesk&lt;/h2&gt;
&lt;p&gt;Grafana OnCall can automatically create and resolve tickets in Zendesk via &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/&#34;&gt;outgoing webhooks&lt;/a&gt;.
This guide provides example webhook configurations for common use cases, as well as information on how to set up a user in Zendesk to be used by Grafana OnCall.&lt;/p&gt;
&lt;h3 id=&#34;prerequisites&#34;&gt;Prerequisites&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Create a new user in Zendesk to be used by Grafana OnCall.
&lt;a href=&#34;https://support.zendesk.com/hc/en-us/articles/4408889192858-Generating-a-new-API-token&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Obtain an API token for the user&lt;/a&gt;,
these credentials will be used to communicate with Zendesk API.&lt;/li&gt;
&lt;li&gt;Make sure the user has appropriate permissions to create and update tickets in Zendesk.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;create-tickets-in-zendesk&#34;&gt;Create tickets in Zendesk&lt;/h3&gt;
&lt;p&gt;The steps below describe how to create an outgoing webhook in Grafana OnCall that will allow to automatically create
tickets in Zendesk from Grafana OnCall alert groups.&lt;/p&gt;
&lt;p&gt;Create a new Outgoing Webhook in Grafana OnCall, and configure it as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trigger type: &lt;code&gt;Alert Group Created&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrations: Select integrations that will trigger the webhook&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTTP method: &lt;code&gt;POST&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Webhook URL:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;text&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-text&#34;&gt;https://&amp;lt;INSTANCE&amp;gt;.zendesk.com/api/v2/tickets&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;INSTANCE&amp;gt;&lt;/code&gt; with your Zendesk instance.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: Username of the &lt;a href=&#34;#prerequisites&#34;&gt;Zendesk user&lt;/a&gt;, followed by &lt;code&gt;/token&lt;/code&gt; (e.g. &lt;code&gt;user@example.com/token&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: API token of the &lt;a href=&#34;#prerequisites&#34;&gt;Zendesk user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the following JSON template as webhook data:&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;ticket&amp;#34;: {
    &amp;#34;type&amp;#34;: &amp;#34;incident&amp;#34;,
    &amp;#34;subject&amp;#34;: &amp;#34;{{alert_group.title}}&amp;#34;,
    &amp;#34;comment&amp;#34;: {
      &amp;#34;body&amp;#34;: &amp;#34;This ticket is created automatically by Grafana OnCall. Alert group {{alert_group.id}}: {{alert_group.permalinks.web}}&amp;#34;
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;resolve-tickets-in-zendesk&#34;&gt;Resolve tickets in Zendesk&lt;/h3&gt;
&lt;p&gt;The steps below describe how to create an outgoing webhook in Grafana OnCall that will allow to automatically resolve
tickets in Zendesk when an alert group is resolved in Grafana OnCall.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Trigger type: &lt;code&gt;Resolved&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Integrations: Select integrations that will trigger the webhook&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;HTTP method: &lt;code&gt;PUT&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Webhook URL:&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&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;text&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-text&#34;&gt;https://&amp;lt;INSTANCE&amp;gt;.zendesk.com/api/v2/tickets/{{responses.&amp;lt;WEBHOOK_ID&amp;gt;.ticket.id}}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Replace &lt;code&gt;&amp;lt;INSTANCE&amp;gt;&lt;/code&gt; with your Zendesk instance, and &lt;code&gt;&amp;lt;WEBHOOK_ID&amp;gt;&lt;/code&gt; with the ID of the &lt;a href=&#34;#create-tickets-in-zendesk&#34;&gt;webhook used for creating tickets&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Username: Username of the &lt;a href=&#34;#prerequisites&#34;&gt;Zendesk user&lt;/a&gt;, followed by &lt;code&gt;/token&lt;/code&gt; (e.g. &lt;code&gt;user@example.com/token&lt;/code&gt;)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Password: API token of the &lt;a href=&#34;#prerequisites&#34;&gt;Zendesk user&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Use the following JSON template as webhook data:&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;ticket&amp;#34;: {
    &amp;#34;status&amp;#34;: &amp;#34;solved&amp;#34;,
    &amp;#34;comment&amp;#34;: {
      &amp;#34;body&amp;#34;: &amp;#34;Resolved by Grafana OnCall.&amp;#34;,
      &amp;#34;public&amp;#34;: false
    }
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;advanced-usage&#34;&gt;Advanced usage&lt;/h3&gt;
&lt;p&gt;The examples above describe how to create outgoing webhooks in Grafana OnCall that will allow to automatically create and resolve tickets in Zendesk.&lt;/p&gt;
&lt;p&gt;Consider modifying example templates to fit your use case (e.g. to include more information on alert groups).
Refer to &lt;a href=&#34;/docs/oncall/v1.6.x/configure/outgoing-webhooks/&#34;&gt;outgoing webhooks documentation&lt;/a&gt; for more information on available template variables and webhook configuration.&lt;/p&gt;
&lt;p&gt;For more information on Zendesk API, refer to &lt;a href=&#34;https://developer.zendesk.com/api-reference/ticketing/tickets/tickets/&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Zendesk API documentation&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="zendesk-integration-for-grafana-oncall">Zendesk integration for Grafana OnCall&lt;/h1>
&lt;blockquote>
&lt;p>This integration is not available in OSS version&lt;/p>&lt;/blockquote>
&lt;p>The Zendesk integration for Grafana OnCall handles ticket events sent from Zendesk webhooks.
The integration provides grouping, auto-acknowledge and auto-resolve logic via customizable alert templates.&lt;/p></description></item><item><title>Inbound Webhook</title><link>https://grafana.com/docs/oncall/v1.6.x/integrations/webhook/</link><pubDate>Tue, 07 Apr 2026 10:28:26 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.6.x/integrations/webhook/</guid><content><![CDATA[&lt;h1 id=&#34;inbound-webhook-integrations-for-grafana-oncall&#34;&gt;Inbound Webhook integrations for Grafana OnCall&lt;/h1&gt;
&lt;p&gt;Grafana OnCall directly supports many integrations, those that aren’t currently listed in the Integrations menu can be
connected using the webhook integration and configured alert templates.&lt;/p&gt;
&lt;p&gt;With the webhook integration, you can connect to any alert source that isn&amp;rsquo;t listed in the &lt;strong&gt;Create Integration&lt;/strong&gt; page.&lt;/p&gt;
&lt;p&gt;There are two available formats, &lt;strong&gt;Webhook&lt;/strong&gt; and &lt;strong&gt;Formatted Webhook&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Webhook&lt;/strong&gt; will pull all of the raw JSON payload and display it in the manner that it&amp;rsquo;s received.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Formatted Webhook&lt;/strong&gt; can be used if the alert payload sent by your monitoring service is formatted in a way that
OnCall recognizes.&lt;/p&gt;
&lt;p&gt;The following fields are recognized, but none are required:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alert_uid&lt;/code&gt;: a unique alert ID for grouping.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;title&lt;/code&gt;: a title.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;image_url&lt;/code&gt;: a URL for an image attached to alert.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;state&lt;/code&gt;: either &lt;code&gt;ok&lt;/code&gt; or &lt;code&gt;alerting&lt;/code&gt;. Helpful for auto-resolving.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;link_to_upstream_details&lt;/code&gt;: link back to your monitoring system.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;message&lt;/code&gt;: alert details.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To configure a webhook integration:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In the &lt;strong&gt;Integrations&lt;/strong&gt; tab, click &lt;strong&gt;&#43; New integration to receive alerts&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select either &lt;strong&gt;Webhook&lt;/strong&gt; or &lt;strong&gt;Formatted Webhook&lt;/strong&gt; integration.&lt;/li&gt;
&lt;li&gt;Follow the configuration steps in the &lt;strong&gt;How to connect&lt;/strong&gt; section of the integration settings.&lt;/li&gt;
&lt;li&gt;Use the unique webhook URL to complete any configuration in your monitoring service to send POST requests. Use any
http client, e.g. curl to send POST requests with any payload.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For 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;Bash&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-bash&#34;&gt;curl -X POST \
https://a-prod-us-central-0.grafana.net/integrations/v1/formatted_webhook/m12xmIjOcgwH74UF8CN4dk0Dh/ \
-H &amp;#39;Content-Type: Application/json&amp;#39; \
-d &amp;#39;{
    &amp;#34;alert_uid&amp;#34;: &amp;#34;08d6891a-835c-e661-39fa-96b6a9e26552&amp;#34;,
    &amp;#34;title&amp;#34;: &amp;#34;The whole system is down&amp;#34;,
    &amp;#34;image_url&amp;#34;: &amp;#34;https://upload.wikimedia.org/wikipedia/commons/e/ee/Grumpy_Cat_by_Gage_Skidmore.jpg&amp;#34;,
    &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
    &amp;#34;link_to_upstream_details&amp;#34;: &amp;#34;https://en.wikipedia.org/wiki/Downtime&amp;#34;,
    &amp;#34;message&amp;#34;: &amp;#34;Smth happened. Oh no!&amp;#34;
}&amp;#39;&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;To learn how to use custom alert templates for formatted webhooks, see
&lt;a href=&#34;/docs/oncall/v1.6.x/configure/jinja2-templating/&#34;&gt;Configure alerts templates&lt;/a&gt;.&lt;/p&gt;
]]></content><description>&lt;h1 id="inbound-webhook-integrations-for-grafana-oncall">Inbound Webhook integrations for Grafana OnCall&lt;/h1>
&lt;p>Grafana OnCall directly supports many integrations, those that aren’t currently listed in the Integrations menu can be
connected using the webhook integration and configured alert templates.&lt;/p></description></item></channel></rss>