Skip to main content
Webhooks are HTTP callbacks that Omneo sends to a configured endpoint when specific events occur on the platform. They are the primary mechanism for keeping external systems in sync with Omneo data in real time.

What webhooks do

When a webhook is configured for an event, Omneo sends an HTTP POST request to the specified URL every time that event fires. The request body contains the Event Context for that event type.

Common webhook events

EventDescription
profile.createdA new profile was created
profile.updatedA profile’s data changed
transaction.createdA new transaction was recorded
reward.createdA reward was issued to a profile
benefit.createdA benefit was issued to a profile
tier.achievedA profile achieved a new tier
profile.mergedTwo profiles were merged

Webhook payload

The webhook body is the Event Context for the triggering event. Contexts include additional data beyond the standard API response, for example, a transaction context includes the profile’s aggregations and current incentive state, reducing the need for callback calls to fetch additional data.

Configuring webhooks

Webhooks are configured in CX Manager under Settings > Webhooks, or via the Webhooks API. Each webhook requires:
  • URL: the endpoint to receive the POST request
  • Events: which events to subscribe to
Each webhook can also carry a Condition, a JSON Logic rule that must pass before the event is delivered, and an Extra data template, a Twig template that merges additional fields into the payload. See the Webhooks dev guide for how to use both.

Webhooks vs Targets

WebhooksTargets
Payload formatStandard Omneo Event ContextCustom Twig template
Primary useSystem-to-system syncFormatted comms platform data
InvocationAutomatic on configured eventsVia reaction action (target.send)
Use webhooks when you need the full event context delivered to your system. Use Targets when you need a specifically shaped payload for a comms platform.

Delivery reliability

Each event is delivered once. Omneo does not retry failed deliveries, so ensure your endpoint returns a 2xx response to acknowledge receipt and reconcile against the API if you need guaranteed processing. See the Webhooks dev guide for delivery details.