Error when using booking functions

Hello, everytime i put the api key from cal.com and the url code it gives me “error validating cal.com tools” why? i followed everystep from youtube, google and the forum. i need help, its urgent!!!

Based on the available sources, the “error validating cal.com tools” message you’re encountering has been reported by other users(1)(2). Here’s what you should verify:

Required Credentials:

  1. API Key from Cal.com - Navigate to Settings → Developer → API Keys in your Cal.com dashboard(3)(4)
  2. Event Type ID - This is the number in the URL when you open your event type (e.g., in https://app.cal.com/your-username/event-type/1427703, the ID is 1427703)(3)(4)

Common Issues:

  1. API Key Validity - Try rotating/regenerating your API key in Cal.com(1)(5)
  2. API Key Format - Ensure you’re copying the complete API key without extra spaces
  3. Event Type ID - Double-check that the Event Type ID matches exactly what’s in your Cal.com URL(3)(4)
  4. Permissions - Verify the API key has proper permissions in Cal.com(2)

Setup Steps:
When adding the Cal.com function in Retell, you need to enter(3)(4):

  • Tool name (must be unique within that agent)
  • API Key from Cal.com
  • Event Type ID
  • Tool description
  • (Optional) Timezone

If the issue persists after verifying these details, I recommend:

  • Creating a new API key in Cal.com
  • Testing the API key directly with Cal.com’s API outside of Retell to confirm it works(5)
  • Contacting support with your agent ID

For additional help:

What model do you use?

i am using retall ai, gemini 2.5


The Cal.com integration should work regardless of which LLM model you’re using (Gemini 2.5 Flash, GPT, etc.). The “error validating cal.com tools” is related to the Cal.com credentials themselves, not the LLM model selection(1)(2).

Your LLM Model Configuration:
When using Gemini 2.5 Flash with Retell AI, you can specify it in your agent configuration(3)(4):

{
  "model": "gemini-2.5-flash"
}

(3)(4)

Cal.com Tool Configuration:
The Cal.com tools are configured separately from your LLM model choice. Here’s the structure for the book appointment tool(3)(4)(5)(6):

{
  "type": "book_appointment_cal",
  "name": "book_appointment",
  "description": "Book an annual check up.",
  "cal_api_key": "cal_live_xxxxxxxxxxxx",
  "event_type_id": 60444,
  "timezone": "America/Los_Angeles"
}

(3)(4)(5)(6)

Key Points:

  1. The event_type_id must be a number only (e.g., 60444), not a URL or string with slashes(7)
  2. The cal_api_key should start with cal_live_ for production keys(3)(4)(5)(6)
  3. The tool configuration is independent of your model selection(1)(2)(3)(4)

To resolve your error:

  • Verify your Event Type ID is the numeric value from the Cal.com URL (e.g., if the URL is https://app.cal.com/username/event-type/1427703, use 1427703)(1)(2)
  • Ensure your API key is valid and has the correct permissions in Cal.com(8)
  • The timezone parameter is optional but recommended(1)(2)

The Gemini 2.5 model selection should not affect Cal.com tool validation. Focus on verifying your Cal.com credentials are correct.

For additional support:

Hello Ali
Can you share the event type you are using , and the agent id.

I solved the issue, thank you

tis 6 jan. 2026 kl. 16:42 skrev Omar Ashraf <notifications@retell1.discoursemail.com>:

1 Like

Hello Ali,

how did you have solved the issue?

Thank you,

Marvin

Based on the available sources, the issue where Retell AI was saying “Hello contact underscore name” instead of using the actual name was resolved by adding the retell_llm_dynamic_variables line(1).

The user @byredyre found that even though multiple videos didn’t include this line, adding it made the dynamic variables work correctly(1).

For proper dynamic variable formatting in Retell AI, you should use the {{variable_name}} format(1). When making API calls, ensure you’re including the retell_llm_dynamic_variables object in your request payload(1).

If you need more specific implementation details for your use case, check out these resources:

Would you like a general answer about dynamic variables implementation if you need more details?

How did you solve it i have the same error