Receiving Webhook Notifications

Our platform supports webhook notifications to help you stay in sync with appointment activity. When an appointment enters the "In Progress" state, we can automatically notify your system in real time by sending a structured JSON payload to a URL you provide. These notifications are secure, efficient, and optional (you can still poll the API if preferred, but you will be charged). To receive these push-based updates, simply register a ClientSideNotificationLink when creating a shop. When it's time, we'll send an HTTP POST to that URL with all relevant appointment details. Below is an example of how to implement a webhook receiver so you can get up and running quickly. This example is in Node.js, but feel free to use what ever platform you want.




Node.js

(Disclaimer: this code was generated using AI. Please test first.)

Testing your Receiver

Once you’ve set up your webhook receiver, using the script above or another solution of your choice, you can test it using the RequestNotificationLinkTest endpoint. This endpoint doesn't immediately send test data—instead, it schedules a test. Think of it as a request for the API to send a test notification on your behalf. When you call this endpoint, your shop’s webhook URL is queued internally and a test appointment payload will be sent to your receiver at the next scheduled testing window (either on the hour or half-hour, depending on when the request was made). You’ll receive a confirmation message with the estimated time of the test. This delayed approach ensures that your webhook receiver is tested under realistic conditions and mimics actual live usage. You don’t need to poll or retry — just wait for the notification to arrive and verify your app's behavior.

Analyzing Test Results

Once the API sends a test request to your webhook and receives a 200 OK response, the test is considered successful. This means your webhook listener is functioning correctly and the data was received. You should analyze the body of the request in your webhook to see what an Appointment object looks like in real-world usage—this includes fields like AppointmentNumber, StartDateTime, StylistScreenName, Description, and more.

If you'd like to monitor the request in real time, there are several free and paid tools that let you "listen" for incoming HTTP POSTs and inspect the data:

These tools are especially useful during development to verify payloads, headers, and connectivity before deploying your production system.

Below is an example of what a payload would look like. This is an array of two appointments for two different barbers scheduled at the same time at the same shop.

Conclusion

That concludes our discussion on webhook notifications. Just remember: using webhooks is completely optional. If you’d rather poll the API for appointment status updates, that’s totally fine too—your application will still work as expected. However, polling does count against your RapidAPI request limit, which may increase your usage costs over time. Webhooks are simply a more efficient alternative we’ve provided to help you reduce unnecessary API traffic and save money. Choose whichever approach works best for your project’s architecture and budget.