Webhooks

Receive platform events at your own HTTPS endpoint — what a delivery contains, how to register an endpoint in Cockpit, and what is not available yet.

A webhook delivers platform events to your own infrastructure. You register an HTTPS endpoint and pick the topics you care about; from then on, the platform POSTs each matching event to your URL as JSON. This is how systems outside Revenue Cloud — an ERP, a data warehouse, a notification service — react to what happens on your tenant without polling the API.

If the reaction belongs inside the platform instead, handle the event from an App and skip webhooks entirely. Webhooks are for code you run yourself.

You can't verify a delivery's signature yet. The platform signs every delivery with a per-endpoint secret, but Cockpit does not show that secret, and no public API returns it. Until it does, treat a delivery as a notification rather than as trusted data: re-read the entity through the API before you act on it. Security has the scheme, ready for when the secret is available.

How it works

  1. You register an endpoint in Cockpit: an HTTPS URL plus the topics it should receive.
  2. When a subscribed event occurs, the platform POSTs the event's data object to your URL as the JSON body. The event's id and topic travel as headers, not in the body.
  3. Your endpoint processes the event and returns a 2xx within 5 seconds. A status of 400 or above, a connection error or a timeout counts as a failure, and the platform retries.
A delivery
POST https://hooks.acme.example/revenexx
Content-Type: application/json
X-Revenexx-Event-Id: evt_01jc8m4yq2…
X-Revenexx-Topic: <topic>
X-Revenexx-Timestamp: 2026-05-31T10:00:00Z
X-Revenexx-Signature: v0=9f86d081884c7d659a2feaa0c55ad015a…

{ "order_id": "7f3a9c1e-…", "number": "ORD-000123", "status": "placed", "currency": "EUR", "grand_total": 245.02, "item_count": 12, "items": [ … ], "cart_id": "…", "placed_at": "2026-05-31T09:59:58Z", … }

The body above is an abbreviated order.placed. Each event type's full data, with a sample, is in your tenant's event catalog (Event types).

Registering an endpoint

Endpoints are managed per tenant in Cockpit, under Integration Studio → Webhooks → Outbound. You provide:

  • URL: an HTTPS endpoint you control, which answers with a 2xx within 5 seconds. Cockpit does not reject an http:// URL, so check the scheme yourself.
  • Topics: which event types this endpoint receives, picked from the list Cockpit shows, or all of them. Subscribe to exactly what you need.

After that you can change an endpoint's URL and topics, switch it off and on, and delete it, all in Cockpit. You can register several endpoints per tenant. An endpoint that is switched off receives nothing, and switching it back on does not resend what it missed. Its page lists every delivery attempt; see Delivery.

Not available yet: custom headers on a delivery, a test or ping action, and an API for managing endpoints. Everything on this page happens in Cockpit.

What's in this section

  • Delivery — what your endpoint must return, the retry schedule, ordering, and the delivery attempts in Cockpit.
  • Security — the signature scheme with code samples, what to do until the signing secret is available, and replay protection.

Where to go next

Was this page helpful?