<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Configure Grafana OnCall OSS on Grafana Labs</title><link>https://grafana.com/docs/oncall/v1.68.x/configure/</link><description>Recent content in Configure Grafana OnCall OSS on Grafana Labs</description><generator>Hugo -- gohugo.io</generator><language>en</language><atom:link href="/docs/oncall/v1.68.x/configure/index.xml" rel="self" type="application/rss+xml"/><item><title>Grafana OnCall integrations</title><link>https://grafana.com/docs/oncall/v1.68.x/configure/integrations/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.68.x/configure/integrations/</guid><content><![CDATA[&lt;h1 id=&#34;grafana-oncall-integrations&#34;&gt;Grafana OnCall integrations&lt;/h1&gt;
&lt;p&gt;An integration serves as the primary entry point for alerts that are processed by Grafana OnCall.
Integrations receive alerts through a unique API URL, interpret them using a set of templates tailored for the specific monitoring system, and initiate
escalations as necessary.&lt;/p&gt;
&lt;p&gt;For more information about how to configure an integration, refer to &lt;a href=&#34;/docs/oncall/latest/configure/integrations/integration-management/&#34;&gt;Configure and manage integrations&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;understand-the-integration-alert-flow&#34;&gt;Understand the integration alert flow&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;An alert is received on an integration’s &lt;strong&gt;Unique URL&lt;/strong&gt; as an HTTP POST request with a JSON payload (or via 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/integrations/references/inbound-email/&#34;&gt;Inbound email&lt;/a&gt; for email integrations).&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The incoming alert is routed according to the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/jinja2-templating/#routing-template&#34;&gt;Routing Template&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Alerts are grouped based on the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/jinja2-templating/#grouping-id-template&#34;&gt;Grouping ID Template&lt;/a&gt; and rendered using 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/jinja2-templating/#appearance-templates&#34;&gt;Appearance Templates&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The alert group can be published to messaging platforms, based on the &lt;strong&gt;Publish to Chatops&lt;/strong&gt; configuration.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The alert group is escalated to users according to the Escalation Chains selected for the route.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;An alert group can be acknowledged or resolved with status updates based on its 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/jinja2-templating/#behavioral-templates&#34;&gt;Behavioral Templates&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Users can perform actions listed in the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/set-up/get-started/#learn-about-the-alert-workflow&#34;&gt;Alert Workflow&lt;/a&gt; section.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;explore-available-integrations&#34;&gt;Explore available integrations&lt;/h2&gt;
&lt;p&gt;Refer to 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/integrations/references/&#34;&gt;Integration references&lt;/a&gt; for a list of available integrations and specific set up instructions.&lt;/p&gt;
]]></content><description>&lt;h1 id="grafana-oncall-integrations">Grafana OnCall integrations&lt;/h1>
&lt;p>An integration serves as the primary entry point for alerts that are processed by Grafana OnCall.
Integrations receive alerts through a unique API URL, interpret them using a set of templates tailored for the specific monitoring system, and initiate
escalations as necessary.&lt;/p></description></item><item><title>Configure templates for OnCall OSS</title><link>https://grafana.com/docs/oncall/v1.68.x/configure/jinja2-templating/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.68.x/configure/jinja2-templating/</guid><content><![CDATA[&lt;h1 id=&#34;configure-templates-for-oncall-oss&#34;&gt;Configure templates for OnCall OSS&lt;/h1&gt;
&lt;p&gt;Grafana OnCall OSS integrates with your monitoring systems using webhooks with JSON payloads.
By default, these webhooks deliver raw JSON payloads.
Grafana OnCall OSS applies a pre-configured alert template to modify these payloads into a more human-readable format.
These templates are customizable, enabling you to format alerts and notify different escalation chains based on alert content.&lt;/p&gt;
&lt;iframe width=&#34;560&#34; height=&#34;315&#34; src=&#34;https://www.youtube.com/embed/S6Is8hhyCos&#34; title=&#34;YouTube video player&#34;
frameborder=&#34;0&#34; allow=&#34;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture;
web-share&#34; allowfullscreen&gt;&lt;/iframe&gt;
&lt;h2 id=&#34;understand-your-alert-payload&#34;&gt;Understand your alert payload&lt;/h2&gt;
&lt;p&gt;Alerts received by Grafana OnCall contain metadata as key-value pairs in a JSON object.&lt;/p&gt;
&lt;p&gt;All alerts and alert groups in Grafana OnCall contain the following fields.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Message&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Image Url&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Grouping Id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Resolved by source&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Acknowledged by source&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Source link&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The following is an example of an alert initiated by Grafana Alerting and received by Grafana OnCall:&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;dashboardId&amp;#34;: 1,
  &amp;#34;title&amp;#34;: &amp;#34;[Alerting] Panel Title alert&amp;#34;,
  &amp;#34;message&amp;#34;: &amp;#34;Notification Message&amp;#34;,
  &amp;#34;evalMatches&amp;#34;: [
    {
      &amp;#34;value&amp;#34;: 1,
      &amp;#34;metric&amp;#34;: &amp;#34;Count&amp;#34;,
      &amp;#34;tags&amp;#34;: {}
    }
  ],
  &amp;#34;imageUrl&amp;#34;: &amp;#34;https://grafana.com/static/assets/img/blog/mixed_styles.png&amp;#34;,
  &amp;#34;orgId&amp;#34;: 1,
  &amp;#34;panelId&amp;#34;: 2,
  &amp;#34;ruleId&amp;#34;: 1,
  &amp;#34;ruleName&amp;#34;: &amp;#34;Panel Title alert&amp;#34;,
  &amp;#34;ruleUrl&amp;#34;: &amp;#34;http://localhost:3000/d/hZ7BuVbWz/test-dashboard?fullscreen\u0026edit\u0026tab=alert\u0026panelId=2\u0026orgId=1&amp;#34;,
  &amp;#34;state&amp;#34;: &amp;#34;alerting&amp;#34;,
  &amp;#34;tags&amp;#34;: {
    &amp;#34;tag name&amp;#34;: &amp;#34;tag value&amp;#34;
  }
}&lt;/code&gt;&lt;/pre&gt;
  &lt;/div&gt;
