Skip to content

Add webhooks to the UI - #3320

Open
charliepark wants to merge 48 commits into
mainfrom
webhooks
Open

Add webhooks to the UI#3320
charliepark wants to merge 48 commits into
mainfrom
webhooks

Conversation

@charliepark

@charliepark charliepark commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

This PR adds the Alerting sidebar and the two tabs that nest under it, Alerts and Receivers. It also then shows the list of Receivers, all of which are Webhook Receivers for the present and near-term future. The webhook receiver creation form uses a richer input for the alert subscriptions that Ben created in #3326.

There's an Alerts list that @fakemonster is working on separately.

alerting - receivers alerting - receiver-new-1 alerting - receiver-new-2 alerting - alerts

@vercel

vercel Bot commented Aug 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
console Ready Ready Preview Sep 3, 2026 7:28pm UTC

Request Review

@hawkw hawkw left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the UI, it looks great! Let's try to keep the language consistent with the terminology we use in the documentation, API, and the CLI.

In particular, we should always say "alert" and "alert class" rather than "event" or "event class". In the API and public documentation, the term "event" is only used in the abstract (i.e. "Alerts provide a notification when an event has occurred in the system"); it's not the name of an object in the API. I think the only place where we refer to them as "events" is in RFD 538, which...should really be updated to reflect the terminology used in the product. My bad.

Also, I'd generally prefer to always refer to an endpoint that receives webhooks for alerts as a "webhook receiver", not a "webhook". Elsewhere, I've seen the term "webhook" used to refer to both the request itself and the thing that receives that request, which I think is a bit confusing, so I'd rather we use the terminology consistently.

Sorry for being persnickety about names, the UI looks awesome!

Comment thread app/pages/system/alerting/AlertReceiversTab.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiverPage.tsx Outdated
Comment thread app/pages/system/alerting/AlertReceiversTab.tsx Outdated
Comment thread app/pages/system/alerting/AlertsTab.tsx Outdated
Co-authored-by: Eliza Weisman <eliza@elizas.website>
Comment thread app/pages/system/alerting/AlertReceiversTab.tsx Outdated
@charliepark

Copy link
Copy Markdown
Contributor Author

I like the evolving audit-log-ish view.
Screenshot 2026-09-02 at 1 49 07 PM
Screenshot 2026-09-02 at 1 49 19 PM

@fakemonster

fakemonster commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

The audit log styling would give it more of the feel of a timeline of immutable events.

Agreed, this is where I had actually started, but since the audit log isn't merged yet, I opted to just do the basic thing here instead of straddling two branches. Once we've actually got the audit-log branch merged to main, we can/should hop over to it. Though perhaps as a separate PR? This seems awfully close to landing already, and if alerts is no longer the landing tab, it's not too much of a dead end. I can pick it up once I'm back in, I've already got a bit of a branch refactoring a common list component out of the audit log branch. Would be a good moment to introduce filtering by alert class

// alerts recorded by an earlier version of the system software.
label="Class version"
>
<Badge color="neutral">{alert.version}</Badge>

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I lean against badge here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants