diff --git a/docs/configuration/exporting/send-events-api.rst b/docs/configuration/exporting/send-events-api.rst index fe940c8ec..0d3e64c3a 100644 --- a/docs/configuration/exporting/send-events-api.rst +++ b/docs/configuration/exporting/send-events-api.rst @@ -20,6 +20,7 @@ This is the recommended ingestion path for new integrations. The legacy :doc:`Se send-events/newrelic send-events/opsgenie send-events/pagerduty + send-events/rootly send-events/sentry send-events/solarwinds send-events/splunk @@ -174,6 +175,11 @@ Incident Management :link: send-events/opsgenie :link-type: doc + .. grid-item-card:: :octicon:`pulse;1em;` Rootly + :class-card: sd-bg-light sd-bg-text-light + :link: send-events/rootly + :link-type: doc + Other ~~~~~~ diff --git a/docs/configuration/exporting/send-events/rootly.rst b/docs/configuration/exporting/send-events/rootly.rst new file mode 100644 index 000000000..fbe6498e4 --- /dev/null +++ b/docs/configuration/exporting/send-events/rootly.rst @@ -0,0 +1,43 @@ +Rootly +======= + +Forward Rootly alert lifecycle events to Robusta via a Rootly outgoing webhook. + +Prerequisites +------------- + +* A Robusta account with API access. +* Your Robusta ``account_id``, found in ``generated_values.yaml``. +* A Robusta API key with ``Read/Write`` access to alerts, generated under **Settings → API Keys → New API Key**. +* A Rootly admin able to create outgoing webhooks. + +Webhook URL +----------- + +.. robusta-code:: + + https://api.robusta.dev/webhooks?type=alert&origin=rootly&account_id= + +Configure Rootly +---------------- + +1. In Rootly, go to **Integrations → Webhooks → New Webhook**. +2. Set the **URL** to the webhook URL above. +3. Add a custom header: + + .. code-block:: + + Authorization: Bearer + +4. Subscribe the webhook to the alert events you want forwarded — at minimum ``alert.created``. If the Rootly UI offers other ``alert.*`` events (for example to notify on resolution), subscribe to those as well; Robusta accepts the whole ``alert.*`` family and uses the alert object's ``ended_at`` field to tell firing from resolved, so the parser stays correct regardless of which specific event names Rootly emits. +5. Save. Rootly will start delivering alerts immediately. + +Payload +------- + +Rootly sends a fixed JSON envelope; no body template is required. The relay extracts the alert summary, status, source system, labels, and timestamps. Severity is read from ``data.labels[]`` (Rootly's ``[{key, value}]`` array) or from the freeform ``data.data`` object if the upstream system propagated it there. The ``data.external_id`` field is used as the deduplication fingerprint so retransmissions of the same upstream alert fold into a single Robusta timeline entry. + +Verify +------ + +Trigger a test alert in Rootly (or wait for the next real alert). The event should appear in **Settings → Delivery Log** and on the Robusta timeline.