Skip to Content
OpenETL
ReferenceResource specs

Webhook

Every field of a Webhook document, including required signing secrets and optional pipeline filters.

Edit on GitHub

A Webhook sends selected platform events to your HTTP endpoint. It belongs to a workspace. Events and webhooks covers resource setup. Receive and verify webhooks covers signatures, retries and key rotation.

The document

FieldTypeRequiredDefaultMeaning
apiVersionstringYes—openetl.io/v1alpha1
kindstringYes—Webhook
metadata.namenameYes—Lowercase letters, digits and hyphens, at most 63 characters, starting and ending with a letter or digit
metadata.workspacenameNoThe CLI's --workspace, otherwise defaultThe workspace the resource belongs to
specobjectYes—The fields below

Fields that aren't listed are refused. Required applies within the containing object; an optional object may be omitted, but its required children must be set when you include it. Default describes what omission means.

spec

FieldTypeRequiredDefaultMeaning
urlHTTP or HTTPS URLYes—The receiving endpoint. It must have a host and no username or password in the URL.
eventsnonempty list of stringsYes—Event types or globs, such as sync.failed, schema.* or *. See platform events.
pipelineslist of namesNoAll pipelines and workspace eventsSend only events for these pipeline names. Names follow the same rules as metadata.name.
secretslist of secret namesYes—One to three distinct secrets in the same workspace. Each holds a signing key: whsec_ followed by standard base64 encoding of 24 to 64 key bytes. Cloud-secret references are not supported. All configured keys sign each delivery, allowing rotation.

The secrets must exist when you apply. Outbound requests are subject to the server's network settings. A receiver must verify the signature and deduplicate by webhook-id.

apiVersion: openetl.io/v1alpha1
kind: Webhook
metadata:
  name: ops-alerts
spec:
  url: https://hooks.example.com/openetl
  events: ["sync.failed", "incident.*"]
  secrets: [ops-alerts-key]

examples/webhook.yaml is a complete document you can adapt. Create its signing secret before applying it.

On this page