Vapi Voice Assistant Guide: Book Appointments with Cal.com and Make.com - [Part 2]

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
hello ladies and gents I'm going to go through the demo first just to show you what the assistant can do and then we'll get into the whole make.com setup hello this is Ellen you've reached henrik's agency how can I help hey how are you I'm good thank you and how can I assist you today I wanted to buy a car for $1 well I mean that sounds like a steal but unfortunately I'm here to help with booking appointments with Henrik who's an AI an automation consultant are you looking to book a consultation with him can we book at 1:00 p.m. on Tuesday this will just take a sec H it seems that Henrik is unavailable at 1:00 p.m. on Tuesday I do have slots available at 7:00 a.m. 8:00 a.m. and 9:00 a.m. though would one of these times work for you yeah that works uh can we do 8: a.m. could you please provide me with your name and email to finalize the booking yeah can you my name is Henrik and my email is hmail.com hold on a sec perfect hendrik your appointment with Henrik is booked for 8:00 a.m. on Tuesday you'll receive an email confirmation shortly at HG gmail.com is there anything else I can help you with oh that's it great thank you absolutely no problem at all hendrik don't hesitate to reach out if you need further assistance enjoy the rest of your day so I we're going to go through my make.com setup all right so I had to use the headset because when I was having my phone next to the microphone I was getting interference here uh so that's why the headset uh but it'll work the same with a phone just like per my first video so uh if you guys recall last video I said we'll go through the make.com setup uh I'll show you there's actually three different versions of it and there is the version one then there is version two which is the one I just used in the in the demo and then there is version three that I've been working on it's actually taken me a while longer uh to do this video because of that I am going to show you guys version two which worked better and the reason being is in the AP documentation there's actually a thing called slots and Slots what it does is it gets the users uh all of bookable slots between a date to time range and what that means for us is that between a specific time that you give it and an end time that you give it it actually follows that structure instead of going to the left and right that was the main issue in the first setup so instead of using slot availabilities we're going to use slots for our second version version and then then the response specifically sticks to uh that day so see like that's the 13th so sticks 13th and doesn't go outside the range which is great um so now let's go to the I'll put this into the description as well so you guys can follow along with that uh essentially I might actually jump to the HTTP node just so you guys know what I'm like because I'm talking about it now um so I've just changed it to slots uh I've kept everything here that I've used before my user ID from video One start time is that the end time is this and the great thing about it is that um when I get my output it essentially is all the slots that are available for that day so in my scenario I have 16 hours where I can be booked in for and on that Tuesday as you guys saw on the call I've only got two uh busy times which is 1:00 p.m. and 5:00 p.m. uh so that means I got 14 other hours where I can be free so now now that we know how this works and what the idea is and what we what we're using here let's now go to the start and the prompt here is uh GP 2.4 preview and I've just T some context so we have just asked the user when they would like to book a meeting you will be prived with the current date and their response instructions you must output the start and end time and Json format output example uh the rules must always be 5:00 a.m. now this is 5:00 a.m. instead of 7 a.m. where I usually start uh it's because again it was moving uh Back 2 hours so it was going forward 2 hours to make up for the uh time difference so then I had to put it back uh 2 hours and then this is what uh is actually getting put into it first and then this is happening uh next so the thing that's happening here is that we are given it again the time so it knows what's happening so it shouldn't book into the past uh and this is when the user would like to book and what we do is then go into here go function parameters times and then select that and this pops up I've chosen 350 tokens temperature is low uh and I have chosen the Jason object as the output haven't actually tested it if maybe I could get rid of this instruction um and might not even need this and we just output it in Json anyway um to be honest I I've spent so much time to make.com for past few days um to be it works right now so I'm just happy as is um so what we're doing here is we're doing the same thing as as before passing it getting the end and start time uh we are putting it into our HTTP request and then from here this is uh where it gets a little bit trick tricky so the idea is that when we get to this point when these two branches uh have 16 here because um I have 16 possible hours where I can be free so what I've said is if the result from this is equal to or greater than 16 that means I'm available for the whole day and what then gets sent to VY is that all time slops are available for that day between 7 and 11: p.m. and if I'm not so if I've got a slot busy it will do then this so instead of using up tokens it's a little bit more efficient so if the numeric operators less than 16 so I have a busy slot uh what will then happen is uh it will go through this so I'll just before we get to this like Branch let's go to the steps here so the issue is that in this scenario what I had to do was to uh map the data and the times but what actually happens is that this part here is different each time so you can't select this node right here so you can't do that because the uh 2024 0514 will be different in the next run cuz a person might ask not for the Tuesday for the for the next day so now be the 15th and all of a sudden now this variable now doesn't exist and it can't use it so what we had to do was to uh set up a variable where it will format the start time to to this uh so the months so the years the months and the days it will format to that without the time so the hours and the minutes and what will then happen then is and it will set it to this variable called day and then what you can do is you can use a get function and uh put the data slots uh time in there which is so you can put the data slots in there which is uh these two and this next part is the is the day that we're given it so it will be whatever this is then this is like that day is this guy right here it's this one right here so it will iterate over all the like all the free uh available times there and and what then happens is uh this then node uh what it does is it counts how many of the bundles there are in this in this iterator so in this particular case that we had there are 14 bundles that means I got two busy slots and then that means that I got a busy slot at 1:00 p.m. and 5:00 p.m. which is what you guys saw in the calendar uh and then uh what I did here was to actually get all the I had to transform all the J all this again back into Json put it into uh this prompt right here so the prompt is uh the data the context I'm just going to like leave it here for a sec so you guys can just copy it instructions the output example and you could also have it set up differently at the moment I've got it set up like this and I've got the ignore the plus two completely because uh all these uh when it gets chucked through llm it'll actually change it instead of being N9 it will change it to 11 so you've got to tell it just to ignore it so it won't add the two extra hours onto the 9 so it won't be 11:00 um and it just leaves it as so if you guys have a look there's actually an empty slot between these two the 12 and the four so that means there's an empty slot there and it extracts that spy slot and then puts it into into here show you how the booking actually works so uh normal web Hook from our vapy setup so it's from our booking function and we need to name the the email decided time uh and then I think I did actually change it let me go on it yeah so I said the available booking date and time that was chosen during the call for example 10 a.m. the Sunday uh and then what happens is we are using GPT 4 I've chosen the assistant here I'm not doing anything extra Uh current time again message so whatever came through so the decided time here comes true and what I've done is Taken 2 hours away from the time again for time zone reasons so if you're in G uh GMT plus 2 like I am you would then take 2 hours away if you are -7 say in the US then you then this would even be plus 7 for you and then the output time is this so that's the start time um and then the output start time must be past the current time usually the closest Day mentioned I did put that in there you guys can change the quing on that press okay uh and then we're using the same idea we're just passing the Json here just to get that split up into two objects and the request that we are making is uh this one here uh AP key is the same in the parameters I've chosen body type as raw uh content type as Json uh and this is the whole uh thing that we are sending to uh cal.com to book our meeting so we need the start time which is here uh we need the name of the prospect of the lead uh the email of the lead uh and I will put this for you guys in the description so you don't have to marck around and uh type all this and things like that so yeah and then the only extra thing that really happens is if the status code so from here um status code from the first bundle is 200 and then uh that's been successful and if it's 500 that means it was booked I should probably put a third one in to say that uh it didn't it didn't succeed for one way or another but at the moment this is uh the setup for the booking scenario I hope you guys learned something uh I did work uh this this took a long time to set up and try and figure out and try to make it or work with cal.com I've actually got a different setup that doesn't use cal.com and it is so much easier because it just uses Google Calendar and you don't have to fluff around with as much stuff I actually find Google Calendar to be much easier to uh work with so unless you guys have any other ideas or any tips on how to make this better I would actually love to hear uh your thoughts uh see if you maybe we can improve it and if you want to collaborate and make this uh build even better then um yeah shoot me a message on LinkedIn or even book a calendar slot and just say you're you want to work on this if you are a business owner and you're interested in setting up something like this for yourself uh we can I can set it up for you in about a day um so yeah just book a call with my calendar and I'm actually full on my students this month I'll probably have slots available towards uh the start of next month so if you'd like we you can start uh messaging me on Lon and then maybe we can set up a uh lesson or two to help you out and get started in some local platforms all right cheers guys and signing out
Info
Channel: Henryk | AI Automation
Views: 1,362
Rating: undefined out of 5
Keywords: aaa, ai automation agency, ai journey, ai assistant demo, make.com setup, booking automation, API integration, AI consulting, automation tutorial, AI booking system, AI scheduling, make.com API, AI tools, setting up AI automation, AI demo video, AI consultation booking, AI for beginners, AI video tutorial, AI slot management, AI appointment booking, AI calendar integration, vapi, vapi ai voice, voice ai, booking with ai, vapi and make tutorial, make.com and vapi voice
Id: uqBG7nf1vZk
Channel Id: undefined
Length: 14min 5sec (845 seconds)
Published: Mon May 13 2024
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.