Skip to main content
Each event has a wire name (the event field in the envelope, e.g. webinar.created) and an enum name used when creating subscriptions (e.g. WEBINAR_CREATED). Subscribe using the enum name; match on the wire name in your receiver. Every event type below is a webinar event. Scheduled studio sessions do not emit webhooks — to track those, use Get Events, which returns sessions and webinars alike.
The payloads below show the data object of the envelope. Test events (fired via sendTestEvent) carry the same shape with an added "test": true marker and obviously synthetic values, so you can build and validate your parser without a real webinar.

Webinar events

webinar.created, webinar.started, and webinar.ended share a common webinar shape. started adds actual_start_time; ended adds actual_end_time and attendee_count.
The webhook payload and Get Events describe the same webinar with different field names: titlename, scheduled_start_timestart_time, scheduled_end_timeend_time. registration_url is the same link on both surfaces.
data (webinar.ended)

Registrant & attendee events

registrant.created, attendee.joined, and registrant.did_not_attend share a common registrant shape. attendee.joined adds joined_at and sets participated: true; registrant.did_not_attend sets participated: false with a zeroed attendance.
data (attendee.joined)