<webhook>

<webhook> exposes a static HTTP route that validates a request and durably admits a workflow run.

Why use it

Use it when another application needs to start a workflow over HTTP and receive an immediate durable run ID instead of waiting for execution to finish.

Common use cases

  • Receive order or billing events from an application.
  • Expose a bearer-protected automation endpoint.
  • Reject malformed ingress with inline JSON Schema.

Syntax

WOML
<webhook
  id="newOrder"
  path="/webhooks/orders"
  method="POST"
  auth="bearer"
  secret="{{secrets.ORDER_WEBHOOK_TOKEN}}"
>
  <schema>
    { "type": "object", "required": ["orderId"] }
  </schema>
</webhook>

Rules and behavior

  • id, path, and auth are required.
  • auth is bearer or explicitly insecure none; bearer requires an exact secret reference.
  • Executable v1 ingress uses POST.
  • Paths are static and absolute; parameters, wildcards, repeated slashes, and /_woml are forbidden.
  • The optional schema uses JSON Schema Draft 2020-12.
  • The request body limit is 1 MiB. Accepted requests return HTTP 202 with a durable run ID.