Hey! Here is my appointment booking voice assistant. Here's how it works:
1. You can ask it to book an appointment on a specific date or on the current day (if there are available times).
2. You can ask it to find the next available times (outputting the first three available start time ranges) within the next 90 days.
There are some validations being doing as well to ensure everything runs smoothly:
1. It won't let you book an appointment for a past day or on a Sunday.
2. It won't let you book an appointment more than 90 days out into the future.
3. It won't let you book an appointment before 9 am or after 4 pm.
4. It won't let you book an appointment if not quarter-hourly (i.e. 0, 15, 30, or 45 minutes).
5. It requires a valid contact phone number with at least 10 digits.
6. During the booking, it revalidates the appointment time in case someone else on a concurrent call has already booked that time period.
7. Once appointment is booked, a SMS text confirmation message is sent to your real phone number (not the one stated by the user) with the appointment description and a google calendar link.
If any of the validations aren't caught via the AI front end, they are caught server side via the Make.com validations during the booking function call. I have included a 5 minute video where I go through various validation checks and then book an appointment.
In order to always reliably get the available appointment dates on a specific date or within the next 90 days and avoid overlapping booking times, I ended up creating custom methods using node.js modules and called through a Make.com API call. For this video, I am using Vapi, Make.com, custom node.js code, google calendar API, and Twilio for SMS messages.
Welcome any feedback and ways to improve 🙂 . Thanks for taking a look!