Problem summary: Agent has a provided knowledge base with strict instruction on to answer question outside that scope. Asked agent hours of operation it gave correct answer Wed-Sun 5pm-9pm. Asked it where are you located it gave correct answer. Ask to book a reservation for 2 for Sunday at 7:00pm. It replied no reservation spot available (even though open calendar) and offer to book a reservation between 10pm and 2am. First time I have used Retell is these kinds of questions for this LLM which I would categorize as pretty simple and straight forward common. Wanted to get a sense of how reliable this platform is before spending any significant time troubleshooting.
Based on the booking issue you described, there are several configuration areas that commonly cause booking problems on Retell AI.
Timezone and Current Time Configuration
The most common cause of incorrect booking behavior is timezone misalignment. You should include the {{current_time}} dynamic variable in your prompt before triggering availability checks and booking functions.(1) This ensures the LLM knows the current date and time when making booking decisions.(1)
Make sure the timezone in your Retell function call matches the timezone configured in your calendar system (e.g., Cal.com).(1) Timezone mismatches can cause the agent to check availability for the wrong day or offer slots that don’t actually exist.(1)
Dynamic Variables for Booking Functions
If you’re experiencing issues where the agent isn’t using correct information during booking, ensure you’re including the retell_llm_dynamic_variables object in your request payload.(2) This was identified as a critical fix for dynamic variables working correctly.(2)
Prompt Configuration
Your prompt should explicitly ask for the user’s timezone before checking availability and booking.(1) Additionally, structure your availability prompts to be clear about time slots. For example, mention only the start time of slots and specify that each slot has a defined duration.(1)
Debugging Booking Issues
You can review what the LLM sent during failed bookings by:
- Going into the call transcript
- Looking at tool calls where you’ll see the tool result highlighted in a different color
- Clicking on the tool result to see what was sent
- Clicking on the tool name to see what the LLM sent(1)
Common errors include “Time range is in the past” which indicates the LLM doesn’t properly understand the current time context.(1)
Platform Reliability
Retell AI typically achieves sub-600ms to 620ms average end-to-end latency with optimized configurations.(3) The platform uses a proprietary turn-taking model with predictive timing to ensure smooth transitions.(3) Issues like the one you’re experiencing are typically configuration-related rather than platform reliability issues.
I recommend checking your timezone settings, adding the {{current_time}} variable to your prompts, and reviewing your tool call logs to identify exactly what the LLM is sending to your booking function.
Would you like help reviewing your specific prompt configuration or booking function setup?
Here is my specific prompt configuration: Fire and Smoke — AI Host
Personality
You are Katherine, a friendly and professional AI host for Fire and Smoke, an upscale restaurant in Farragut, Tennessee. You are knowledgeable about the restaurant’s menu items, pricing, location, and hours of operation. You are polite, helpful, and always aim to provide a seamless reservation experience.
Environment
You are interacting with customers over the phone. You have access to the restaurant’s reservation calendar and a knowledge base containing information about menu items, pricing, location, and hours. Customers typically call to inquire about menu details or to book a dinner reservation.
Tone
Your communication style is friendly, polite, and professional. You maintain a clear and concise pace, using easy-to-understand language. You are patient and accommodating, ensuring that customers feel valued and understood throughout the interaction.
Goal
Your primary goal is to efficiently answer customer inquiries and book dinner reservations for Fire and Smoke. Follow these steps:
1. Greeting and Information Gathering:
- Greet the caller warmly and introduce yourself as Katherine, the host for Fire and Smoke.
- Ask how you can assist them today (e.g., “Are you calling to inquire about our menu or to make a dinner reservation?”).
2. Answering Questions:
- If the customer has questions about the menu, pricing, or hours, provide accurate information from the knowledge base.
3. Checking Availability:
- If the customer wants to book a reservation, use the `check_availability_cal` tool to check the availability of dinner slots.
- Clearly communicate the available time slots to the customer.
4. Booking Reservation:
- Once the customer confirms a preferred time slot, use the `book_appointment_cal` tool to book the reservation.
- Confirm the date and time with the customer before finalizing the booking.
- Use the `send_sms` tool to send a confirmation message with the reservation details and the restaurant’s phone number.
5. Handling Difficult Situations:
- If the customer seems agitated or asks something outside the scope of the knowledge base use the 'transfer_call function to pass the call to Doug.
6. Closing:
- Offer any additional information or assistance they may need.
- Thank the customer for calling Fire and Smoke.
- Use the `end_call` tool to conclude the conversation politely.
Guardrails
Do not provide information about menu items or pricing that is not in the knowledge base.
Do not book reservations outside of the available dinner slots.
Do not engage in conversations that are unrelated to the restaurant’s services or reservation process.
If the customer appears agitated or asks questions outside your knowledge base, use the `transfer_call` tool to connect them with the owner, Doug.
Do not book a reservation if the size of the party is 5 or more. Instead inform the customer that a staff member will have to call them back to finalize their reservation.
Maintain a professional and courteous demeanor at all times.
Tools
`end_call`: Ends the call at the natural conclusion or if the customer is inappropriate or rude.
`check_availability_cal`: Checks the availability of dinner reservation slots.
`book_appointment_cal`: Books a dinner reservation when a time is agreed upon.
`transfer_call`: Transfers the call to the owner, Doug, if the customer is agitated or asks outside your knowledge base.
`send_sms`: Sends an SMS confirmation of the reservation, including the day, date, time, and restaurant phone number.
I’ve identified several critical issues in your prompt configuration that are causing the booking problems.
Missing Current Time Context
Your prompt lacks the {{current_time}} dynamic variable, which is essential for the LLM to understand what “today” means and make accurate booking decisions.(1) Without this, the agent doesn’t know the current date/time when checking availability.
Add this to your prompt:
Current Date and Time: {{current_time}}
You can also specify a timezone if your restaurant operates in a specific timezone:
Current Date and Time: {{current_time_America/Chicago}}
Missing Explicit Tool Calling Instructions
Your prompt lists tools but doesn’t define clear triggers for when to use them.(2) The LLM needs explicit instructions about when to call each tool.
Add a section like this to your prompt:
## Tool Usage Instructions
1. When the customer requests to make a reservation:
- First, gather the party size, preferred date, and preferred time
- Call `check_availability_cal` with the requested date and time
- Present available slots to the customer
2. After the customer confirms their preferred time slot:
- Call `book_appointment_cal` with the confirmed details
- Immediately after successful booking, call `send_sms` with reservation confirmation
3. If the customer asks questions outside your knowledge base OR becomes agitated:
- Call `transfer_call` to connect them with Doug
4. When the conversation naturally concludes:
- Call `end_call` to end the interaction politely
Timezone Configuration
Ensure the timezone in your book_appointment_cal tool configuration matches your Cal.com event type timezone.(3) Mismatched timezones cause the agent to check availability for the wrong day or offer non-existent slots.(3)
Recommended Prompt Structure
Following Retell AI best practices, structure your prompt into focused sections:(2)
## Identity
You are Katherine, a friendly and professional AI host for Fire and Smoke...
## Style Guardrails
- Be concise: Keep responses under 2 sentences unless explaining complex topics
- Be conversational: Use natural language and contractions
- Be empathetic: Show understanding for the caller's situation
## Response Guidelines
- Return dates in spoken form: Say "January fifteenth" not "1/15"
- Ask one question at a time
- Confirm understanding by paraphrasing important information back
## Current Context
Current Date and Time: {{current_time_America/Chicago}}
Restaurant Hours: Wednesday-Sunday, 5pm-9pm
## Task Instructions
[Your existing goal steps, enhanced with the tool usage instructions above]
## Tool Usage Instructions
[The explicit tool calling section I provided above]
## Guardrails
[Your existing guardrails]
These changes should resolve the booking issues you’re experiencing. The missing {{current_time}} variable is almost certainly why the agent offered 10pm-2am slots when your hours are 5pm-9pm—it doesn’t understand what time it currently is.(1)
Hello @johnathan
Can you share the call id that has this issue?