Identifying Appointment Updates via Webhooks

I’m reaching out to seek guidance on mimicking Square’s notification system using Webhooks. Currently, we rely on SMS notifications to inform us about new appointments, as well as any updates made to existing appointments, such as adding or removing services.

To achieve a similar behavior using Webhooks, we’ve implemented a condition that triggers when the event type is “booking.updated.” However, I’ve encountered an issue where multiple notifications are sent whenever a payment is made, these notifications are for booking accepted. These notifications are misleadingly labeled as “booking updated,” which is not the desired outcome.

Ideally, I want to distinguish between two scenarios: when an appointment is genuinely updated by our team members or the customer, versus instances where a booking is accepted when payment is made without any changes to the appointment. My aim is to identify if an appointment was updated and, if so, determine the nature of the change (i.e., additions or removals), I understand that the appointment change may not be available based on this discussion but wanted to verify if anything has changed recently.

I have already examined the Webhook notifications, but I couldn’t find a clear distinction or identifying information to help me achieve this. Hence, I would greatly appreciate your guidance on how to differentiate between appointment updates triggered by our team or the customer versus those generated by payment activity. Additionally, I am interested in discovering what specific changes were made to the appointment.

Your expertise in this matter would be invaluable to our development process. Thank you for your time and assistance.

With appointments and bookings webhooks a payment can be made for reserving a booking with our 1st party app and that is an update to a booking which is why you get a booking.updated event. At this time there isn’t a way to distinguish between an update with a booking or a payment being made on a booking with the webhook event. If your keeping an instance of the booking in your database you could do a diff on the event to see is any services, status, or team members were updated. :slightly_smiling_face: