How to build an AI appointment setter using VAPI and Google Calendar

Поделиться
HTML-код
  • Опубликовано: 3 янв 2025

Комментарии • 136

  • @sandeepkaistha
    @sandeepkaistha  3 месяца назад

    👉🏻 Join our AI Community - flipbytes.link/aicommunity
    👉🏻 Work with us. Book a free 30-minute discovery call with me - flipbytes.link/discoverycall
    MUST SEE VIDEOS -
    👉🏻 How to build AI voice agents with Vapi (Full course) - ruclips.net/video/qUQLbPWxbdk/видео.html
    👉🏻 How to build an AI Cold Caller with VAPI (Full Tutorial) - ruclips.net/video/ZzvVkxQR8XA/видео.html
    👉🏻 How to Build an AI Sales Bot to Qualify Leads (Beginners Tutorial) - ruclips.net/video/Umnz3Ye-V44/видео.html

  • @michelmagraner6851
    @michelmagraner6851 2 месяца назад +3

    I've checked out a bunch of DIY Vapi videos, and while some have good ideas, the flow is usually all over the place, and they don’t show the full process in a way that's easy to follow. Out of all the creators I've watched, I think you're the most relatable. The way you explain things makes it all so much clearer, and it's really given me new hope that I can create my assistants and get them up and running smoothly. You just earned yourself a new subscriber! I've also sent a request to join your community, and I can't wait to be part of it and learn more.
    Thanks for sharing your knowledge and making it all so approachable! Looking forward to learning much more from you. Cheers!

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Thank you so much for your kind words! 🙏

  • @AyaanAhmed-e2k
    @AyaanAhmed-e2k 15 дней назад +1

    really loved the whole video and how u carried it for a beginner to understand. started this video with absolutely no knowledge and finished it by creating my own assistant, thanks sir it will go a long way.

  • @vigneshs8252
    @vigneshs8252 5 дней назад

    Very well explained, Thanks.

  • @nicolasm4061
    @nicolasm4061 23 дня назад

    AMAZING! thank you so much for this detailed and VERY well explained video! starting my own AI automation business in France, and this is just gold.. . I've watched a lot of content around VAPI and AI and yours is by far the best!
    An AMAZING chrismas to you and your team! Cheers from Paris!

  • @davidzimmermann2359
    @davidzimmermann2359 24 дня назад

    thank you so much, most valuable video I've found on this topic so far!!!!

  • @dailyconsulting3455
    @dailyconsulting3455 Месяц назад

    WOW... Amazing video with so much details. This is your first video I am watching and can't even begin to appreciate the details you have gone into to explain every aspect of building it. I am going to copy and build it exactly the way you did it. Good work Sndeep....

  • @AIforBusinessSuccess
    @AIforBusinessSuccess Месяц назад

    Best video ive watched by far. So far. Thank you:D

  • @mikehart5619
    @mikehart5619 2 месяца назад +1

    I've looked at quite a few DYI Vapi videos. Most are good but some go way too fast. Yours is much easier to follow and I have renewed hope that I can successfully create my assistants and get them running quickly.

  • @rumisarkar6382
    @rumisarkar6382 25 дней назад

    Awesome value Sir
    Thanks a lot for the help and knowledge!

  • @EuanPercival
    @EuanPercival Месяц назад

    Wow just tested my bot and was ecstatic💪💪, thanks Sandeep! Have an awesome day and thank you for the guidance and knowledge!

  • @saadalsakib6212
    @saadalsakib6212 Месяц назад

    This video is great. thank you for the video.

  • @sebastiansilva7387
    @sebastiansilva7387 Месяц назад

    These videos are great. You're awesome brother!

  • @Viraj-f4n
    @Viraj-f4n Месяц назад +1

    Great Video as always! How can use Go high level local or toll free number for this as I will generate lead on go high level form?

  • @richardng6729
    @richardng6729 2 месяца назад

    Awesome! I love it Sandeep. Thanks for sharing the video.

  • @azamali2629
    @azamali2629 16 дней назад

    Sir, Thanks a lot for sharing knowledge. Great work👍
    Sir can we implement it in Code?

  • @jeffoostapley
    @jeffoostapley Месяц назад +1

    Thanks for posting this Sandeep. Great job - definitely one of the better tutorials. Question about the Google Calendar. I was getting the scope errors so i took your advice from another comment and added the Google Calendar Free/Busy module and the connection was successful. I update it with the start/end time but when i configure the iterator module, I dont see the "body" to create the array. I only see start / end time and something called "Kind" which appears to be empty. Any thoughts?

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      The "body" only comes in calendar API calls. In Free Busy, it has its own syntax that you need to use. If you have questions regarding AI etc, I would recommend joining our AI community - flipbytes.link/aicommunity

  • @aj_won_design
    @aj_won_design 23 дня назад

    Thanks a lot for the video, ut i have a question though, what if there is no available timeslot for the selected day.?

  • @ruxlb
    @ruxlb 3 месяца назад

    Great video thanks Sandeep.

  • @VUW99
    @VUW99 Месяц назад

    Hi Sandeep, it is a great tutorial, well structured and understandable.
    I cannot connect my google calender, the flow always stops there. Already reconnected, checkted permissions. And from that side all should be good. Any idea?
    Thanks!

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      If you're unable to connect your Calendar, it's usually a permission issue. Try searching on Google to see if others are experiencing the same problem. Alternatively, you can join our community and ask for help there.- flipbytes.link/aicommunity

  • @ihatem6622
    @ihatem6622 3 месяца назад +1

    If you want the ai agent to also answer basic questions about the business would you put that info in that knowledge base or also in the prompt. Eg the faqs about the company or what are the specific services it provides.

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад +1

      If you have some basic questions to answer such as support email , address etc you can put it in the prompt but you have information in the pdf or txt documents that you want the ai to use as a reference to answer questions, then you would add them to the knowledge base.

  • @TommyCook-go8fr
    @TommyCook-go8fr Месяц назад

    Can you walk us through how you would handle appointment reschedules? or Cancellations

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      I will make a note of it. Will try to cover it another video

  • @StudioTaijutsu
    @StudioTaijutsu 2 месяца назад

    Thank you so much for this! I've got everything working, although despite including a prompt to keep the booking within a 7-day timeframe from todays {date}, the GPT keeps returning the booking slot in the year 2023; do you have any ideas on how to overcome this?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад +1

      Glad it was helpful! For the booking slot, specify in the GPT prompt to return date from 2024 and also make sure that your time zone is set. You may need to play around with the prompt to get the desired result. If you have ChatGPT then write the prompt in that and see the result. When you get the desired result, copy and paste that prompt into the open ai prompt in make.

    • @StudioTaijutsu
      @StudioTaijutsu 2 месяца назад +1

      @@sandeepkaistha thanks I’ll give it a try 👍

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Awesome !

  • @sugarbait
    @sugarbait 2 месяца назад

    If I want this to email or sms the caller what would I add and where? Thanks in advance. Great video!

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад +1

      Thanks. If you want this setup to email or SMS the caller, you will add another module to automate. For email, configure the Google Calendar module to send emails. I have not shown it in this video, but it is possible. For SMS, use Twilio API with make to send outgoing SMS.
      Also, Join our vibrant AI Community to Connect, Collaborate and Grow! - flipbytes.link/aicommunity

    • @sugarbait
      @sugarbait 2 месяца назад

      @@sandeepkaistha I've joined thanks., and the second google calendar module in make is giving me major issues.

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад +1

      Go through the community and see if you can find the answer , else post a question in the community

  • @nic-s5kp
    @nic-s5kp 3 месяца назад +1

    thanks for the detailed info, i came across this error, " [429] You exceeded your current quota, please check your plan and billing details." how can i fix it and how much would it cost to fix it

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      I have no idea which quota is this. Is it the VAPI quota or make.com quota. Please check your application and see which one is exceeded

    • @lazaramanovic7393
      @lazaramanovic7393 2 месяца назад

      @@sandeepkaistha Hi Sandeep, I have the same problem, it says that all the credit from OpenAI is consumed and that I have to pay something for the package to the OpenAI, can I make this working for free or not?

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Thats strange. It never asked me that. Try using a different provider that open ai and see if you still get the error. Try Anthropic

  • @joffwilliams
    @joffwilliams 2 месяца назад

    Fantastic walkthrough. Much clearer than others I've come across, thanks. Do you need to create two separate scenarios for the two functions (_checkAvailability and _bookAppointment), or could you do this with a Router module in Make and check which tool/function is being called from VAPI using a filter?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад +1

      Thanks. I am sure you can do it with 1 single workflow. I have done it but it definitely seems possible.

    • @joffwilliams
      @joffwilliams 2 месяца назад

      Thanks@@sandeepkaistha I'll give it a try. Keep the videos coming!

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Thanks 🙏. Will do!

  • @kazesmartarsenetaliski9383
    @kazesmartarsenetaliski9383 2 месяца назад

    great video and i wanted to ask you how much i could charge this appointment setting solution in my agency

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      I am not sure. It totally depends on you, your client, what additional services you are providing etc.

  • @benjiwaksman
    @benjiwaksman 2 месяца назад

    Thanks for the video!
    Just a question, if you want the meeting to be online, and want to also send a zoom link/google meet, is there a way to do that? Maybe with calendly?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Yes you can do it with integrating Calendly with Make.com. Here a link with details on how to do it - www.make.com/en/help/app/calendly

  • @BiChuanKang
    @BiChuanKang 2 месяца назад

    Hello Sandeep, Great video, I just have 1 question, do you know if customers can cancel or reschedule their existing appointment? or is there anyway to do it?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      When the appointment is booked it’s on Google calendar so once it’s booked all the functionality you can do with Google calendar applies, so customers can cancel, reschedule etc

  • @anshulkeote5466
    @anshulkeote5466 2 месяца назад +1

    I Think there is an error in the checkAvailability make scenario, in the iterator you have simply given the "Body" section from the Google Calendar response. This should not work and will always give the entire day as free as the next part is getting a null json everytime, so ChatGPT thinks that there are no busy slots. Instead you should run the Google Calendar Module once and then give the "busy" array in the body of the response to the iterator. That fixed it for me.
    Also when you tested the checkAvailability module, the reason it gave you all those times is because it determined the whole day was free.

  • @Viraj-f4n
    @Viraj-f4n Месяц назад +1

    Can we add a note from lead in calender?

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Yes, you can. You would need to use the function to add notes in the Google Calendar API to do that. If you don't know how to do that, then I would recommend joining our AI community, where other members may be able to help you - flipbytes.link/aicommunity

  • @Alkotas25
    @Alkotas25 Месяц назад

    thx this video! I would like to inquire whether the VAPI service supports calls made through chat programs. Specifically, I'm interested to know if calls initiated eg. via WhatsApp or Messenger can be integrated with VAPI? thx!

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад +1

      You are welcome! Yes it can be integrated. You would need to use make or Zapier with Vapi and its possible.

    • @Alkotas25
      @Alkotas25 Месяц назад

      @sandeepkaistha thx, good news, because I would like to use VAPI as a personal assistant, so I would like to start call throught e.g Whats App, so I do not need real phone number, and whats app free. I created VAPI assistant with make, based on your video guide, now I can test it through VAPI test call but as I mentioned would like to call it with WatsApp. Can you pls give me more guide how to do it? thx!

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      If you don't know how to do that, then I would recommend joining our AI community, where other members may be able to help you - flipbytes.link/aicommunity

  • @DIY4Profit
    @DIY4Profit Месяц назад

    Thanks but how would you add cancel appointment??

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      You need to add additional flows in make and function calls in Vapi so it can handle other booking situations. Also, I would suggest that you join our community if you like discussions on AI - flipbytes.link/aicommunity

  • @TheHomeschoolGuy
    @TheHomeschoolGuy 2 месяца назад

    Chatgpt in Vapi thinks it's October 17th 2023, how did you get the date to be current in your automation?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад +1

      I used ChatGPT and used the current date and time and it worked fine. You need to specify that clearly in the prompt. What I did is, I used the prompt in the actual ChatGPT and saw the output. Then I tweaked the prompt to make sure that I am getting the desired output form ChatGPT. Then I used that prompt in the make automation and worked fine.

  • @azeemshaik4937
    @azeemshaik4937 2 месяца назад

    Thanks for the information. I followed your tutorial and started building an appointment agent. But here I'm getting error of operation failed with an error [403] request had insufficient authentication scopes. Unable to book an appointment.
    When I run the modules, in the first webhook module. I'm getting past year 2023 date as an output. Not present year. Example: 2023/10/23
    How to solve these two problems?

    • @dylan___7301
      @dylan___7301 2 месяца назад

      Any luck with error [403] ?

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Regarding authentication scopes, some people have that error, but I never got it. Did you check out Google or Stack Overflow? One thing I can suggest is that Instead of using the calendar API, try using the Calendar free busy function in Make, and, based on what kind of values it returns, you can modify the automation sequence accordingly

  • @TommyCook-go8fr
    @TommyCook-go8fr 2 месяца назад

    What about when the time changes due to daylight savings?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Then you need to factor that in the prompt and give ChatGPT the time to switch DST on and off. Also whichever steps the dates are being handled, you need to modify to factor this in.

  • @myworld342
    @myworld342 3 месяца назад

    What happens if the caller is in a different timezone? How do you reconcile the difference in timezones?

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад +1

      You do that with a format date function and a ChatGPT step as I have shown in the video.

    • @myworld342
      @myworld342 3 месяца назад

      @@sandeepkaistha I watched your video in detail. But how does VAPI know what timezone the person is calling from? You use Singapore as an example but how does VAPI know that the person is calling from Singapore when the service provider for example is in the UK? Should the voice assistant ask the caller where they are based? Thanks for the clarification Sandeep!

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      @@myworld342 This appointment setter is not for a global timezone. It is meant to be used only for local timezones. Making it global is not that difficult, but it would need some additional logic.

  • @SkyViewSnap
    @SkyViewSnap 3 месяца назад

    I believe you forgot to set the _notimeslots filter at the end. Could you kindly tell me how this filter should be set?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      oh. i probably forgot that filter because there were time slots available in my example and it did not trigger that flow so we did not come yo that case. You can add a filter that if the google free busy value is null, then trigger that flow. Please check the google calendar free busy api to know the exact response type

  • @zafarqureshi6291
    @zafarqureshi6291 29 дней назад

    Vapi is having problem it doesn't have current date and time for booking
    what is the solution?

  • @TheMindEngineer
    @TheMindEngineer 2 месяца назад

    Hi, nice one. I am getting this error when it goes to google calendar, the api call. "The operation failed with an error. [403] Request had insufficient authentication scopes." How do I solve this?

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      It means that you don't have the required permissions. Google "insufficient authentication scopes" and i am sure you can get the steps to solve it.

    • @MrCEOJay
      @MrCEOJay 2 месяца назад

      Did you have this solved? If yes can you share how, I have been battling with this all week

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Regarding authentication scopes, some people have that error, but I never got it. Did you check out Google or Stack Overflow? One thing I can suggest is that Instead of using the calendar API, try using the Calendar free busy function in Make, and, based on what kind of values it returns, you can modify the automation sequence accordingly

  • @WILD_PRIMEE
    @WILD_PRIMEE Месяц назад

    What if person wants to cancel or reschedule the appointment

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Yes, you can do that using the Google calendar api. If you don't know how to do that, then I would recommend joining our AI community, where other members may be able to help you - flipbytes.link/aicommunity

  • @newtubeclifford
    @newtubeclifford 3 месяца назад

    What if I want to have the ai tell the user "we are not available after 5pm" how would i put that in the router conditions? Is there a format time option? Would i set a filter for anything greater than 5pm? Please explain.

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      You add that in the system prompt. Also, on the filter you will use the format date time function to take out the time and then add that condition. Like I showed you for the day of week, you need to do the same thing for hour of day and then add the filter.

  • @beban92
    @beban92 3 месяца назад +1

    I have an error with my calendar but I've checked the connection 3 times and still wont work. The error says: RuntimeError
    [403] Request had insufficient authentication scopes. Do you know what could be wrong?

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      I am not sure because I never got this error but it seems there is an issue with authentication so I would check the connection to Google slander, the api url and the id in the body. You can also create a new scenario to isolate the issue

    • @amiraslii
      @amiraslii 3 месяца назад

      Hi, did you happen to find any solutions? Cause I am getting the same error

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      @@amiraslii@amiraslii If you are getting an authentication error, then make sure that you are using your credentials in the Google app, etc. If you are using the blueprint, you would need to change that.

    • @MrCEOJay
      @MrCEOJay 2 месяца назад

      Did you have this solved? If yes can you share how, I have been battling with this all week

    • @dylan___7301
      @dylan___7301 2 месяца назад

      @@MrCEOJay Any luck ?

  • @carsonkarren957
    @carsonkarren957 3 месяца назад

    Unfortunately I found that openai is not good at judging what times are actually available and ends up double booking me for every 1 in 10 calls. I'd be very interested in a system that doesn't require AI for the end judgement if it's available or not.

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      If is is double booing then it’s not OpenAI. You can try softener models but I think you need to check the Google calendar api freebusy function.

    • @carsonkarren957
      @carsonkarren957 3 месяца назад

      @@sandeepkaistha Yeah so when I check the outputs of my freebusy calendar node on make it's providing the correct start and end times from when my calendar is busy. The problem is the second to last node often returns times that are not available on the calendar checker.

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад +1

      @carsonkarren957 If the dates are coming correct, then see what nodes are causing an issue. Isolate the problem. I genrally create a different scenario in make to only work with the problem area and then when its fixed, i patch it bac in into the main flow.

  • @samsangani4447
    @samsangani4447 11 дней назад

    My checkavailibility runs right away after I say "tomorrow". It doesn't wait for the full prompt for time.
    For example:
    AI: When would you like to come in?
    Me: Tomorrow
    -- checkavailbility runs --
    AI: What time were you thinking?
    Me: 9 am.
    AI: I am having a hard time pulling availability.

  • @lukagrisolia
    @lukagrisolia 3 месяца назад

    Hi, could someone please help me out? My first webhook becomes yellow, and the "Rollback" section of it displays the following message "Warning
    Automatic failure response was sent to the webhook. Origin Make". This then causes the Clalendar to fail. Why could that be?

    • @ihatem6622
      @ihatem6622 3 месяца назад

      I’m also getting the same thing and getting a fail on the calendar. Maybe it could be something to do with the date formatting. Not too sure

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      In the date flowing in the webhook when you click the ? Sign?

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад

      Guys .. make sure that you connect to your Google calendar. By default the template would have my goggle calendar details. You need to create your own Google calander connection as I have mentioned and then connect it to the workflow.

    • @lukagrisolia
      @lukagrisolia 3 месяца назад

      @@sandeepkaistha Basically what happens is I run the automation, then start the call, then when I ask about booking a date the automation runs up to the calendar in the following way: First webhook is yellow (with the above error message), the OpenAI, JSON and tools are fine, and the G Calendar is red (because it doesn't have any data since the webhook did not provide it). I didn't use the template, I built it following the video step by step, so I used my G Calendar. I built other make automation using webhooks and this never happened, it's weird

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад +2

      The webhook should not be yellow. That means that it is not getting the data properly form Vapi. Forget my template for now. Create a new scenario in make and add only the webhook. Then use that webhook url to add to the vapi function tool. Modify the vapi prompt ton only have 1 function call. Then run the scenario and vapi and you should be able to get the user name and preferred date for booking. Once you have that then build the rest of the scenario as per the video. Hope this helps.

  • @zafarqureshi6291
    @zafarqureshi6291 Месяц назад

    RuntimeError
    [400] Bad Request
    Origin
    Google Calendar
    Automatic error handler
    If you want to handle this error automatically, choose one of the following options. This will create a new error-handler route in your scenario. You can then expand the route in any way you like.

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Bad request genrally means that there is a syntax error. Check what JSON you are sending.

  • @gaijinshacho
    @gaijinshacho 3 месяца назад +1

    All of these voice to voice ai chatbots are too laggy for actual use. You can see Sandeep cuts out the lag time. I'm not going to sit on a phone call with any bot that takes up to 10 seconds to reply.

    • @sandeepkaistha
      @sandeepkaistha  3 месяца назад +4

      Yes, some voices are laggy. The one that I used (11labs-Sara) had a latency of 1.1 sec, so the lag was 1-2 seconds, not 10 seconds. Also, if you pick up a voice model that has a low latency of < 900 milliseconds, that can further reduce the lag.

    • @philippines2269
      @philippines2269 2 месяца назад +1

      I have been experiencing with a few voices in different setups I've gotten the response down time down quite low it does work but you got to get the right configuration.

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      Yeah..Any voice with the overall low latency would work

    • @dezunatodezz4606
      @dezunatodezz4606 2 месяца назад +1

      They’re not that laggy, this is so misleading, there is max a delay of 2 seconds per reply. In most cases it’s much less

    • @sandeepkaistha
      @sandeepkaistha  2 месяца назад

      This delay is noticeable, and some of the voices feel laggy. A two-second delay doesn’t work well when building a real-world AI voice application. Imagine you're on a call and experience a 2-3 second pause after each reply-that's not ideal. However, voice AI technology is advancing rapidly, and with the introduction of OpenAI’s real-time API, I believe this latency issue will soon be a thing of the past.

  • @foundationweb1123
    @foundationweb1123 2 месяца назад

    Does anyone know why google calendar module is giving this message:
    The operation failed with an error. [403] Request had insufficient authentication scopes.
    Even though the did exactly what is inside the video and checked multiple times.

    • @sandeepkaistha
      @sandeepkaistha  Месяц назад

      Regarding authentication scopes, some people have that error, but I never got it. Did you check out Google or Stack Overflow? One thing I can suggest is that Instead of using the calendar API, try using the Calendar free busy function in Make, and, based on what kind of values it returns, you can modify the automation sequence accordingly