https://retellai.com/?utm_source=discord&utm_medium=seo logo
Hey can you help me with plivo with retell setup i...
# ❓・ai-evy-support
n
@AI Evy Hey can you help me with plivo with retell setup it says destination not found on plivo z trunks logs
a
Thanks for tagging me @neerajjoshi_. I'll look through relevant sources and get back to you shortly.
### Answer Based on the available sources, I don't have specific documentation for Plivo integration with Retell AI. However, I can provide general guidance for SIP trunking setup that should help resolve your "destination not found" error. For custom telephony providers using elastic SIP trunking, you need to configure both origination (inbound) and termination (outbound) settings [(1) ]() . Key configuration points: Retell SIP server URI:
sip: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?
​ To learn more, see the sources I considered: [[1] Custom Telephony Overview](https://docs.retellai.com/deploy/custom-telephony) [[2] Vonage](https://docs.retellai.com/deploy/vonage) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
n
@AI Evy Hey we cannot orride prompt via inbound webhook why?
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
### Answer You cannot directly override the prompt itself via the inbound webhook, but you can override agent-level settings that affect how the agent behaves [(1) ]() . The inbound webhook response supports these override fields : - `override_agent_id`: Override which agent handles the call - `override_agent_version`: Override the agent version - `dynamic_variables`: Set dynamic variables for personalization - `metadata`: Set metadata for the call - `agent_override`: Override specific agent settings per-call Using
agent_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:
Copy code
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 .
​ 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.
n
@AI Evy can you tell me why is that? Why retell dicided to not give general prompt override?
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
### Answer I don't have information in the available sources explaining the specific reasoning behind why Retell AI designed the inbound webhook to not support full prompt override [(1) ]() . The documentation shows what is supported through the inbound webhook - including
override_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.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
​ To learn more, see the sources I considered: [[1] Inbound webhook](https://docs.retellai.com/features/inbound-call-webhook) [[2] Discord message from @katecardenas_67927 on 2025-09-17](https://discord.com/channels/1186424376300679209/1186462578310910112/1417939440860528783) [[3] Discord message from @dedmeat on 2025-09-09](https://discord.com/channels/1186424376300679209/1186462578310910112/1415076614563303506) [[4] Importing existing phone number to multiple agents via API](https://discord.com/channels/1186424376300679209/1418871771045564509) [[5] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) ​
n
@AI Evy I am thinking to change system prompt via dynamic variables Like general prompt will be - {{system_prompt}} And system_prompt itself will have all the things
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
### Answer Yes, this approach should work. Dynamic variables are injected into your Retell LLM prompt and tool descriptions [(1) ]() [(2) ]() , and you can reference them using the
{{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:
Copy code
json
{
  "general_prompt": "{{system_prompt}}"
}
[(1) ]() Then when making a call or via inbound webhook, pass the full prompt:
Copy code
json
{
  "retell_llm_dynamic_variables": {
    "system_prompt": "You are a helpful assistant. Your goal is to..."
  }
}
[(6) ]() [(4) ]() Important notes: - Dynamic variables work in
general_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.
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
n
@AI Evy Has anyone done this before can you check this discord
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
### Answer Based on the available Discord sources, I found relevant discussions about using dynamic variables for inbound calls, though not specifically about using them to replace the entire system prompt [(1) ]() [(2) ]() . Key findings from Discord discussions: The community has discussed setting dynamic variables for inbound calls through the inbound webhook . One user specifically asked about populating dynamic variables during inbound calls and was directed to use the inbound webhook approach [(2) ]() . Important limitation to be aware of: There's a documented issue where dynamic variables via inbound webhook break if non-string values are sent [(3) ]() . The documentation clearly states that all values in
retell_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) ]() :
Copy code
json
{
  "call_inbound": {
    "dynamic_variables": {
      "system_prompt": "Your full prompt text here..."
    }
  }
}
[(5) ]() Critical requirement: Ensure your
system_prompt
value is a string. Any attempt to pass non-string values will cause the dynamic variables to fail [(3) ]() .
​ To learn more, see the sources I considered: [[1] Dynamic Variables For Inbound Calls](https://discord.com/channels/1186424376300679209/1352197272770973786) [[2] Populating Dynamic Variables During An Inbound Call](https://discord.com/channels/1186424376300679209/1228587811188379649) [[3] Dynamic Variables via inbound webhook break if non-string values are sent](https://discord.com/channels/1186424376300679209/1420429628979282011) [[4] Dynamic Variables](https://docs.retellai.com/build/dynamic-variables) [[5] 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.
n
@AI Evy Hey can we have one llm that is connected to multiple agents??
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
​ To learn more, see the sources I considered: [[1] Create Retell LLM](https://docs.retellai.com/api-references/create-retell-llm) [[2] Get Retell LLM](https://docs.retellai.com/api-references/get-retell-llm) [[3] List Retell LLMs](https://docs.retellai.com/api-references/list-retell-llms) [[4] Update Retell LLM](https://docs.retellai.com/api-references/update-retell-llm) ​
### Answer Yes, you can use one Retell LLM Response Engine across multiple agents [(1) ]() [(2) ]() [(3) ]() . The Retell LLM is a separate resource that you create and can then attach to different agents [(1) ]() . Each Retell LLM has a unique
llm_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) ]() :
Copy code
json
{
  "llm_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
  "last_modification_timestamp": 1703413636133,
  "version": 1,
  "is_published": false,
  "model": "gpt-4.1"
}
You can then use this same
llm_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) ]() .
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.
n
@AI Evy is this a good practice?
a
Thanks for the follow-up, @neerajjoshi_. I'll get back to you soon.
### Answer Whether sharing one Retell LLM across multiple agents is a good practice depends on your specific use case [(1) ]() . When it's beneficial: - **Consistent behavior needed**: If multiple agents should handle conversations similarly with the same prompts, tools, and logic - **Centralized management**: Update the LLM once and all connected agents reflect the changes - **Easier maintenance**: Single source of truth for your conversational logic When it might not be ideal: - **Different use cases**: If agents serve distinct purposes (e.g., sales vs. support vs. appointment booking) , separate LLMs allow better customization [(2) ]() - **A/B testing**: Testing different prompt strategies requires separate LLM configurations [(1) ]() - **Complex state management**: If agents need very different conversation flows, separate LLMs with their own states make more sense [(1) ]() [(3) ]() Best practice recommendation: Based on the Prompt Engineering Guide, use sectional prompts and consider Conversation Flow for complex tasks [(2) ]() . If your agents share the same core logic but need minor variations, one LLM with dynamic variables (like your
{{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) ](
/api-references/update-retell-llm) . **
​ To learn more, see the sources I considered: [[1] Update Retell LLM](https://docs.retellai.com/api-references/update-retell-llm) [[2] Prompt Engineering Guide](https://docs.retellai.com/build/prompt-engineering-guide) [[3] Introducing Retell LLM Beta](https://www.retellai.com/changelog/introducing-retell-llm-beta) ​
Feel free to tag @AI Evy with additional questions. I also appreciate feedback, it helps me improve.