Appearance
Connect a Webhook Consumer to Relayter
A Webhook Consumer receives Relayter events at an endpoint in your system. You can route different event types to the same HTTPS URL or to separate URLs.
Create the connection
- Go to Team settings → Connections.
- Click Add connection.
- Enter a connection Name.
- Select Webhook Consumer as the Connection type.
- Optional: add receivers who should receive connection updates.
- Save the connection.
Relayter generates a Consumer Secret and Consumer Authentication value. Use these values to verify requests sent to your endpoint, and store them as credentials.
Add an event
- Open the connection and click Add event.
- Select the Relayter Event your system should receive. Available events are:
CAMPAIGN_CREATED— A new campaign was createdBRIEFING_ITEM_CREATED— A new briefing item was createdBRIEFING_ITEM_UPDATED— An existing briefing item was updatedPRODUCT_UPDATED— An existing product was updatedASSET_CREATED— A new asset was createdASSET_UPDATED— An existing asset was updated
- Enter the HTTPS Endpoint to which Relayter should post the event.
- Set the event Status:
- Enabled — Relayter will send events to this endpoint.
- Disabled — Relayter will not send events. You can optionally provide a reason for disabling.
- Save the event.
Event status
- Enabled — Relayter actively sends events to this endpoint.
- Disabled — Relayter does not send events. You can manually disable an event at any time.
- Unhealthy — Relayter stopped sending events after repeated delivery failures. An event can become Unhealthy for these reasons:
- Retry limit exceeded — The endpoint did not respond successfully after multiple retry attempts.
- Terminal HTTP error — The endpoint returned an HTTP error that is not recoverable (e.g., 404, 410, 403).
- Terminal transport error — A network condition prevented reaching the endpoint (e.g., DNS failure, host unreachable).
- Internal error — An unexpected error occurred while trying to deliver the event.
To resume delivery of an Unhealthy event, you can manually re-enable it from the connection details page.
Verify incoming requests
Relayter sends each event as a JSON POST request with these headers:
| Header | Use |
|---|---|
Authorization | Bearer token containing the Consumer Authentication value. |
WebHook-Request-Origin | Identifies the Relayter event source. |
WebHook-Request-Timestamp | Request time in milliseconds. |
WebHook-Request-Signature | Hex-encoded HMAC-SHA256 signature. |
To verify the signature, concatenate the exact JSON request body, a period, and the timestamp header value. Calculate an HMAC-SHA256 digest using the Consumer Secret and compare its hexadecimal value with WebHook-Request-Signature.
text
signed message = <exact request body>.<Webhook-Request-Timestamp>Use a timing-safe comparison in your application. Also verify the bearer token and reject timestamps outside the age your integration permits.
Respond to Relayter
Return a response promptly. Relayter accepts 200, 201, 202, and 204 responses:
200(OK) — Delivery accepted and processed.201(Created) — Delivery accepted and processed.202(Accepted) — Delivery accepted for asynchronous processing. Use this when you have accepted the event but have not yet finished processing it.204(No Content) — Delivery accepted and processed.
Read the payload
The request body contains a CloudEvents-style envelope with the event data. See Understand Webhook Event Payloads for the envelope, product payload, assets, exports, and expiring file URLs.