Questions On Retell AI Capabilitywe

Hello Retell AI,

I am planning to onboard Retell AI for my voice agent product, and I would like to clarify on the following aspects by the team:

  1. which region is Retell AI service deployed and available for including STT / TTS ? my product is target for customer in US west coast ?
  2. My product require integration where Twilio number sending request to my backend server, and then my backend server make request to Retell AI, and the agent needs to be able to handle fallback to real phone number of my clients. Is this supported ?
    if so which setup do you recommend ? SIP or alternative protocol ?
  3. Is the caller’s phone number reliably included in the call details by Retell API, and can be send to my backend endpoints ?
  4. For ‘transfer_call’ to an outside number ( real phone number of my client ), if the line is busy or not answered within 20 seconds, does the call come back to Retell AI agent ?
  5. Does retell AI APi provide utility to ‘force transfer’ a call in progress and handoff to real human ? If so, does Retell still bill me when the handoff happens ?
  6. I have customized tool built in my backend, and need Retell 's agent to call these tool based on use case. Does Retell agent currently retry failed tool call by default ? what is the timeout look like ? is timeout applied to each attempt ?
  7. how X-Retell-Signature is computed and how its key is rotated ?
  8. How many agents can one account have ? what is the max prompt size allowed ?
  9. Can we create and update agents through the API, with versions, so our code publishes them?
  10. Please confirm that current there is 15,000-character limit on tool results

Thanks for your time and patience in providing the answers in advance.

Ed

Hey @edwardsun688

Twilio → your backend → Retell, with fallback to a real phone number
Yes, supported. You can register calls via the Register Phone Call API (custom telephony/“Dial to SIP URI” method), or use elastic SIP trunking with Custom Telephony. Phone numbers also support a fallback_number field for automatic fallback when concurrency limits are hit (Get/Create Phone Number).

Recommended setup: SIP vs alternative
(a) Elastic SIP trunking (simpler, if your provider supports it) or (b) Dial to SIP URI via Register Phone Call API (more control, but you lose Retell’s built-in transfer_call feature and must implement transfer yourself via custom function).

Caller’s number in call details
Yes — from_number and to_number are included in the call object sent to your webhook/API (see sample payload in Webhook overview).

transfer_call busy/no-answer — does it return to the agent?
Not — a failed dial (dial_busy, dial_no_answer) is a disconnection reason ending the call, not a rejoin to the agent.

Force transfer / human handoff mid-call, and billing
Yes — via Live Monitoring → Take Over, a human can take over an in-progress call, which permanently stops the agent (Live Monitoring). Regarding billing: per the transfer FAQ, the AI agent fee stops once the agent drops off a call; only telephony fees continue after handoff. This principle should extend to Take Over.

Tool call retries/timeouts
By default, custom functions/tools are not retried (max_retry = 0). You can set max_retry up to 5, with exponential backoff + jitter. Timeout is applied per attempt, not as a shared budget — so a timed-out attempt still gets retried. See Custom Function Retries.

X-Retell-Signature computation & key rotation
Verified using your Retell API key (HMAC-SHA256) against the raw request body — a verify function is provided in Retell SDKs.

Max agents per account / max prompt size
Max prompt length for Retell LLM is 32,768 tokens by default (longer prompts rejected); prompts over 4,000 tokens incur extra billing.

Create/update agents via API with versioning
Yes — Create Draft Agent Version and Publish Agent support draft → publish workflows, with version tags/environments for CI-style publishing (Agent Versioning).

15,000-character tool result limit
Confirmed — tool/function results are capped at 15,000 characters by default before reaching the LLM (applies to custom functions, MCP tools, and Code Tool). Contact Retell support if you need a higher limit.

Best Regards.

Hi @mark1
Thanks for the clear answers above. Just A few follow up here while I am testing agent building with retell here:

  1. For prompts over 4,000 tokens incur extra billing–how will the extra billing gets calculated ?
  2. I plan to build an auto-recovery feature in my product. if for any reason that my product cannot reach to the Retell backend, and I know that Retell allow 20 concurrent call at the same time for free plan, i want to periodically do health check by making request to register phone call. Retell doc states that "You must dial the call to the SIP URI within 5 minutes of calling Register Phone Call. If the call is not connected within that window, it disconnects with registered_call_timeout" so I want to know **does un-dialed registration count as one of the 20 concurrent call for those 5 mins ?
    **
    Thank you so much
    Edward

Hey @edwardsun688

Thanks for the follow-up.

  1. Prompts above 4,000 tokens are subject to additional long-prompt billing based on the prompt token usage.

  2. A registered call that is not dialed within 5 minutes ends with registered_call_timeout, while the included concurrency is described in terms of active calls. However, it does not clearly specify whether an undialed call in the registered state consumes a concurrency slot during that 5-minute window.

I’ll confirm that specific concurrency behavior and follow up with you.

Best Regards.

Hey @edwardsun688

For the 2nd Question:

No, an un-dialed registered call does not consume one of the org’s concurrent-call slots during the 5-minute pending window. The slot is only reserved when the SIP INVITE actually arrives at the Retell gateway.

Best Regards.