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 indata.trigger.
Loyalty transactions
Loyalty transactions
- Card transactions:
- Order transactions:
- Tier transactions:
- Reward transactions:
- Benefit transactions:
Loyalty activity
Loyalty activity
-
Program events:
- Program created
- Program updated
- Program deleted
- Program activated
- Program deactivated
- Program card definition assigned
- Program card definition unassigned
- Program earning rule assigned
- Program earning rule unassigned
- Program reward assigned
- Program reward unassigned
- Program reward updated
- Program tier structure assigned
- Program tier structure unassigned
- Card definition events:
- Earning rule events:
- Reward events:
- Benefit events:
- Tier structure events:
- Member events:
- Card events:
Transaction and activity payloads
Workflows supports two Loyalty v2 trigger types. They use the same top-level webhook structure but differ indata.trigger and event.
Loyalty transactions
For a Loyalty transaction:typeandevent.typecontain the transaction type, for examplePOINTS_EARNED.data.triggercontains the transaction.data.trigger.transaction.statuscontains the status matched by the workflow trigger, for exampleAPPROVED.event.idandevent.entity_idcontain the transaction ID.eventdoes not containevent_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.Loyalty activity
For a Loyalty activity:typeandevent.typecontain the activity type, for examplevl.member.created.data.triggercontains the activity.event.idandevent.entity_idcontain the activity ID.event.event_sourcedescribes how the activity was initiated, such as through the API, Client API, User Portal, or an internal process.

