Skip to content

feat(sentry-apps): Add Alerts webhook subscription to developer settings - #130570

Draft
sentry-junior[bot] wants to merge 3 commits into
feat/sentry-apps-alert-triggered-webhookfrom
feat/sentry-apps-alert-webhook-ui
Draft

sentry-junior[bot] wants to merge 3 commits into
feat/sentry-apps-alert-triggered-webhookfrom
feat/sentry-apps-alert-webhook-ui

Conversation

@sentry-junior

@sentry-junior sentry-junior Bot commented Nov 10, 2026 •

Copy link
Copy Markdown
Contributor

Stacked on #130569, which adds the backend alert.triggered webhook. Merge that one first.

This adds an Alerts row with a Triggered event to the webhook subscriptions on the Sentry App settings page.

  • The row only appears when the org has the sentry-app-alert-webhooks flag. Without it, SubscriptionBox doesn't render the row, which is how preprod_artifact was gated while it was flagged.
  • The row requires the app's Alerts permission (alerts:read), matching the backend. Alerts is optional in the Permissions type, so the no-access check now treats a missing Alerts value as no access. Otherwise the Alerts row would look enabled for apps that never set an Alerts permission.
  • In the request log, the workflow subject that alert.triggered records now shows as "Alert" and links to the alert details page.
  • The request log's event filter picks up alert.triggered on its own through granularWebhookEvents.

Tests: new cases in subscriptionBox.spec.tsx (row hidden or shown depending on the flag) and in resourceSubscriptions.spec.tsx (row disabled without the Alerts permission, enabled with Read). Typecheck and lint pass.

Visual QA was done on a local devserver running this branch with the flag enabled in dev config.

  • Flag off: no Alerts row, and the other rows look the same as before.
  • Flag on, Alerts set to No Access: the row shows but is disabled and dimmed, with the tooltip "Must have at least 'Read' permissions enabled for Alerts".
  • Flag on, Alerts set to Read: the row is enabled. Checking Triggered and saving returns a 201, and the box is still checked after a reload. The stored events are ['alert.triggered'] and the stored scopes are ['alerts:read'].
  • Creating an app with alert.triggered and only project:read is rejected with a 400.
  • The dashboard's event filter lists alert.triggered.
  • Not covered: actual webhook delivery.

via @dcramer.

--

View Session [Sentry]

sentry-junior Bot and others added 3 commits November 10, 2026 05:39
Show the alert resource and its alert.triggered event in the Sentry App
webhook subscriptions, behind the sentry-app-alert-webhooks flag. It
requires the Alerts permission, which matches the backend alerts:read
requirement.

Co-Authored-By: David Cramer <23610+dcramer@users.noreply.github.com>
Co-Authored-By: David Cramer <23610+dcramer@users.noreply.github.com>
alert.triggered deliveries record a workflow subject. Label it Alert and
link to the alert details page.

Co-Authored-By: David Cramer <23610+dcramer@users.noreply.github.com>
@sentry-junior
sentry-junior Bot force-pushed the feat/sentry-apps-alert-webhook-ui branch from b5cea07 to 5039ccb Compare November 10, 2026 05:40

This branch was successfully deployed

1 active (outdated) deployment
Preview — b5cea078 Deployed Nov 10, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Scope: Frontend Automatically applied to PRs that change frontend components

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant