Overview
A subscription matches Events by type and filter. A destination receives them as signed HTTP POSTs. Create both in one call withsubscriptions create, or attach a second subscription to an existing destination. Providers and custom URLs use the same model. Discover provider fields with dome webhooks providers list. Operating limits (body cap, rate, retention) are on Webhooks.
The typical workflow is:
- Create a subscription and optional filters.
- Test the destination, then verify signatures on custom HTTPS endpoints.
- Inspect attempt history and replay failures when needed.
- Rotate the signing secret when credentials change.
Requirements
Before you begin, authenticate to Dome and select a workspace.Permissions
Webhook operations require platform permissions. People and scoped API keys call the webhooks API. Agent credentials cannot. Most roles can inspect subscriptions and deliveries. Creating destinations, rotating secrets, and changing subscriptions needeventing.manage. Replay re-sends requests to your systems and can trigger downstream automation, so it uses a separate eventing.replay permission.
Create a subscription
Create a subscription and its destination atomically. A failed request leaves neither record behind. The response reveals the destination’swhsec_… signing secret once. Store it before moving on. It is only rotatable afterward, never readable.
On the API, pass either delivery_endpoint (create a new destination) or destination_id (attach to an existing one). Never both. Standalone destination RPCs (ListDestinations, CreateDestination, UpdateDestination, RotateDestinationSecret, DeleteDestination) support shared-destination setups. CLI and MCP create the destination inline with the subscription. The dashboard can also pick an existing destination.
Requires
eventing.manage.Filters
You can narrow which events deliver. An event must satisfy every filter that applies to its type. A filter constrains only event types that carry its field. Exact match* any run, ? one char, full-value match)
agent_name, connection_name (resolved from IDs at delivery time), agent_id, tool_name, plus each event type’s own filterable payload fields. The dashboard Event catalog marks them. Repeated keys OR. Distinct keys AND. Caps: 16 keys, 16 alternatives per key, 256-byte patterns with up to 8 wildcards.
Per-request security decisions (mcp.tool_call.completed, mcp.tool_result.filtered, llm.output.filtered, access.denied) are high volume. Point them at a log sink rather than a chat channel, and narrow with filters.
Test a subscription
Send a fixedeventing.test event through a subscription’s destination to verify signing, headers, and the destination’s own routing.
Requires
eventing.manage.- CLI
- MCP
- Agent
dome webhooks deliveries get <id>.Reference:
dome webhooks subscriptions testVerify a signature
Verify custom HTTPS deliveries with any Standard Webhooks library. Return2xx within 10 seconds to acknowledge. Acknowledge first, process async. Slow handlers time out and burn retry budget.
- Node.js
- Python
Inspect deliveries
Inspect delivery attempt history, including the retained body while it is available.Requires
eventing.view.- CLI
- MCP
- Agent
Failed deliveries in a time window:One delivery with attempt history and the retained body:
Reference:
dome webhooks deliveries list, getReplay deliveries
Replay one delivery or bulk-replay failures in a window. A replay creates a new delivery from the retained body (freshwebhook-id, same Dome-Event-Id) so consumers that dedupe correctly ignore the overlap. Bulk replay processes up to 500 deliveries per run. Repeat to continue. Canceled deliveries are never recovered.
Requires
eventing.replay.- CLI
- MCP
- API
- Agent
Replay one delivery:Bulk-replay terminal failures from the last 24 hours:Narrow by subscription and status:
replay-failed prints matched · replayed · skipped (body expired) · failed. It is safe to re-run: deliveries with a live or succeeded replay are not matched again.Reference:
dome webhooks deliveries replay, replay-failedRotate the signing secret
Rotate a destination’s signing secret without dropping deliveries. For 24 hours, thewebhook-signature header carries a signature per key (current first, previous second) so a consumer verifying with either secret keeps working. Update your verifier to the new secret within the 24-hour grace window.
Requires
eventing.manage.- CLI
- MCP
- Agent
whsec_…) with its key ID.Reference:
dome webhooks subscriptions rotate-secretNext steps
- Audit events for the durable record
- Export Data for scheduled batch export
- Stream Live Events for live Audit v1 streaming