Dome Systems

Webhooks

Subscribe to Dome events and deliver signed webhooks to your endpoints or off-the-shelf providers, with retries and replay

Webhook event_types use the same names as Audit schema-v4 operations (agent.suspend, tool.call, guard.filter.evaluate). There is no access.denied type; filter on result=denied instead.

Webhooks deliver selected workspace events as signed HTTP POSTs to your HTTPS endpoint or a provider. A subscription chooses which events to send. A destination receives them.

Refer to Webhooks for setup, signature verification, and the event catalog. Refer to Webhooks concept for how signed delivery works.

The surface is subscription-first: creating a subscription creates its delivery destination in the same call, and the destination's URL, headers, secret, and credentials are managed through the subscription tools. There are no standalone destination tools. All tools require workspace context.

Permissions

PermissionTools
eventing.viewsubscription_list, subscription_get, delivery_list, delivery_get, provider_list
eventing.managesubscription_create, _update, _disable, _rotate_secret, _test, _delete; delivery_cancel
eventing.replaydelivery_replay, delivery_replay_failed

Replay sends new outbound requests to your destinations and may trigger downstream automation — it carries its own permission, separate from manage.

Subscriptions

dome_webhooks_subscription_list

List event subscriptions in the active workspace, each with its delivery destination. No parameters.

Requires eventing.view.

dome_webhooks_subscription_get

Get an event subscription by name.

ParameterTypeRequiredDescription
namestringYesSubscription name
Requires eventing.view.

dome_webhooks_subscription_create

Create a subscription with its delivery destination and event selection, atomically. A failed request leaves neither record behind. The response includes the destination's signing secret once — it is only rotatable afterward, never readable.

ParameterTypeRequiredDescription
namestringYesSubscription name (unique within workspace)
event_typesstring[]YesEvent types to subscribe to (e.g. ["agent.suspend"])
endpoint_urlstringOne ofCustom HTTPS delivery endpoint. Set this or provider.
providerstringOne ofProvider key from dome_webhooks_provider_list. Set this or endpoint_url.
settingsobjectNoProvider non-secret settings (key → value)
credentialsobjectNoProvider credentials (key → value). Stored write-only.
filtersobjectNoPer-key predicates — refer to Filters
headersarrayNoCustom-URL headers: [{"name", "source": "literal"|"secret", "value"}]. Secret values are write-only, masked on read.
content_formatstringNoCustom-URL body shape: object (default) or array

endpoint_url, headers, and content_format are custom-URL only — combining them with provider errors before any state change.

Requires eventing.manage.
Example tool call
{
  "name": "dome_webhooks_subscription_create",
  "arguments": {
    "name": "security-alerts",
    "endpoint_url": "https://ops.example.com/hooks/dome",
    "event_types": ["agent.suspend", "agent.revoke"],
    "filters": { "result": "denied", "agent_name": ["checkout-worker", "billing-worker"] }
  }
}

Filters

The filters object keys on a field name — envelope keys stage, result, denial.reason, and error; payload keys agent_name, connection_name (resolved from IDs at delivery time), agent_id, tool_name; or any filterable payload field. Values:

Value formMeaning
scalarExact match
arrayOR across alternatives
{"like": "<glob>"}Glob — * any run, ? one char, \ escapes. Matches the full value, case-sensitive.

An event delivers only if it satisfies every filter that applies to its type.

dome_webhooks_subscription_update

Update a subscription's events, filters, state, or delivery destination. Only supplied fields change.

ParameterTypeRequiredDescription
namestringYesCurrent subscription name
new_namestringNoNew name
event_typesstring[]NoReplace the full event-type set
filtersobjectNoReplace the full filter set; pass {} to clear
activebooleanNoEnable or pause fanout. No backfill on resume.
endpoint_urlstringNoNew custom HTTPS endpoint URL
endpoint_activebooleanNoEnable or disable the destination itself
headersarrayNoReplace custom headers; [] clears them. Blank secret values keep the stored secret.
remove_headersstring[]NoHeader names to remove
content_formatstringNoobject or array. Custom URL only.
settingsobjectNoReplace the full provider settings set
credentialsobjectNoMerge write-only provider credentials
Requires eventing.manage.

