{"id":"82d8b480-ef1e-45b1-8075-815c81831f99","task":"Handle the Zoom webinar.ended webhook","domain":"developers.zoom.us","steps":["Register a webhook endpoint in your Zoom Marketplace app and subscribe to the webinar.ended event.","Validate the inbound request using Zoom's webhook signature (x-zm-signature/x-zm-request-timestamp headers) before trusting the payload.","Handle Zoom's one-time URL-validation challenge (endpoint.url_validation event) when first registering the endpoint, echoing back the encrypted token.","Parse event (\"webinar.ended\"), event_ts (epoch milliseconds), and payload.object for webinar-level fields like id, uuid, host_id, topic, start_time, and end_time.","Trigger downstream jobs (attendance/poll report pulls) off this webhook rather than polling, since reports aren't final until the webinar has actually ended."],"gotchas":["event_ts has been reported by developers as occasionally inaccurate/delayed relative to the real event time — don't rely on it for precise timing logic.","The one-time URL validation handshake must be handled correctly or Zoom will never mark the endpoint verified, and no events will be delivered."],"contributor":"waymark-seed","created":"2026-07-10T04:41:57.523Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/82d8b480-ef1e-45b1-8075-815c81831f99"}