SavvyCalS
SavvyCal
Dec 6

Improved webhooks for group events: systematic inclusion of event_id and attendee_id in cancellation and rescheduling payloads

Context : My system relies on the SavvyCal API to synchronize bookings, cancellations and rescheduling with my database. Current problem : The webhooks event.attendee.cancelled and event.attendee.rescheduled do not simultaneously provide the following two identifiers in their payload: event_id (to identify the group event) attendee_id (to identify the participant concerned) Consequence: Impossible to update my database reliably when : A participant cancels his/her participation in a group event. A participant postpones his/her participation to another slot in the same event. Case in point: A group event "Maths lesson" (Event_123) has 6 participants (Attendee_A, Attendee_B, etc.). Attendee_B cancels her participation → The webhook event.attendee.canceled is triggered, but I can't link this cancellation to Event_123 unambiguously, as the event_id is missing from the payload. Result: My database can't be updated automatically, generating billing and tracking errors. Solution requested: Modify the payloads of the following webhooks to always include : event_id (group event identifier) attendee_id (participant identifier) Ideal payload for event.attendee.canceled : { "event": { "id": "Event_123", // ← Addition required "title": "Math class - Group A" }, "attendee": { "id": "Attendee_B", // ← Already present "email": "bob@example.com", "name": "Bob Jones" }, "timestamp": "2025-12-06T12:00:00Z", "action": "cancelled" } Ideal payload for event.attendee.rescheduled : { "original_event": { "id": "Event_123" // ← original_event }, "new_event": { "id": "Event_456" // ← New event (if applicable) }, "attendee": { "id": "Attendee_B", // ← Participant involved "email": "bob@example.com" }, "timestamp": "2025-12-06T12:00:00Z", "action": "rescheduled" } Why this enhancement is critical: Accuracy: Avoids reliance on email (unreliable for tracking). Automation: Enables error-free synchronization with external systems (CRM, billing, etc.). Consistency: Aligns these webhooks with the existing API schema (current documentation). Expected impact: Solves the problem for all users managing group bookings with individual tracking. No break in compatibility (addition of fields only).
ClosedClosed

Dec 6, 2025

The id field is always included on both event and attendee payloads in our API and webhooks, so the “addition required” field you mentioned should already be present. It might be that the system you're using to ingest the webhook is stripping or not parsing that field correctly. If you'd like, we can continue troubleshooting this over support email.