Skip to content

Firefight has a dedicated alert source for Sentry. It takes issue alerts and metric alerts from a Sentry internal integration and checks that every request is signed by Sentry.

Go to Settings → Alert Sources, click Add source, give it a name like “Sentry production”, and pick the Sentry provider. When you create it, Firefight opens the source’s setup. It shows the ingest URL and a field for the signing secret Sentry gives you, and the same steps as this page.

  1. In Sentry, open Settings → Developer Settings and create a new internal integration.
  2. Paste the ingest URL as its Webhook URL and turn on Alert Rule Action.
  3. To have alerts resolve when their issue resolves in Sentry, give the integration Issue & Event read permission and subscribe it to issue webhooks.
  4. Save the integration and copy its Client Secret.
  5. Back in Firefight, paste the client secret into Signing secret from Sentry in the source’s setup and click Save.
  6. In each Sentry alert that should reach Firefight, add the action that sends a notification via your integration.

Requests that fail the check are rejected with 401, and the source’s row in Settings → Alert Sources shows the rejection.

Each alert gets these fields, which you can match in your routing rules.

FieldValue
titleThe issue’s title, or the metric alert rule’s name
descriptionThe error message and culprit, or the metric alert’s description
serviceThe Sentry project
severity_rawThe event’s level, such as error, or critical and warning for metric alerts
environmentThe event’s environment, or the metric alert rule’s environment
urlThe issue or metric alert page in Sentry

The alert’s title in Slack and on the dashboard links to its page in Sentry.

An issue alert fires an alert for its Sentry issue. Every later alert for the same issue counts on that one alert. When the issue is resolved in Sentry, Firefight resolves the alert, as long as the integration is subscribed to issue webhooks.

A metric alert fires when it turns critical or warning and resolves when Sentry says it is resolved.

Other Sentry webhooks, such as an issue being created or assigned, are accepted and ignored.

See Grouping & deduplication for how repeat firings collapse into one alert.