&lt;/div&gt;
&lt;h3 id=&#34;map-payloads-to-oncall-fields&#34;&gt;Map payloads to OnCall fields&lt;/h3&gt;
&lt;p&gt;Each field of an alert in OnCall is mapped to the JSON payload keys.&lt;/p&gt;
&lt;p&gt;Grafana OnCall converts the JSON payload to specific alert fields. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{{ payload.title }}&lt;/code&gt; -&amp;gt; &lt;code&gt;Title&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{{ payload.message }}&lt;/code&gt; -&amp;gt; &lt;code&gt;Message&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{{ payload.imageUrl }}&lt;/code&gt; -&amp;gt; &lt;code&gt;Image Url&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Behavioral mappings include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{{ payload.ruleId }}&lt;/code&gt; -&amp;gt; &lt;code&gt;Grouping Id&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{{ 1 if payload.state == &#39;OK&#39; else 0 }}&lt;/code&gt; -&amp;gt; &lt;code&gt;Resolve Signal&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;types-of-templates&#34;&gt;Types of templates&lt;/h2&gt;
&lt;p&gt;Alert templates allow you to format any alert fields recognized by Grafana OnCall.
You can customize default alert templates for all the different notification methods.&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;For conditional templates, the output should be &lt;code&gt;True&lt;/code&gt; to be applied, for example &lt;code&gt;{{ True if payload.state == &#39;OK&#39; else False }}&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;routing-template&#34;&gt;Routing template&lt;/h3&gt;
&lt;p&gt;Routing templates determine how alerts are routed to different escalation chains based on alert content.&lt;/p&gt;
&lt;p&gt;These are conditional templates, output should be &lt;code&gt;True&lt;/code&gt;.&lt;/p&gt;
&lt;h3 id=&#34;appearance-templates&#34;&gt;Appearance templates&lt;/h3&gt;
&lt;p&gt;Appearance templates customize how alerts are displayed across various platforms, including the web, Slack, MS Teams, SMS, phone calls, emails,
and mobile app push notifications.&lt;/p&gt;
&lt;p&gt;You can use appearance templates to define &lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt;, and &lt;code&gt;Image URL&lt;/code&gt; depending on the notification method.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt;, &lt;code&gt;Image URL&lt;/code&gt; for Web&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt;, &lt;code&gt;Image URL&lt;/code&gt; for Slack&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt;, &lt;code&gt;Image URL&lt;/code&gt; for MS Teams&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt;, &lt;code&gt;Image URL&lt;/code&gt; for Telegram&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt; for SMS&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt; for Phone Call&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt; for Email&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Title&lt;/code&gt;, &lt;code&gt;Message&lt;/code&gt; for push notifications&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;behavioral-templates&#34;&gt;Behavioral templates&lt;/h3&gt;
&lt;p&gt;Behavioral templates control alert behaviors such as grouping, auto-resolution, and acknowledgment.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Grouping Id&lt;/code&gt;: Applied to every incoming alert payload after routing. Determines how alerts are grouped.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Autoresolution&lt;/code&gt;: Automatically resolves alert groups with a status of &lt;code&gt;Resolved by source&lt;/code&gt; (conditional template).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Auto acknowledge&lt;/code&gt;: Automatically acknowledges alert groups with a status of &lt;code&gt;Acknowledged by source&lt;/code&gt; (conditional template).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Source link&lt;/code&gt;: Customizes the URL link provided as the alert&amp;rsquo;s source.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-tip&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Tip&lt;/p&gt;&lt;p&gt;As a best practice, add Playbooks, useful links, or checklists to the alert message.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;integration-templates&#34;&gt;Integration templates&lt;/h3&gt;
&lt;p&gt;Integration templates are applied to alerts that originated from a specific integration to define alert rendering and behavior.&lt;/p&gt;
&lt;p&gt;Grafana OnCall provides pre-configured default Jinja templates for supported integrations.
For any monitoring system not available in the Grafana OnCall integrations list, configure a 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/integrations/references/webhook/&#34;&gt;Webhook integration&lt;/a&gt; and configure your
templates as needed.&lt;/p&gt;
&lt;h2 id=&#34;edit-templates&#34;&gt;Edit templates&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open the &lt;strong&gt;Integration&lt;/strong&gt; page for the desired integration.&lt;/li&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Templates&lt;/strong&gt; section and click &lt;strong&gt;Edit&lt;/strong&gt; to see previews of all templates for the integration.&lt;/li&gt;
&lt;li&gt;Select the template to edit and click &lt;strong&gt;Edit&lt;/strong&gt;.
The template editor will open with three columns: example alert payload, the template itself, and the rendered result.&lt;/li&gt;
&lt;li&gt;Choose a &lt;strong&gt;Recent Alert group&lt;/strong&gt; to see its latest alert payload. Click &lt;strong&gt;Edit&lt;/strong&gt; to modify this payload.&lt;/li&gt;
&lt;li&gt;Alternatively, click &lt;strong&gt;Use custom payload&lt;/strong&gt; to write your own payload and see its rendering.&lt;/li&gt;
&lt;li&gt;Press &lt;code&gt;Control &#43; Enter&lt;/code&gt; in the editor to view suggestions.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Cheatsheet&lt;/strong&gt; in the second column for inspiration.&lt;/li&gt;
&lt;li&gt;For messenger templates, click &lt;strong&gt;Save and open Alert Group in ChatOps&lt;/strong&gt; to see how the alert renders in the messenger.
Note: The alert group must exist in the messenger to preview the template.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Save&lt;/strong&gt; to save the template.&lt;/li&gt;
&lt;/ol&gt;
]]></content><description>&lt;h1 id="configure-templates-for-oncall-oss">Configure templates for OnCall OSS&lt;/h1>
&lt;p>Grafana OnCall OSS integrates with your monitoring systems using webhooks with JSON payloads.
By default, these webhooks deliver raw JSON payloads.
Grafana OnCall OSS applies a pre-configured alert template to modify these payloads into a more human-readable format.
These templates are customizable, enabling you to format alerts and notify different escalation chains based on alert content.&lt;/p></description></item><item><title>Escalation chains and routes for OnCall OSS</title><link>https://grafana.com/docs/oncall/v1.68.x/configure/escalation-chains-and-routes/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.68.x/configure/escalation-chains-and-routes/</guid><content><![CDATA[&lt;h1 id=&#34;escalation-chains-and-routes-for-oncall-oss&#34;&gt;Escalation chains and routes for OnCall OSS&lt;/h1&gt;
&lt;p&gt;This topic provides information about escalation chains, steps, routes, and instructions for configuring them in Grafana OnCall OSS.&lt;/p&gt;
&lt;p&gt;In Grafana OnCall, configuring proper alert routing and escalation ensures that alerts are directed to the right teams and handled promptly.&lt;/p&gt;
&lt;p&gt;Alerts often need to be sent to different teams or channels depending on their severity or specific alert details.
Set up routes and escalation chains to customize and automate escalation according to each teams workflows.&lt;/p&gt;
&lt;h2 id=&#34;routes&#34;&gt;Routes&lt;/h2&gt;
&lt;p&gt;Routes determine which escalation chain should be triggered for a specific alert group based on the details of the alert.
A route uses 
    &lt;a href=&#34;/docs/oncall/v1.68.x/configure/jinja2-templating/#routing-template&#34;&gt;Routing Templates&lt;/a&gt; to determine the escalation chain and notification channels.&lt;/p&gt;
&lt;p&gt;When an alert is received, its details are evaluated against the route&amp;rsquo;s routing template, and &lt;strong&gt;the first matching route&lt;/strong&gt; determines how the alert will be handled.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Trigger the &lt;code&gt;Database Critical&lt;/code&gt; escalation chain for alerts with &lt;code&gt;{{ payload.severity == &amp;quot;critical&amp;quot; and payload.service == &amp;quot;database&amp;quot; }}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Use a different route for alerts with the payload &lt;code&gt;{{ &amp;quot;synthetic-monitoring-dev-&amp;quot; in payload.namespace }}&lt;/code&gt;, selecting the &lt;code&gt;Security&lt;/code&gt; escalation chain.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;create-and-manage-routes&#34;&gt;Create and manage routes&lt;/h3&gt;
&lt;p&gt;To create or manage a route:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Integrations&lt;/strong&gt; page.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add route&lt;/strong&gt; to create a new route, or &lt;strong&gt;Edit&lt;/strong&gt; to modify an existing one.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Routing Template&lt;/strong&gt; section, define conditions that will determine which alerts this route applies to.
The template must evaluate to &lt;code&gt;True&lt;/code&gt; for the route to be selected.&lt;/li&gt;
&lt;li&gt;Select the appropriate escalation chain from the &lt;strong&gt;Escalation Chain&lt;/strong&gt; dropdown.
If an escalation chain doesn&amp;rsquo;t exist, click &lt;strong&gt;Add new escalation chain&lt;/strong&gt;, which will open a new tab for chain creation.
After creating the chain, return to the routes page and click &lt;strong&gt;Reload list&lt;/strong&gt; to update the available options.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Publish to ChatOps&lt;/strong&gt; section, select the relevant communication channels for this route (Slack, Teams, etc.).
Ensure ChatOps integrations are configured before using this feature.&lt;/li&gt;
&lt;li&gt;Arrange the routes by clicking the up/down arrows to prioritize the routes as needed. The order determines which route is evaluated first.&lt;/li&gt;
&lt;li&gt;To delete a route, click the three dots on the route and select &lt;strong&gt;Delete Route&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;label-based-routing&#34;&gt;Label-based routing&lt;/h3&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 feature is available exclusively on Grafana Cloud.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;p&gt;You can use the labels variable in your routing templates to evaluate based on alert group labels.
This provides additional flexibility in routing alerts based on both labels and payload data.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;code&gt;{{ labels.foo == &amp;quot;bar&amp;quot; or &amp;quot;hello&amp;quot; in labels.keys() or payload.severity == &amp;quot;critical&amp;quot; }}&lt;/code&gt;&lt;/p&gt;
&lt;h2 id=&#34;escalation-chains&#34;&gt;Escalation Chains&lt;/h2&gt;
&lt;p&gt;Escalation chains define the series of actions taken when an alert is triggered.
The chain continues until a user intervenes by acknowledging, resolving, or silencing the alert.&lt;/p&gt;
&lt;p&gt;You can configure different escalation chains for different workflows.
For example, one chain might notify on-call users immediately, while another sends a low-priority message to a Slack channel.&lt;/p&gt;
&lt;h3 id=&#34;create-and-manage-escalation-chains&#34;&gt;Create and manage escalation chains&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Escalation Chains&lt;/strong&gt; page.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;New escalation chain&lt;/strong&gt; to create a new chain.&lt;/li&gt;
&lt;li&gt;Enter a unique name and assign the chain to a team.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add escalation step&lt;/strong&gt; to define the steps for this chain (e.g., notifying users, waiting, escalating).&lt;/li&gt;
&lt;li&gt;To edit an existing chain, click &lt;strong&gt;Edit&lt;/strong&gt;. To remove a chain, click &lt;strong&gt;Delete&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;The name must be unique across the organization.
Alert groups inherit the team from the integration, not the escalation chain.&lt;/li&gt;
&lt;li&gt;Linked integrations and routes are shown in the right panel.
Changes to the escalation chain impact all associated integrations and routes.&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;types-of-escalation-steps&#34;&gt;Types of escalation steps&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Wait&lt;/code&gt;: Pause for a specified time before moving to the next step. You can add multiple wait steps for longer intervals.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notify users&lt;/code&gt;: Notify individual users or groups.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notify users from on-call schedule&lt;/code&gt;: Send notifications to users from a defined on-call schedule.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notify all team members&lt;/code&gt;: Notify all users in a team.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Resolve incident automatically&lt;/code&gt;: Immediately resolve the alert group with the status &lt;code&gt;Resolved automatically&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notify Slack channel members&lt;/code&gt;: Notify users in a Slack channel based on their OnCall profile preferences.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Notify Slack user group&lt;/code&gt;: Notify all members of a Slack user group.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Trigger outgoing webhook&lt;/code&gt;: Activate an 

&lt;a href=&#34;/404/&#34;&gt;outgoing webhook&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Round robin notifications&lt;/code&gt;: Notify users sequentially, with each user receiving different alert groups.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Time-based escalation&lt;/code&gt;: Continue escalation only if the current time falls within a specific range (e.g., during working hours)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Threshold-based escalation&lt;/code&gt;: Escalate only if a certain number of alerts occur within a specific time frame.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Repeat escalation&lt;/code&gt;: Loop the escalation chain up to five times.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Declare incident (non-default routes)&lt;/code&gt;: &lt;strong&gt;Available only in Grafana Cloud&lt;/strong&gt;. Declares an incident with a specified severity.
Limited to one incident per route at a time.
Additional alerts are grouped into the active incident, and up to five are listed as incident context.&lt;/li&gt;
&lt;/ul&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;The &lt;strong&gt;Notify Slack channel members&lt;/strong&gt; and &lt;strong&gt;Notify Slack user group&lt;/strong&gt; steps are designed to notify OnCall-registered users via their configured notification rules.
To avoid spamming a Slack channel with alert group notifications, notifications are not sent in the alert group Slack thread.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h3 id=&#34;notification-types&#34;&gt;Notification types&lt;/h3&gt;
&lt;p&gt;When an escalation step notifies a user, it follows their personal notification settings, which are configured in their user profile.&lt;/p&gt;
&lt;p&gt;Each user can have two sets of notification rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Default Notifications&lt;/strong&gt;: For standard alerts.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Important Notifications&lt;/strong&gt;: For high-priority alerts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each escalation step allows you to select which set of notification rules to use.
For more information about user notification rules, refer to the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/manage/notify/&#34;&gt;Notifications&lt;/a&gt; section.&lt;/p&gt;
]]></content><description>&lt;h1 id="escalation-chains-and-routes-for-oncall-oss">Escalation chains and routes for OnCall OSS&lt;/h1>
&lt;p>This topic provides information about escalation chains, steps, routes, and instructions for configuring them in Grafana OnCall OSS.&lt;/p></description></item><item><title>Configure SMS &amp; call routing with Grafana OnCall</title><link>https://grafana.com/docs/oncall/v1.68.x/configure/live-call-routing/</link><pubDate>Fri, 03 Apr 2026 19:43:06 +0000</pubDate><guid>https://grafana.com/docs/oncall/v1.68.x/configure/live-call-routing/</guid><content><![CDATA[&lt;h1 id=&#34;configure-sms--call-routing-with-grafana-oncall&#34;&gt;Configure SMS &amp;amp; call routing with Grafana OnCall&lt;/h1&gt;
&lt;p&gt;This guide walks you through how to configure a system that enables you to page on-call personnel in Grafana OnCall by calling or texting a specific phone number.&lt;/p&gt;
&lt;p&gt;Configure the basic setup in this guide to route SMS and voice calls to OnCall using a Twilio phone number and a Webhook integration.
You can further customize your configuration to send different alerts to different escalation chains based on the contents of the text or voice call.&lt;/p&gt;
&lt;h2 id=&#34;before-you-begin&#34;&gt;Before you begin&lt;/h2&gt;
&lt;p&gt;To complete the steps in this guide, ensure you have the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For Grafana Cloud users: A Grafana Cloud account. If you haven&amp;rsquo;t already, &lt;a href=&#34;/auth/sign-up/create-user&#34;&gt;sign up for Grafana Cloud&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;For OSS users: Notification routing must be configured using either Grafana Cloud or a third-party provider, such as Twilio.
Refer to the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/set-up/open-source/&#34;&gt;Grafana OnCall open source guide&lt;/a&gt; for more information.&lt;/li&gt;
&lt;li&gt;Grafana OnCall user with administrator privileges and notification settings configured.&lt;/li&gt;
&lt;li&gt;Twilio account: &lt;a href=&#34;https://www.twilio.com/try-twilio&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Sign up for Twilio&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&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;While OSS users have the option to use Grafana Cloud for phone and SMS routing, it is not required.
If you decide to use Grafana Cloud for notification delivery, be aware that charges may apply.
For more information, refer to our 

