Skip to main content
Workflows can send Loyalty v2 events to your application through a Webhook callout action. When a configured Loyalty transaction or Loyalty activity triggers a workflow and the callout step runs, Voucherify sends an HTTP POST request to the target URL defined in that step. Workflows webhooks use the shared Voucherify webhook structure. For these webhooks, source.object is always workflow. source.id is the workflow definition ID. source.workflow identifies the definition version, node, run, and step. data.trigger is always the trigger that started the workflow. Later steps in the same run do not replace it. Each event reference page describes the Loyalty v2 event. Workflows send that event in data.trigger.

Webhooks available in Workflows

These webhooks are triggered by Loyalty v2 events that start a workflow. If the workflow reaches a Webhook callout action, Voucherify sends the event in data.trigger.

Transaction and activity payloads

Workflows supports two Loyalty v2 trigger types. They use the same top-level webhook structure but differ in data.trigger and event.

Loyalty transactions

For a Loyalty transaction:
  • type and event.type contain the transaction type, for example POINTS_EARNED.
  • data.trigger contains the transaction.
  • data.trigger.transaction.status contains the status matched by the workflow trigger, for example APPROVED.
  • event.id and event.entity_id contain the transaction ID.
  • event does not contain event_source.
Transaction statuses such as APPROVED, PENDING, and REJECTED are workflow trigger filters and values of data.trigger.transaction.status. They are not separate event types.
See Points earned for the event schema.

Loyalty activity

For a Loyalty activity:
  • type and event.type contain the activity type, for example vl.member.created.
  • data.trigger contains the activity.
  • event.id and event.entity_id contain the activity ID.
  • event.event_source describes how the activity was initiated, such as through the API, Client API, User Portal, or an internal process.
See Member created for the event schema.

Payload examples

These examples show the complete payload sent to your endpoint.
Last modified on September 25, 2026