https://retellai.com/?utm_source=discord&utm_medium=seo logo
[HELP] Passing Retell caller ID to Cal.com booking...
# ❓・bug-report
d
I'm building a voice agent for a dental clinic on Retell using the native Cal.com integration and running into a wall. The setup: Inbound calls → Retell agent → collects name, service, preferred day/time → triggers book_appointment via the built-in Cal.com function. The problem: Cal.com requires at least one contact method (email or phone) to create a booking, otherwise it throws: attendee email or phone property is wrong, Attendee must have at least one contact method (email or phone number) The agent is currently passing the phone number into the email field which obviously fails with email_validation_error. What I want: I do NOT want to ask the caller for their email or phone during the conversation. It kills the flow and feels unnatural. Retell already captures the caller's phone number (caller ID) on every inbound call — I just need a way to pass that into Cal.com as the phone attendee field automatically. What I've tried: Passing raw phone number into email field → rejected Passing +359 formatted number into email field → rejected Using a dummy fallback email → works but dirty solution My questions: Is there a way to access the Retell caller_id dynamic variable inside the Cal.com function parameters? Can it be mapped to the attendee phone field? Does the native Retell Cal.com integration support a phone field at all, or is it email-only? If the native integration can't do this — has anyone built a custom webhook/middleware that pulls the Retell caller ID and forwards it to Cal.com's /v2/bookings endpoint as the phone parameter? Any other clean workarounds that don't require asking the user for contact info on the call? Context: Using Cal.com v2 API, Retell's built-in Cal.com tool, GPT-4.1 mini, inbound calls only. The caller ID is always available — I just can't figure out how to pipe it through to Cal.com cleanly. Any help appreciated — this feels like it should be a simple mapping but I'm stuck.
t
(Not wishing to hijack) but similar issue here: https://discord.com/channels/1186424376300679209/1476143975751487614
s
Hi @Daniel
Retell provides {{user_number}} as a built-in system variable for phone calls, the caller's number.
Replace the native Cal.com tool with a Custom Function that POSTs to your own middleware endpoint. In the function parameters, use "const": "{{user_number}}" to automatically inject the caller's phone number without asking. Your middleware then calls Cal.com's /v2/bookings API with the phone number in the attendee field.
t
Is this a recent change? I based my agent on a 10-month-old YT vid that shows it working via Retell's native cal.com tool. My agent, using the same setup, at first reports an error (debug shows phone payload has not been sent), then sometimes immediately retries and succeeds.
Ha, what would you know: suddenly and mysteriously it suddenly works on first attempt! This whole episode burnt a ton of tokens