&lt;a href=&#34;/404/&#34;&gt;billing documentation&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h2 id=&#34;basic-set-up&#34;&gt;Basic set up&lt;/h2&gt;
&lt;p&gt;In the basic set up, you&amp;rsquo;ll create an integration in OnCall and configure a phone number in Twilio.
This set up allows you to receive alerts in OnCall from SMS messages or phone calls made to your Twilio phone number.
We’ll expand this setup as we go.&lt;/p&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 450px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png&#34;data-srcset=&#34;/media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=320 320w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=550 550w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=750 750w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=900 900w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=1040 1040w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=1240 1240w, /media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Diagram of how Twilio calls and texts are routed to OnCall&#34;width=&#34;450&#34;height=&#34;347&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/docs/grafana-cloud/oncall/big-OnCall-SMS-Diagram.png&#34;
            alt=&#34;Diagram of how Twilio calls and texts are routed to OnCall&#34;width=&#34;450&#34;height=&#34;347&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;grafana-oncall-set-up&#34;&gt;Grafana OnCall set up&lt;/h3&gt;
&lt;p&gt;To complete the Grafana OnCall portion of the configuration, ensure you have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Grafana OnCall user account with administrator privileges.&lt;/li&gt;
&lt;li&gt;Configured notification settings for your user to test functionality along the way.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you need to set these up first, refer to the 
    &lt;a href=&#34;/docs/oncall/v1.68.x/&#34;&gt;Grafana OnCall documentation&lt;/a&gt;.&lt;/p&gt;