dome_webhooks_subscription_disable

Stop new fanout. Delivery history is preserved.

ParameterTypeRequiredDescription
namestringYesSubscription name
Requires eventing.manage.

dome_webhooks_subscription_rotate_secret

Rotate the signing secret for the subscription's destination. The new secret is revealed once. During the grace window the webhook-signature header carries a signature per active key.

ParameterTypeRequiredDescription
namestringYesSubscription name
Requires eventing.manage.

dome_webhooks_subscription_test

Send a fixed eventing.test event through the subscription's destination. Verifies signing, headers, and the destination's own routing end-to-end.

ParameterTypeRequiredDescription
namestringYesSubscription name
Requires eventing.manage.

dome_webhooks_subscription_delete

Delete the subscription: new routing stops and pending deliveries are canceled. Delivery history is preserved.

ParameterTypeRequiredDescription
namestringYesSubscription name
Requires eventing.manage. Destructive.

Deliveries

dome_webhooks_delivery_list

List deliveries in the active workspace, optionally filtered.

ParameterTypeRequiredDescription
subscription_idstringNoNarrow to one subscription
destination_idstringNoNarrow to one destination
event_typestringNoNarrow to one event type
statusstringNoOne of created, enqueued, delivering, retry_scheduled, succeeded, failed, canceled, expired, dlq
event_idstringNoEvery delivery for one source event
start_timestringNoInclusive RFC3339 lower bound
end_timestringNoInclusive RFC3339 upper bound
limitnumberNoPage size (0 = server default)
page_tokenstringNoCursor from a previous call
Requires eventing.view.

dome_webhooks_delivery_get

Get a delivery with its attempt history.

ParameterTypeRequiredDescription
delivery_idstringYesDelivery ID (UUID)
include_bodybooleanNoInclude the delivered webhook body while retained — up to 30 days, or 24 hours after a successful delivery.
Requires eventing.view.

dome_webhooks_delivery_replay

Replay a delivery. Creates a new delivery from the retained body — fresh webhook-id, same Dome-Event-Id — and sends another request to the destination. It may trigger downstream automation.

ParameterTypeRequiredDescription
delivery_idstringYesDelivery ID (UUID) to replay
Requires eventing.replay.

dome_webhooks_delivery_replay_failed

Bulk-replay terminally-failed deliveries in a time window — the outage-recovery counterpart to delivery_replay. Safe to re-run: a delivery with a live or succeeded replay is not matched again, and canceled deliveries are never recovered.

ParameterTypeRequiredDescription
sincestringYesDuration back from now (24h, 7d) or RFC3339 timestamp. Within the last 30 days — the body-retention horizon.
subscriptionstringNoNarrow to one subscription name. Omit for all.
untilstringNoRFC3339 upper bound. Defaults to now.
statusesstring[]NoSubset of failed, expired, dlq. Default all three.
maxnumberNoDeliveries per call, up to 500. Repeat to continue.
Requires eventing.replay.
Example tool call
{
  "name": "dome_webhooks_delivery_replay_failed",
  "arguments": {
    "since": "24h",
    "subscription": "security-alerts",
    "statuses": ["failed", "dlq"]
  }
}

Returns matched, replayed, skipped (body expired), and failed counts.

dome_webhooks_delivery_cancel

Cancel a delivery's pending retry so no further outbound request is sent.

ParameterTypeRequiredDescription
delivery_idstringYesDelivery ID (UUID) to cancel
Requires eventing.manage. Destructive.

Providers

dome_webhooks_provider_list

List the off-the-shelf provider catalog: each provider's setting and credential fields, recommended event bundle, and authentication style. Call before dome_webhooks_subscription_create with provider to discover the required settings and credentials. No parameters.

Requires eventing.view.

Dashboard-only views. Delivery statistics live in the dashboard's Webhooks page. The event catalog is also available via dome audit catalog and MCP dome_audit_catalog_*. Agents list, inspect, and replay deliveries through the tools above.

Next steps

Create destinations and subscriptions from Operate:

On this page

Was this page helpful?