https://retellai.com/?utm_source=discord&utm_medium=seo logo
We are currently using Retell for inbound phone ca...
# ❓・ai-evy-support
m
@AI Evy We are currently using Retell for inbound phone calls and wanted to understand the best way to detect or handle spam calls. Could you please let us know: Does Retell provide any built-in mechanism or metadata to identify potential spam calls (e.g., spam score, carrier signals, call reputation, repeated callers, etc.)? Is there any webhook event, call metadata field, or integration that can help us detect spam or robocalls? Are there recommended best practices on the application side (e.g., frequency-based blocking, ANI checks, silence detection, IVR validation) when using Retell inbound? If spam detection is not currently supported, are there any planned features or suggested third-party integrations for this use case?
a
Thanks for tagging me @mannankhan. I'll look through relevant sources and get back to you shortly.
### Answer Based on my available sources, Retell AI does not appear to have built-in spam detection mechanisms or metadata fields (like spam scores or carrier reputation signals) for inbound calls. What the documentation shows: For inbound calls, you can use custom SIP headers to pass data into calls. The header format is
sip.h.x-
which converts to dynamic variables after removing the prefix (e.g.,
sip.h.x-caller: abc
→
x-caller: abc
) . [(1) ]() You can also use the [Inbound Call Webhook]() to receive call data and make decisions before the agent handles the call. Recommended approach from community discussions: A community member suggested connecting Retell to an SBC service (like Jambonz or Cloudonix) and performing sanity checks against validation tools such as libphonenumber or IPQS before calls pass through. They also recommended using metric analysis for traffic velocity monitoring. [(2) ]() For web-based inbound calls, Retell offers a reCAPTCHA option that can help mitigate spam. Best practices to consider: 1. Use an intermediary SBC to validate incoming numbers against reputation services before routing to Retell 2. Implement traffic velocity analysis to detect unusual call patterns 3. Enable reCAPTCHA for web-initiated inbound calls I don't have information about planned features for native spam detection. For more details on this use case, you may want to reach out to: - [Contact Sales]() - [GitHub]() Would you like a general answer about spam detection approaches that could be implemented alongside Retell?
​ To learn more, see the sources I considered: [[1] Receive calls](https://docs.retellai.com/deploy/inbound-call) [[2] SPAM](https://discord.com/channels/1186424376300679209/1417913629520429226) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
m
@AI Evy how can we utilize the inbound call webhook? whats the purpose or use case of it?
a
Thanks for the follow-up, @mannankhan. I'll get back to you soon.
### Answer The inbound webhook lets you intercept inbound calls/SMS before they connect to an agent, giving you control over routing and personalization. [(1) ]() ## Use Cases - Filter and reject unwanted inbound calls/SMS - Add context (dynamic variables, metadata) to inbound calls/SMS - Override agent ID/version/specific agent settings for inbound calls/SMS - Pause the call/SMS to pick it up with some delay - Internal system records of the inbound call/SMS ## How It Works 1. Configure the webhook URL in your phone number settings (not at the agent level—this is at the phone number level so one number can route to different agents based on caller) . [(1) ]() [(2) ](

▾

) 2. When an inbound call arrives, Retell POSTs a payload to your endpoint containing
from_number
,
to_number
, and optionally `agent_id`/`agent_version` if configured. [(1) ]() 3. Your endpoint responds with JSON to control call handling. Sample request payload:
Copy code
json
{
  "event": "call_inbound",
  "call_inbound": {
    "agent_id": "agent_12345",
    "agent_version": 1,
    "from_number": "+12137771234",
    "to_number": "+12137771235"
  }
}
Sample response (to override agent and inject dynamic variables) :
Copy code
json
{
  "call_inbound": {
    "override_agent_id": "agent_12345",
    "override_agent_version": 1,
    "dynamic_variables": {
      "customer_name": "John Doe"
    },
    "metadata": {
      "random_id": "12345"
    }
  }
}
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) [[2] Personalization with Airtable](

https://www.youtube.com/watch?v=U8jdhkqOOhE▾

) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
## Rejecting Calls To selectively reject calls: - Unset the
Inbound Call Agent
in phone number settings - Enable the
Inbound Webhook
- Check
from_number
in the webhook request - To accept: respond with 200 and include
call_inbound.override_agent_id
- To reject: respond with 200 without
call_inbound.override_agent_id
The webhook has a 10-second timeout and retries up to 3 times if no 2xx response is received.
m
@AI Evy so if inbound webhook is enabled/set and call is reject after our checks, so we are never charged for that call? correct me if i am wrong?
a
Thanks for the follow-up, @mannankhan. I'll get back to you soon.
### Answer Based on the documentation, when you reject a call via the inbound webhook (by responding with 200 without
call_inbound.override_agent_id
) , the call object is not created. [(1) ]() The documentation states: > "Note that the call / SMS is not connected, and a call / SMS object is not yet created (and if you decided not to take the call for example, the call object will not be created) ." This indicates that rejected calls at the webhook stage don't proceed to agent connection. However, I don't have explicit information in my sources about billing specifics for rejected inbound calls. For confirmation on whether rejected calls incur charges, I'd recommend reaching out to: - [Contact Sales]() - [GitHub]() Would you like a general answer about how billing typically works for rejected calls in similar platforms?
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
m
@AI Evy so if inbound webhook is enabled call will take a while to connect to agent as compare to when inbound webhook is disabled or not set?
a
Thanks for the follow-up, @mannankhan. I'll get back to you soon.
### Answer ### Answer Yes, there will be some delay when the inbound webhook is enabled. [(1) ]() What happens during the webhook processing: - The call stays in ringing state while waiting for your webhook response. - The webhook has a 10-second timeout. - If no successful response (2xx) is received within 10 seconds, the webhook retries up to 3 times. So the connection time depends on how fast your webhook endpoint responds. If your endpoint responds quickly (e.g., within 1-2 seconds) , the delay is minimal. If it takes longer or fails, the caller experiences extended ringing. If the webhook fails entirely: After all retry attempts fail, Retell checks if the number has an inbound agent ID set—if so, it connects to that agent; if not, it disconnects the call. Bottom line: When the webhook is disabled/not set, the call connects immediately to the configured inbound agent. With the webhook enabled, there's at least a brief delay while your endpoint processes and responds.
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
m
@AI Evy also does retell support indian english accent?
a
Thanks for the follow-up, @mannankhan. I'll get back to you soon.
### Answer Yes, Retell AI supports Indian English. [(1) ]() [(2) ]() [(3) ]() The
language
parameter on voice agents includes
en-IN
(English - India) as an available option. You can set this when creating or configuring your agent to optimize speech recognition for Indian English accents and speech patterns. Available English variants include: -
en-US
(US English) -
en-IN
(Indian English) -
en-GB
(British English) -
en-AU
(Australian English) -
en-NZ
(New Zealand English)
​ To learn more, see the sources I considered: [[1] Get Agent Versions](https://docs.retellai.com/api-references/get-agent-versions) [[2] Create Voice Agent](https://docs.retellai.com/api-references/create-agent) [[3] List Voice Agents](https://docs.retellai.com/api-references/list-agents) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.