&lt;h4 id=&#34;set-up-webhook-integration&#34;&gt;Set up webhook integration&lt;/h4&gt;
&lt;p&gt;Create a new integration to establish an endpoint for receiving alerts and connecting them to routes and escalation chains.
The generic webhook integration accepts any payload and allows for customization of how the payload is handled in OnCall.&lt;/p&gt;
&lt;p&gt;To create the integration:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Grafana Cloud, navigate to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;OnCall&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Integrations&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; New Integration&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;strong&gt;Webhook (Generic)&lt;/strong&gt; as the integration type.&lt;/li&gt;
&lt;li&gt;Provide a name, description, and optionally assign it to a team.&lt;/li&gt;
&lt;li&gt;Note the integration URL for future use in Twilio.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;add-an-escalation-chain&#34;&gt;Add an Escalation Chain&lt;/h4&gt;
&lt;p&gt;An escalation chain defines a sequence of notifications and other actions once an alert has been received in OnCall.&lt;/p&gt;
&lt;p&gt;Create a simple escalation chain to directly notify your user for testing during the set up process:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;OnCall&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Escalation chains&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; New Escalation chain&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Provide a name and click &lt;strong&gt;Create Escalation Chain&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;For step 1, choose &lt;strong&gt;Notify users&lt;/strong&gt; and select your user.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Later, you can customize the &lt;a href=&#34;/docs/oncall/latest/configure/escalation-chains-and-routes/&#34;&gt;escalation chain&lt;/a&gt; as needed.&lt;/p&gt;
&lt;h4 id=&#34;connect-and-test-the-escalation-chain&#34;&gt;Connect and test the Escalation Chain&lt;/h4&gt;
&lt;p&gt;Connect the escalation chain to the newly created integration and then test that the set up is working correctly.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Return to the Webhook integration.&lt;/li&gt;
&lt;li&gt;In the integration details, under Routes, assign the new escalation chain as the Default route using the dropdown.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Send demo alert&lt;/strong&gt; and verify that you receive a notification as expected.&lt;/li&gt;
&lt;li&gt;Resolve the demo alert.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Next, switch to Twilio to set up the other side of the integration.&lt;/p&gt;
&lt;h3 id=&#34;twilio-set-up&#34;&gt;Twilio set up&lt;/h3&gt;
&lt;p&gt;A Twilio account is required to complete the steps in this section. If you haven&amp;rsquo;t already,&lt;a href=&#34;https://www.twilio.com/try-twilio&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;sign up for Twilio&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this section, you’ll set up the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Twilio phone number&lt;/li&gt;
&lt;li&gt;Twilio Studio Flows to send information as an alert to Grafana OnCall.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4 id=&#34;set-up-studio-flow&#34;&gt;Set up Studio Flow&lt;/h4&gt;
&lt;p&gt;Twilio &lt;a href=&#34;https://www.twilio.com/docs/studio&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Studio&lt;/a&gt; flows allow you to create custom workflows to execute when a phone call or SMS message is received.&lt;/p&gt;
&lt;p&gt;In this guide, we&amp;rsquo;ll use Twilio&amp;rsquo;s Studio Flow to capture alert information from SMS messages and phone calls to send it to Grafana OnCall:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Twilio, navigate to &lt;strong&gt;Develop&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Studio&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Flows&lt;/strong&gt;.
If Studio isn’t visible, select &lt;strong&gt;Explore Products&lt;/strong&gt; and navigate to &lt;strong&gt;Studio&lt;/strong&gt; under the &lt;strong&gt;Developer Tools&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create new Flow&lt;/strong&gt;, enter a Flow name, and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Import from JSON&lt;/strong&gt; and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Import the provided JSON, which can be found in the &lt;a href=&#34;https://github.com/grafana/oncall/blob/dev/tools/twilio/basic_flow.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana OnCall GitHub repository&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;&amp;lt;YOUR_INTEGRATION_URL&amp;gt;&lt;/code&gt; (Lines 54 and 156) with the webhook integration URL from Grafana OnCall.&lt;/li&gt;
&lt;li&gt;After adding your webhook URL, click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Review the flow and click &lt;strong&gt;Publish&lt;/strong&gt; to make the flow available for use.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;understand-your-flow&#34;&gt;Understand your flow&lt;/h4&gt;
&lt;p&gt;The flow you created has two paths:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SMS Path: Accepts incoming messages and forwards their contents to Grafana OnCall via the Webhook URL, including the sender&amp;rsquo;s phone number.&lt;/li&gt;
&lt;li&gt;Voice Path: Converts voice calls to text and sends them to the Webhook integration in Grafana OnCall.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1257px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/blog/oncall-sms-call-routing/studio-flow.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/blog/oncall-sms-call-routing/studio-flow.png&#34;data-srcset=&#34;/media/blog/oncall-sms-call-routing/studio-flow.png?w=320 320w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=550 550w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=750 750w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=900 900w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=1040 1040w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=1240 1240w, /media/blog/oncall-sms-call-routing/studio-flow.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Studio flow workflow&#34;width=&#34;1257&#34;height=&#34;1056&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/blog/oncall-sms-call-routing/studio-flow.png&#34;
            alt=&#34;Studio flow workflow&#34;width=&#34;1257&#34;height=&#34;1056&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h4 id=&#34;buy-a-twilio-phone-number&#34;&gt;Buy a Twilio phone number&lt;/h4&gt;
&lt;p&gt;Purchase a phone number in Twilio to receive calls and messages:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Develop&lt;/strong&gt; -&amp;gt; &lt;strong&gt;# Phone Numbers&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Manage&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Buy a number&lt;/strong&gt;.
If you don’t see Phone Numbers, select &lt;strong&gt;Explore Products&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Super Network&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Phone Numbers&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Search for a number in your desired country code, select one, and buy it.&lt;/li&gt;
&lt;li&gt;Once purchased, the number will be available in &lt;strong&gt;Active Numbers&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;


&lt;div class=&#34;admonition admonition-note&#34;&gt;&lt;blockquote&gt;&lt;p class=&#34;title text-uppercase&#34;&gt;Note&lt;/p&gt;&lt;p&gt;Some countries and regions may require additional information to purchase a phone number such as address, contact person, etc.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;

&lt;h4 id=&#34;configure-the-phone-number&#34;&gt;Configure the phone number&lt;/h4&gt;
&lt;p&gt;Configure your Twilio phone number to use the Studio Flow you created.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In &lt;strong&gt;Develop&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Phone Numbers&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Manage&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Active Numbers&lt;/strong&gt;, select the purchased number.&lt;/li&gt;
&lt;li&gt;Configure Voice: Set the dropdown &lt;code&gt;A call comes in&lt;/code&gt; to &lt;code&gt;Studio Flow&lt;/code&gt;. Then select the flow we created.&lt;/li&gt;
&lt;li&gt;Configure Messaging: Set the dropdown &lt;code&gt;A message comes in&lt;/code&gt; to &lt;code&gt;Studio Flow&lt;/code&gt;. Then select the flow we created.&lt;/li&gt;
&lt;li&gt;Save the configuration.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;test-and-troubleshoot&#34;&gt;Test and troubleshoot&lt;/h4&gt;
&lt;p&gt;Test configuration via SMS:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Send an SMS message to the purchased number and verify that you receive an “Alert sent” success notification.&lt;/li&gt;
&lt;li&gt;Shortly after that, verify that you received a notification from Grafana OnCall using your configured method.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Test configuration via phone call:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Call the purchased number, follow the instructions to describe your alert, and verify that you hear a message that the alert was sent successfully.&lt;/li&gt;
&lt;li&gt;Confirm that you receive a notification from Grafana OnCall using your configured method.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you encounter issues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ensure the correct integration URL is configured.&lt;/li&gt;
&lt;li&gt;Check the configuration of your Twilio Studio Flow.
Confirm that “A message comes in” and “A call comes in” are configured correctly for the Phone number.&lt;/li&gt;
&lt;li&gt;Review execution logs in Twilio Studio.
In Studio -&amp;gt; Flows, select the flow you created and view Execution Log.&lt;/li&gt;
&lt;li&gt;Review Grafana OnCall escalation log.
Verify if an alert group was created in OnCall. If not, the alert didn’t make it to the URL. If there is an alert group, view the escalation log to review what happened.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;basic-setup-complete&#34;&gt;Basic setup complete&lt;/h3&gt;
&lt;p&gt;You&amp;rsquo;ve completed the basic setup to receive alerts via SMS and phone calls in Grafana OnCall.
Explore the advanced configuration section to learn how to further enhance your set up by routing alerts to different escalation chains.&lt;/p&gt;
&lt;h2 id=&#34;advanced-sms--call-routing-configuration&#34;&gt;Advanced SMS &amp;amp; call routing configuration&lt;/h2&gt;
&lt;p&gt;With the basic set up in place, you can add more optionality and automation by configuring SMS and voice calls to present a list of options to select from.
The selected option then determines which route an alert is sent to in Grafana OnCall.&lt;/p&gt;
&lt;p&gt;To accomplish this, you’ll configure an additional route and escalation chain attached to your Twilio Webhook integration in Grafana OnCall.
Then, in Twilio, expand the Studio Flow to present options to the caller. This set up can be easily expanded upon to handle more routes.&lt;/p&gt;
&lt;h3 id=&#34;create-an-additional-escalation-chain&#34;&gt;Create an additional Escalation Chain&lt;/h3&gt;
&lt;p&gt;To create an escalation chain:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to &lt;strong&gt;Alerts &amp;amp; IRM&lt;/strong&gt; -&amp;gt; &lt;strong&gt;OnCall&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Escalation chains&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;&#43; New Escalation chain&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Provide a name and click &lt;strong&gt;Create Escalation Chain&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;For step 1, choose Notify users and select your user as the recipient.
You can mark this one &lt;strong&gt;Important&lt;/strong&gt; to differ from the previous one.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Later you can edit the escalation chain to match your on-call process.&lt;/p&gt;
&lt;h3 id=&#34;add-a-route&#34;&gt;Add a Route&lt;/h3&gt;
&lt;p&gt;A route in Grafana OnCall is a configurable part of an integration that enables you to specify how an alert is handled depending on it’s payload.
It involves sequentially matched rules defined as Jinja2.
The first rule that evaluates to true for an incoming alert payload determines how the alert is routed.&lt;/p&gt;
&lt;p&gt;In our set up, we&amp;rsquo;ll maintain the existing escalation chain from the Basic Setup as our default route and add our newly created escalation chain to a new route.&lt;/p&gt;
&lt;p&gt;To create a route and route alerts to the newly created escalation chain:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Return to the Twilio Webhook integration and select &lt;strong&gt;Add Route&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Edit template&lt;/strong&gt; to open the template editor.&lt;/li&gt;
&lt;li&gt;Enter &lt;code&gt;{{ &amp;quot;abc&amp;quot; in payload.target.lower()}}&lt;/code&gt; to define custom logic for selecting the escalation chain based on alert content, then click &lt;strong&gt;Save&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select the newly created escalation chain from the drop-down at step 3.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This template indicates that if the alert payload sent from Twilio contains the target field with a value of &lt;code&gt;abc&lt;/code&gt;, this route will be selected.
Later, you can customize this logic to suit your specific routing needs, such as by team, service, or region.&lt;/p&gt;
&lt;p&gt;Now Grafana OnCall can route alerts from Twilio to different escalation chains based on their content.&lt;/p&gt;
&lt;h3 id=&#34;add-a-studio-flow-in-twilio&#34;&gt;Add a Studio Flow in Twilio&lt;/h3&gt;
&lt;p&gt;Similar to the Studio Flow created in the Basic setup, you’ll create a more complex Flow in Twilio to present options to the caller.&lt;/p&gt;
&lt;p&gt;Create a new Flow for more complex handling:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In Twilio, navigate to &lt;strong&gt;Develop&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Studio&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Flows&lt;/strong&gt;.
If Studio isn’t visible, select &lt;strong&gt;Explore Products&lt;/strong&gt; and navigate to Studio under the &lt;strong&gt;Developer Tools&lt;/strong&gt; section.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Create new Flow&lt;/strong&gt;, enter a Flow name, and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;strong&gt;Import from JSON&lt;/strong&gt; and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Import the provided JSON, which can be found in the &lt;a href=&#34;https://github.com/grafana/oncall/blob/dev/tools/twilio/flow_with_routes.json&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;Grafana OnCall GitHub repository&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Replace &lt;code&gt;&amp;lt;YOUR_INTEGRATION_URL&amp;gt;&lt;/code&gt; (Lines 54 and 156) with the webhook integration URL from Grafana OnCall.&lt;/li&gt;
&lt;li&gt;After adding your webhook URL, click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Review the flow and click &lt;strong&gt;Publish&lt;/strong&gt; to make the flow available for use.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4 id=&#34;understand-your-flow-1&#34;&gt;Understand your flow&lt;/h4&gt;
&lt;p&gt;This flow maintains the same two paths from the Basic set up while incorporating additional steps to prompt the user to specify the target for the alert and
include validation checks to ensure the accuracy of provided values.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SMS Path: Accepts incoming messages and forwards their contents to Grafana OnCall via the Webhook URL, including the sender&amp;rsquo;s phone number.&lt;/li&gt;
&lt;li&gt;Voice Path: Converts voice calls to text and sends them to the Webhook integration in Grafana OnCall.&lt;/li&gt;
&lt;/ul&gt;
&lt;figure
    class=&#34;figure-wrapper figure-wrapper__lightbox w-100p &#34;
    style=&#34;max-width: 1716px;&#34;
    itemprop=&#34;associatedMedia&#34;
    itemscope=&#34;&#34;
    itemtype=&#34;http://schema.org/ImageObject&#34;
  &gt;&lt;a
        class=&#34;lightbox-link&#34;
        href=&#34;/media/blog/oncall-sms-call-routing/twilio-add-route.png&#34;
        itemprop=&#34;contentUrl&#34;
      &gt;&lt;div class=&#34;img-wrapper w-100p h-auto&#34;&gt;&lt;img
          class=&#34;lazyload &#34;
          data-src=&#34;/media/blog/oncall-sms-call-routing/twilio-add-route.png&#34;data-srcset=&#34;/media/blog/oncall-sms-call-routing/twilio-add-route.png?w=320 320w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=550 550w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=750 750w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=900 900w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=1040 1040w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=1240 1240w, /media/blog/oncall-sms-call-routing/twilio-add-route.png?w=1920 1920w&#34;data-sizes=&#34;auto&#34;alt=&#34;Route added workflow&#34;width=&#34;1716&#34;height=&#34;1374&#34;/&gt;
        &lt;noscript&gt;
          &lt;img
            src=&#34;/media/blog/oncall-sms-call-routing/twilio-add-route.png&#34;
            alt=&#34;Route added workflow&#34;width=&#34;1716&#34;height=&#34;1374&#34;/&gt;
        &lt;/noscript&gt;&lt;/div&gt;&lt;/a&gt;&lt;/figure&gt;
&lt;h3 id=&#34;reconfigure-the-twilio-phone-number&#34;&gt;Reconfigure the Twilio phone number&lt;/h3&gt;
&lt;p&gt;Update your Twilio phone number configuration to use the more complex Flow created in the previous step:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In &lt;strong&gt;Develop&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Phone Numbers&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Manage&lt;/strong&gt; -&amp;gt; &lt;strong&gt;Active Numbers&lt;/strong&gt;, select the purchased number.&lt;/li&gt;
&lt;li&gt;Configure Voice: Set the dropdown &lt;code&gt;A call comes in&lt;/code&gt; to &lt;code&gt;Studio Flow&lt;/code&gt;. Then select the new flow.&lt;/li&gt;
&lt;li&gt;Configure Messaging: Set the dropdown &lt;code&gt;A message comes in&lt;/code&gt; to &lt;code&gt;Studio Flow&lt;/code&gt;. Then select the new flow.&lt;/li&gt;
&lt;li&gt;Save the configuration.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&#34;test-and-troubleshoot-1&#34;&gt;Test and troubleshoot&lt;/h3&gt;
&lt;p&gt;Test the SMS and voice call paths to verify proper routing and that you receive notifications from OnCall.&lt;/p&gt;
&lt;h3 id=&#34;next-steps&#34;&gt;Next steps&lt;/h3&gt;
&lt;p&gt;Now that you&amp;rsquo;ve completed the initial set up, you can customize your Grafana OnCall routes and escalation chains to meet your specific routing requirements.
Utilize the graphical editor available in Twilio Studio Flow to fine-tune your alert routing.&lt;/p&gt;
]]></content><description>&lt;h1 id="configure-sms--call-routing-with-grafana-oncall">Configure SMS &amp;amp; call routing with Grafana OnCall&lt;/h1>
&lt;p>This guide walks you through how to configure a system that enables you to page on-call personnel in Grafana OnCall by calling or texting a specific phone number.&lt;/p></description></item></channel></rss>