Webhook Management
On the [Plugin & Integration Hub > Webhooks] page, you can register webhook endpoints that subscribe to CloudOps events — cloud account, resource, and cost — and deliver them to your services in real time.

Viewing Webhooks

The webhooks table lists every endpoint registered for the tenant.
| Column | Description |
|---|---|
| Name | Display name of the webhook. Click to open the detail page |
| Source Plugin | Plugin that owns the events this webhook subscribes to |
| State | Lifecycle state — Active, Disabled, Error, or Setting up |
| Requests (24h) | Number of incoming requests received in the last 24 hours |
| Created | Creation timestamp |
Search and Filters

| UI Element | Description |
|---|---|
| Search | Search by Webhook Name... |
| Source filter | All Sources / AWS SNS (CloudWatch Alarm) / AWS Health (PHD) / Grafana Alerting / Prometheus Alertmanager |
| State filter | All States / Active / Disabled / Error / Setting up |
| More menu (⋮) | Set Display (column visibility), Refresh |
Row Actions

Each row exposes an action menu (⋯) on the right edge with two items:
| Action | Description |
|---|---|
| Edit | Open the edit form (also reachable from the detail page) |
| Delete | Delete this webhook — see “Deleting a Webhook” below |
Bulk Actions

Selecting one or more rows reveals a floating bottom bar titled {count} webhook(s) selected · Ready for bulk actions. The single available bulk action is Delete. Each selection is deleted via individual API calls; partial failures are summarized via toast ({succeeded} deleted, {failed} failed.).
Creating a Webhook
The creation flow is a 4-step wizard: Source Plugin → Basic Info → Schema Mapping → Complete.
Step 1 — Select a Source Plugin
Click the [+ Create Webhook] button in the upper right corner. The page navigates to the Create Webhook wizard.

Choose the source plugin that will deliver events to this webhook:
| Source Plugin | Description |
|---|---|
| AWS SNS (CloudWatch Alarm) | AWS SNS notification으로 wrap된 CloudWatch alarm을 정규화 |
| AWS Health (PHD) | AWS Personal Health Dashboard 이벤트를 정규화 |
| Grafana Alerting | Grafana unified alerting webhook 이벤트를 정규화 |
| Prometheus Alertmanager | Prometheus Alertmanager webhook 이벤트를 정규화 |
Select a plugin and click [Next].
Step 2 — Basic Info

| Field | Required | Description |
|---|---|---|
| Name | Yes | Webhook display name. English letters, numbers, hyphens or underscores (3–64 chars) |
| Description | No | Optional description (max 256 characters) |
Click [Next] to proceed, or [Previous] to go back.
Step 3 — Schema Mapping
Configure how incoming event fields are mapped to CloudOps event schema. Mapping rules depend on the selected source plugin.
Step 4 — Complete
Review the configuration and click [Create] to save. The webhook appears in the list with Enabled state.
Webhook Detail Page

Click a row’s Name to open the detail page. Header actions:
| Action | Description |
|---|---|
| Back | Return to the management list |
| Edit | Edit name and endpoint metadata |
| Send Test Event | Push a synthetic event to verify the endpoint is wired up |
| Delete | Open the delete confirmation dialog |
The body of the detail page surfaces:
- Endpoint URL, headers, secret status
- Subscription filters and event types
- Recent delivery attempts with status code and timing
Deleting a Webhook
Open the delete dialog
Click Delete in either the row action menu, the detail page header, or the bulk bar.
Confirm

The dialog title is “Delete this webhook?” (or "Delete {count} webhooks?" for bulk). The body warns that incoming events will no longer be processed and that the action cannot be undone.
Click [Delete]
A success toast confirms the result (Webhook deleted. or Deleted {count} webhooks.). Bulk runs report partial failures via {succeeded} deleted, {failed} failed.