Access Rootly Settings
Create New Webhook
Alert Sources Page in Rootly with Generic Webhook
Configure Webhook Name and Owning Team
Rootly webhook create screen
Configure Webhook Routing
Rootly webhook alert routing screen
Copy Webhook URL and Token
Rootly webhook URL and token
Add Copied Webhook in Metoro
Metoro Add Webhook button
Fill in the Webhook Details
Authorization
Bearer YOUR_ROOTLY_TOKEN
(replace with your actual token)Metoro Webhook Configuration Page
$
is an alert template variable and will be populated dynamically depending on the alert.Define Alert Content in Rootly
{{alert.data.alert_name}}
. This will use the alert_name
JSON field from the Webhook body that we defined earlier.
Alert Description: Enter any details you want to include in the alert description. You can use fields from the webhook body like {{alert.data.alert_name}}
, {{alert.data.state}}
, etc.
Alert Source Link: Enter {{alert.data.metoro_alert_link}}
. This will create a link to the alert in Metoro.Click Save to save the alert content configuration.Rootly Alert Content Preview Page
Define Alert Urgency in Rootly
Rootly Alert Urgency Configuration
Configure Auto-Resolve in Rootly
alert_state
field in the webhook body to “resolved”.metoro_alert_fire_uuid
to identify alert triggers that are sent to Rootly and state
field to identify the alert state. When the alert state changes to “resolved”, Rootly will automatically resolve the incident.
Enter the following details in the Auto-Resolve section:
Identifier: $.metoro_alert_fire_uuid
Field location: $.state
Field Value: resolved
Rootly Auto-Resolve Configuration
$metoro_alert_uuid
field as the identifier. Please read more in Handling Grouped Alerts section below to pick the best option that suits your use case.Create or Edit Alert
Add Webhook Destination
Selecting Rootly webhook as alert destination
Save Alert
Enable Recovery in Alert in Metoro
Configure Recovery Webhook
alert_state
field$state
variable in your Webhook body.Configure Auto-Resolve in Rootly
Map Resolution Fields
alert_state
field (or the key you used in webhook body that corresponds to $state
value) with value "resolved"
triggers incident resolution.alert_fire_uuid
or alert_uuid
to match the specific incident to resolve.$alert_fire_uuid
and $alert_uuid
is crucial for proper incident management in Rootly.$alert_uuid
: The unique identifier for the alert definition. This is the same for all firing instances of the alert you created in Metoro.$alert_fire_uuid
: The unique identifier for a specific firing instance (each group by attribute value) of the alert. This is generated each time the alert fires.$alert_fire_uuid
for auto-resolve to work correctly.
This is because each group by attribute (e.g., service.name
, environment
) will generate a unique firing instance, and using $alert_uuid
would not correctly match the specific incident to resolve. For example, if service.name
MyServiceX
and MyServiceY
are firing for the same alert, they will have the same $alert_uuid
but different $alert_fire_uuid
s.
Using $alert_fire_uuid
ensures that Rootly resolves the correct incident for the specific service or environment that recovered. If you use $alert_uuid
, when MyServiceX
recovers, it would resolve the incident for MyServiceY
as well, which is not the intended behavior.
Webhook not triggering in Rootly
environment=metoro-internal
and service.name=metoro-webhooks
Auto-resolve not working
$alert_fire_uuid
for matching (especially with grouped alerts)alert_state
field correctly shows “resolved”Missing incident details
$
prefix
$environment
and $service
will only get populated if you are using group bys with environment
or service.name
/server.service.name
/client.service.name
. Authentication errors
Authorization
Bearer YOUR_TOKEN
environment=metoro-internal
and service.name=metoro-webhooks