neerajjoshi_
04/15/2026, 9:55 AMAI Evy
04/15/2026, 9:55 AMAI Evy
04/15/2026, 9:56 AMsip:sip.retellai.com
IP block for traffic: 18.98.16.120/30 (All regions) , 143.223.88.0/21 (certain United States traffic) , 161.115.160.0/19 (certain United States traffic)
Transport methods supported:
- TCP (Recommended) : sip:sip.retellai.com;transport=tcp
- UDP: sip:sip.retellai.com;transport=udp
- TLS: sip:sip.retellai.com;transport=tls
For your "destination not found" error, check:
1. Origination setup in Plivo - Ensure you've specified Retell's SIP server address sip.retellai.com as the origination SIP URI [(1) ]() [(2) ]()
2. Termination setup - Verify the termination SIP URI, username, and password are correctly configured in Plivo and imported into Retell
3. Number import - After configuring your SIP trunk in Plivo, you need to import the number to Retell so it knows how to route the call
For more detailed troubleshooting, check out these potentially useful sources:
- [Custom Telephony Overview]()
- [Vonage]() (similar SIP trunking setup process)
Would you like me to provide a general answer based on my knowledge instead?AI Evy
04/15/2026, 9:56 AMAI Evy
04/15/2026, 9:56 AMneerajjoshi_
04/15/2026, 2:44 PMAI Evy
04/15/2026, 2:44 PMAI Evy
04/15/2026, 2:45 PMagent_override for prompt-like behavior:
The agent_override object lets you modify agent behavior without changing the saved agent . For Retell LLM agents, you can override :
- `retell_llm.begin_message`: The opening greeting
- `retell_llm.model`: The LLM model used
- `retell_llm.model_temperature`: Response creativity
- `retell_llm.knowledge_base_ids`: Which knowledge bases to use
For Conversation Flow agents, similar overrides apply under conversation_flow .
Example response to modify agent behavior:
json
{
"call_inbound": {
"agent_override": {
"retell_llm": {
"begin_message": "Hi {{customer_name}}, thanks for calling.",
"model_temperature": 0.2
}
},
"dynamic_variables": {
"customer_name": "John Doe"
}
}
}
While you cannot replace the entire prompt, these overrides combined with dynamic variables give you significant control over how the agent responds on each call .AI Evy
04/15/2026, 2:45 PMAI Evy
04/15/2026, 2:45 PMneerajjoshi_
04/15/2026, 2:46 PMAI Evy
04/15/2026, 2:46 PMAI Evy
04/15/2026, 2:47 PMoverride_agent_id, override_agent_version, dynamic_variables, metadata, and agent_override for partial agent settings - but doesn't explain the design rationale for these specific limitations.
What you can do instead:
If you need different prompts for different inbound scenarios, you have these options:
1. Use override_agent_id - Create multiple agents with different prompts and route to them based on your inbound webhook logic [(1) ]() [(2) ]() [(3) ]() [(4) ]()
2. Use dynamic variables - Inject context-specific information that your prompt can reference using {{variable_name}} syntax [(1) ]() [(5) ]()
3. Use agent_override - Modify specific agent settings like begin_message, model_temperature, or knowledge_base_ids per-call [(1) ]()
For the architectural reasoning behind this design choice, you might want to reach out to Retell support directly or check their community forums for discussions on this topic.AI Evy
04/15/2026, 2:47 PMAI Evy
04/15/2026, 2:47 PMneerajjoshi_
04/15/2026, 2:48 PMAI Evy
04/15/2026, 2:48 PMAI Evy
04/15/2026, 2:49 PM{{variable_name}} syntax [(3) ]() .
How it works:
When you set general_prompt to {{system_prompt}} [(1) ]() [(2) ]() , and then provide the actual prompt content through dynamic variables, it will be injected at runtime [(1) ]() [(4) ]() [(5) ]() .
Example setup:
Create your Retell LLM with:
json
{
"general_prompt": "{{system_prompt}}"
}
[(1) ]()
Then when making a call or via inbound webhook, pass the full prompt:
json
{
"retell_llm_dynamic_variables": {
"system_prompt": "You are a helpful assistant. Your goal is to..."
}
}AI Evy
04/15/2026, 2:49 PMgeneral_prompt, begin_message, and tool descriptions [(1) ]() [(2) ]() [(3) ]()
- They're represented as key-value pairs of strings [(1) ]() [(4) ]() [(5) ]()
- You can set them via inbound webhook using the dynamic_variables field (for calls) or retell_llm_dynamic_variables (when creating calls directly) [(6) ]() [(4) ]()
This gives you the flexibility to dynamically control your entire system prompt per call while maintaining a single agent configuration.AI Evy
04/15/2026, 2:49 PMAI Evy
04/15/2026, 2:49 PMneerajjoshi_
04/15/2026, 2:50 PMAI Evy
04/15/2026, 2:50 PMAI Evy
04/15/2026, 2:51 PMretell_llm_dynamic_variables must be strings - numbers, booleans, or other data types are not supported .
For your specific approach:
While I don't see a Discord discussion specifically about using {{system_prompt}} as the entire general_prompt, the approach is technically supported by the platform. Dynamic variables can be used in prompts, begin messages, and tool configurations [(4) ]() .
To set dynamic variables for inbound calls:
You can supply dynamic variables in the inbound webhook response [(5) ]() [(4) ]() :
json
{
"call_inbound": {
"dynamic_variables": {
"system_prompt": "Your full prompt text here..."
}
}
}AI Evy
04/15/2026, 2:51 PMAI Evy
04/15/2026, 2:51 PMneerajjoshi_
04/15/2026, 5:00 PMAI Evy
04/15/2026, 5:00 PMAI Evy
04/15/2026, 5:01 PMAI Evy
04/15/2026, 5:01 PMllm_id that you can reference when configuring agents [(2) ]() [(1) ]() .
How it works:
When you create a Retell LLM, it returns an llm_id [(1) ]() :
json
{
"llm_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
"last_modification_timestamp": 1703413636133,
"version": 1,
"is_published": false,
"model": "gpt-4.1"
}AI Evy
04/15/2026, 5:01 PMllm_id when creating or configuring multiple agents [(2) ]() [(1) ]() . This allows you to maintain consistent LLM behavior (prompts, tools, states, etc.) across different agents while still being able to customize other agent-specific settings like voice, phone numbers, or webhook configurations [(1) ]() [(2) ]() .
Benefits of this approach:
- Centralized prompt management - update the LLM once and all connected agents reflect the changes [(4) ]()
- Consistency across multiple agents [(2) ]() [(3) ]()
- Easier testing and iteration [(4) ]()
You can view all your Retell LLMs using the list endpoint [(3) ]() , and update them as needed [(4) ]() .AI Evy
04/15/2026, 5:01 PMneerajjoshi_
04/15/2026, 5:03 PMAI Evy
04/15/2026, 5:03 PMAI Evy
04/15/2026, 5:03 PM{{system_prompt}} approach) provides flexibility [(1) ]() .
However, if agents have fundamentally different purposes or require distinct tool sets, separate LLMs offer cleaner separation and easier debugging [(2) ]() [(1) ](AI Evy
04/15/2026, 5:03 PMAI Evy
04/15/2026, 5:03 PMAI Evy
04/15/2026, 5:03 PM