Pro feature. Available in Learnomy Pro, with the Webhooks Pro extension on.
Every event Learnomy Pro delivers, and the exact JSON a subscriber receives. Use this to build a
Zap, map WPFusion fields, or wire a BuddyNext membership sync without reading any PHP.
data is always a JSON object, never an array - for every event, without exception. A field
that is sometimes a list and sometimes a map cannot be mapped reliably, and Zapier will not offer
the fields at all.
version is bumped whenever the shape changes, so a consumer can detect a change rather than
silently mis-mapping. Version 2 is the first named-field release; version 1 was a positional array
and is no longer emitted.
Entity ids are always <entity>_id, never a bare id, so the same concept has the same name
in every event.
If an event ever delivers an argument this reference does not name, it arrives as arg_<n> rather
than being dropped. Seeing arg_5 in a payload means this table needs updating - please report it.
Every purchase emits purchase.completed regardless of what was bought. Filter on the
purchase_type field (course, membership, learning_path, gift, space, space_seats)
rather than subscribing to a per-type event - there is one event and one named field, so
“when someone buys a Space plan” is a single condition in Zapier.
Access a store, a membership plugin or an automation gave through Access Grants
(see the Access Log). These are never payments: no payment.completed fires for
a grant, so a recipe that turns payments into orders cannot loop. Sent once per
grant, not on a retried request. Available in Learnomy and Webhooks Pro.
Event
data fields
access.granted
grant_id, user_id, item_type (course, membership_plan, and with Pro learning_path, space, cohort), item_id, source (the store, e.g. woocommerce, webhook), external_ref (the store’s order or membership id).
access.revoked
the same, plus reason (refunded, cancelled, expired, revoked, removed_by_admin) before external_ref.
The person also gets the usual enrollment.created / enrollment.cancelled
for each course they actually gain or lose, with sourcegrant. Filter on
source or external_ref to ignore your own echoes.
refund.partial_revocation is the one to subscribe to if you automate refunds. It fires when the
money went back but something it bought could NOT be taken back - canonically a gift code a third
party has already redeemed, who legitimately keeps their membership. notice carries the
owner-facing explanation. Before 1.9.4 this was shown only to the admin who clicked Refund, on that
one screen, so an owner refunding through an integration never learned about it.
Generated from Webhooks_Pro\Extension::get_event_fields(), which derives its names from each
hook’s own do_action() signature. Regenerate after changing that map so this reference and the
delivered payload cannot drift apart.