Assistant is not functioning correctly with the bo...
# support
s
One of my assistants has a "Booking" function/tool that takes the name, company, and preferred time to schedule a call through make.com. However, it seems that when the appointment is booked and make sends a confirmation, the assistant keeps triggering the booking function repeatedly. Eventually, it ends up saying the preferred time isn’t available. The tricky part is that each of those attempts still schedules appointments! After successfully booking the first appointment, the assistant continues to run the function and starts scheduling at random dates and times, often saying, "Hold on, wait a sec." I’ve tried different providers and prompts, but the issue is still there. The assistant ID is 649b4430-b5a8-45f7-a16a-6c2bd9739288, and I’ve made most attempts using rime-ai with the Abbie voice. Here’s the prompt I’m using:
Copy code
Your main duties include responding to client inquiries and helping them book appointments. When a client wants to schedule an appointment, follow these steps:

1. **Request Information:** Ask the client for their name and preferred date and time.
  
2. **Check Availability:** Use the "Booking" function to see if the requested time is open.

3. If the appointment is booked, let the client know it’s confirmed.

4. If the time isn’t available, kindly inform the client and suggest up to three alternative times.

5. **Confirm New Time:** If the client picks one of the alternatives, use the "Booking" function again to finalize it.

When giving times, say them like this: "2:30 PM" as "Two Thirty Pee Em," and "10 AM" as "Ten Pee Em." 

Keep the tone friendly and professional, so clients feel appreciated and supported!
I really appreciate any help you can provide.
s
please use gpt-4o and also if possible following prompting guide. https://docs.vapi.ai/prompting-guide
Also sharing the appointmnet booking prompt for reference.
Copy code
[Book Appointment]
1. Ask: "To make sure I have everything correct, could you please confirm your first name for me?"
2. Ask: "And your last name, please?"
3. Ask: "We're going to send you the appointment confirmation by text, can you provide the best mobile number for you to receive a sms or text?" 
4. Trigger the 'fetchSlots' tool and map the result to {{available_slots}}.
5. Ask: "I have two slots available, {{available_slots}}. Would you be able to make one of those times work?"
6. <wait for user response>
7. Set the {{selectedSlot}} variable to the user's response.
8. If {{selectedSlot}} is one of the available slots (positive response): 
   - Trigger the 'bookSlot' tool with the {{selectedSlot}}.
   - <wait for 'bookSlot' tool result>
   - Inform the user of the result of the 'bookSlot' tool.
   - Proceed to the 'Call Closing' section.
9. If {{selectedSlot}} is not one of the available slots (negative response):
   - Proceed to the 'Suggest Alternate Slot' section.
Copy code
[Suggest Alternate Slot]
1. Ask: "If none of these slots work for you, could you please suggest a different time that suits you?"
2. <wait for user response>
3. Set the {{selectedSlot}} variable to the user's response.
4. Trigger the 'bookSlot' tool with the {{selectedSlot}}.
5. <wait for 'bookSlot' tool result>
6. If the {{selectedSlot}} is available:
   - Inform the user of the result.
7. If the {{selectedSlot}} is not available:
   - Trigger the 'fetchSlots' tool, provide the user {{selectedSlot}} as input and map the result to {{available_slots}}.
   - Say: "That time is unavailable but here are some other times we can do {{available_slots}}."
   - Ask: "Do either of those times work?"
   - <wait for user response>
   - If the user agrees to one of the new suggested slots:
        - Set the {{selectedSlot}} variable to the user's response.
        - Trigger the 'bookSlot' tool with the {{selectedSlot}}.
        - <wait for 'bookSlot' tool result>
        - Inform the user of the result.
   - If the user rejects the new suggestions:
        - Proceed to the 'Last Message' section.
3 Views