Skip to main content
Register a webhook subscription to receive Linq v3 event payloads over HTTPS.

Register a receiver

Receive the Linq envelope

Relay sends Linq’s current v3 webhook shape directly. Relay’s prefixed IDs are the field values because Relay owns those records, but the field names and nesting follow Linq.
See Event types for each event-specific data object.

Verify every request

Relay uses the same Standard Webhooks headers Linq documents: Compute HMAC-SHA256 over the exact UTF-8 value:
Decode the base64 value after whsec_ before using it as the HMAC key. Verify the raw bytes before JSON parsing, reject timestamps more than five minutes old, and compare signatures in constant time.

Acknowledge before processing

Persist the verified event and return any 2xx within 10 seconds. Run model and tool work after the acknowledgement. A successful message.received delivery advances the agent’s delivered watermark. Delivery is at least once. Store webhook-id as a unique key, return 2xx without repeating side effects for a duplicate, and derive outbound message IDs from event_id so redelivery cannot create a duplicate reply. Retries use exponential backoff with jitter and dead-letter after 10 attempts.

Manage subscriptions

Deleting or disabling the last subscription stops external event delivery. There is no second Relay event-delivery protocol to switch to.

Supported events

Ignore unknown event types so adding a Linq event does not break your handler.

Next steps