Dan@beHuman
01/08/2026, 9:32 PMAI Evy
01/08/2026, 9:32 PMAI Evy
01/08/2026, 9:32 PM{"customer_id":"6229"}
- Whereas MCP may return: "{\"customer_id\": 12345}" (stringified)
- This can cause response variables to not be extracted and transitions to fail.
2. Configuration Not Persisting
- In Conversation Flow agents, response variables set in MCP tool blocks may not persist when reopening the block—it reverts to tool selection instead of showing saved variables. [(2) ]()
- This appears to be a known bug in Conversation Flow (works correctly in Multi-Prompt type) .
3. Duplicate Functions or Transitions
- Errors can occur if there are duplications in functions or transitions in your flow.
4. Tools List Loading Forever
- When connecting a custom MCP server, the tools list in the Retell dashboard may get stuck on "Loading..." even if /mcp/manifest.json and /mcp/tools endpoints return correct data via curl. [(3) ]()
5. Server/Protocol Issues
- Problems may be related to how the MCP server returns responses (e.g., Make.com using /stream protocol) . [(1) ]()
If you're experiencing issues, try refreshing the page or reopening the flow, and check for any duplicate configurations. [(2) ]()AI Evy
01/08/2026, 9:32 PMAI Evy
01/08/2026, 9:32 PMDan@beHuman
01/08/2026, 9:47 PMDan@beHuman
01/08/2026, 9:47 PMAI Evy
01/08/2026, 9:47 PMAI Evy
01/08/2026, 9:47 PM///## Tool Usage Instructions
1. Gather initial information about the customer's issue.
2. Determine the type of request:
- If customer mentions "refund" or "money back":
→ Call function `transfer_to_support` immediately
- If customer needs order status:
→ Call function `check_order_status` with order_id
Key best practices for tool instructions:
- **Use trigger words**: List specific words/phrases that should trigger tool calls
- **Define sequences**: Specify when tools should be called in order
- **Set boundaries**: Clarify when NOT to call certain tools
So for MCP tools, you would include instructions in the node's instruction prompt that explicitly state when the MCP tool should be invoked (e.g., "When the user asks about X, call the MCP tool `tool_name`") .
The documentation doesn't provide specific MCP node configuration details beyond what's shown in the API references. If you need more specific guidance on MCP node setup, I'd recommend checking:
- [Prompt Engineering Guide]()
- [Create Conversation Flow]()AI Evy
01/08/2026, 9:47 PMAI Evy
01/08/2026, 9:47 PMDan@beHuman
01/09/2026, 5:38 PMDan@beHuman
01/09/2026, 5:38 PMAI Evy
01/09/2026, 5:38 PMAI Evy
01/09/2026, 5:39 PMMCP error -32601: Method not found: tools/call indicates that your MCP server doesn't support the tools/call method that Retell AI is trying to invoke.
[(1) ]()
This is typically an MCP server configuration issue, not a Retell AI issue. The error means:
1. Your MCP server endpoint may not implement the required method — Retell AI's MCP node expects the server to handle tools/call requests, but your server isn't recognizing that method.
2. Protocol mismatch — Some MCP servers (like Make.com using /stream protocol) may return responses in formats that don't align with what Retell expects.
[(2) ]()
Things to check:
- Verify your MCP server correctly implements the tools/call endpoint/method
[(1) ]()
- Ensure your MCP Server Endpoint URL is correct and the server is running
[(3) ]()
- Check that the tool you selected in the MCP node actually exists on your server
- Review your MCP server logs to see how it's receiving and processing the request
If using a third-party MCP service (Zapier, Make.com, custom API) , confirm their documentation shows support for the standard MCP tools/call method.
[(1) ]()
One user with similar MCP issues ended up switching to custom functions instead, which worked well for their use case.
[(4) ]()AI Evy
01/09/2026, 5:39 PMAI Evy
01/09/2026, 5:39 PMDan@beHuman
01/10/2026, 8:39 PMAI Evy
01/10/2026, 8:39 PMAI Evy
01/10/2026, 8:39 PMAI Evy
01/10/2026, 8:39 PMAI Evy
01/10/2026, 8:39 PMAI Evy
01/10/2026, 8:39 PMDan@beHuman
01/12/2026, 4:30 PMAI Evy
01/12/2026, 4:30 PMAI Evy
01/12/2026, 4:30 PMjavascript
import Retell from 'retell-sdk';
const client = new Retell({
apiKey: 'YOUR_RETELL_API_KEY',
}) ;
const batchTestResponse = await client.tests.createBatchTest({
response_engine: { llm_id: 'llm_id', type: 'retell-llm' },
test_case_definition_ids: ['string'],
}) ;
console.log(batchTestResponse.test_case_batch_job_id) ;
This allows you to:
- Trigger batch tests from scripts or CI/CD pipelines
- Pass an array of test case definition IDs (1-200 elements per batch)
- Optionally reserve concurrency for batch processing
The response includes a test_case_batch_job_id and status (in_progress or complete) along with pass/fail/error counts.
For scheduling or repeated automated runs, you'd need to build a wrapper (e.g., cron job, scheduled task) that calls this API endpoint at your desired intervals—the documentation doesn't show a built-in scheduling feature for batch tests specifically.AI Evy
01/12/2026, 4:30 PMAI Evy
01/12/2026, 4:30 PMAI Evy
01/13/2026, 3:02 AMDan@beHuman
01/13/2026, 3:02 AMAI Evy
01/13/2026, 3:02 AMAI Evy
01/13/2026, 3:02 AMAI Evy
01/13/2026, 3:02 AMAI Evy
01/13/2026, 3:02 AMDan@beHuman
01/13/2026, 3:08 AMDan@beHuman
01/13/2026, 3:08 AMAI Evy
01/13/2026, 3:08 AMAI Evy
01/13/2026, 3:08 AMAI Evy
01/13/2026, 3:08 AMAI Evy
01/13/2026, 3:08 AMDan@beHuman
01/13/2026, 3:42 PMAI Evy
01/13/2026, 3:42 PMAI Evy
01/13/2026, 3:43 PMAI Evy
01/13/2026, 3:43 PMAI Evy
01/13/2026, 3:43 PMDan@beHuman
01/13/2026, 3:45 PMAI Evy
01/13/2026, 3:45 PMAI Evy
01/13/2026, 3:45 PMSystem prompt (with state) = general prompt + state prompt
- System prompt (no state) = general prompt
Similarly, tools are assembled as:
- Tools of LLM (with state) = general tools + state tools + state transitions
- Tools of LLM (no state) = general tools
From community discussion, one user's understanding (which was confirmed as "more or less correct") suggests the context structure looks like: [(2) ]()
- System prompt
- General instruction
- Instruction from the current node
- RAG chunks
For Conversation Flow, the documentation explains that: [(3) ]()
- Global Settings apply to the entire conversation (default voice, language preferences, global prompt)
- Nodes dictate specific interactions with their own prompts
- The global prompt "sets the context for conversations across all nodes" to maintain consistency
Regarding prompt engineering, the Prompt Engineering Guide recommends using sectional prompts with sections like Identity, Style Guardrails, Response Guidelines, Task Instructions, and Objection Handling. [(4) ]()
Unfortunately, there isn't detailed documentation on the exact injection mechanics or context window management. You may want to reach out via [Contact Sales]() or check [GitHub](AI Evy
01/13/2026, 3:45 PMAI Evy
01/13/2026, 3:46 PMAI Evy
01/13/2026, 3:46 PMDan@beHuman
01/13/2026, 9:55 PMAI Evy
01/13/2026, 9:55 PMAI Evy
01/13/2026, 9:56 PMAI Evy
01/13/2026, 9:56 PMAI Evy
01/13/2026, 9:56 PMDan@beHuman
01/16/2026, 7:42 PMAI Evy
01/16/2026, 7:42 PMAI Evy
01/16/2026, 7:42 PM18.98.16.120/30
- Ensure your network firewalls allow this CIDR
- Confirm your SIP trunking provider has IP-based authentication configured correctly
- Some providers (e.g., Telnyx) may require additional settings
If you use Credentials for SIP Authentication:
- Ensure your firewalls allow: 18.98.16.120/30
- No further authentication changes are required
Important note: If you purchased your number directly through Retell (not via SIP trunking) , you don't need to take any action—this only applies to users with custom SIP trunk configurations.
The IP block 18.98.16.120/30 is also documented as the traffic range for all regions that you can whitelist for Retell's SIP server.
[(2) ]()AI Evy
01/16/2026, 7:42 PMAI Evy
01/16/2026, 7:42 PMDan@beHuman
01/20/2026, 11:19 PMAI Evy
01/20/2026, 11:19 PMAI Evy
01/20/2026, 11:19 PMAI Evy
01/20/2026, 11:19 PMAI Evy
01/20/2026, 11:19 PMDan@beHuman
01/20/2026, 11:21 PMAI Evy
01/20/2026, 11:21 PMAI Evy
01/20/2026, 11:21 PMAI Evy
01/20/2026, 11:21 PMAI Evy
01/20/2026, 11:21 PMDan@beHuman
01/20/2026, 11:24 PMAI Evy
01/20/2026, 11:24 PMAI Evy
01/20/2026, 11:24 PMllm_token_usage field that provides token usage data. [(1) ]()
Here's what's available:
javascript
"llm_token_usage": {
"values": [
123
],
"average": 123,
"num_requests": 123
}
This field is:
- Available after the call ends
- Not populated if using custom LLM, realtime API, or if no LLM call is made
You can retrieve this via the Get Call API endpoint or the List Calls endpoint. , [(2) ]()
However, this shows aggregate token usage across the call—not a per-prompt breakdown showing exactly how many tokens each individual prompt consumed. The documentation doesn't indicate a way to see token counts for each specific prompt or node within a call.
For pre-deployment estimation of your prompt's token count, you'd need to use external tokenizer tools (like OpenAI's tiktoken) as mentioned in the previous discussion.AI Evy
01/20/2026, 11:24 PMAI Evy
01/20/2026, 11:24 PMDan@beHuman
01/20/2026, 11:32 PMAI Evy
01/20/2026, 11:32 PMAI Evy
01/20/2026, 11:32 PMAI Evy
01/20/2026, 11:32 PMAI Evy
01/20/2026, 11:32 PMDan@beHuman
01/20/2026, 11:33 PMAI Evy
01/20/2026, 11:33 PMAI Evy
01/20/2026, 11:34 PMAI Evy
01/20/2026, 11:34 PMAI Evy
01/20/2026, 11:34 PMDan@beHuman
01/21/2026, 8:52 PMAI Evy
01/21/2026, 8:52 PMAI Evy
01/21/2026, 8:52 PMAI Evy
01/21/2026, 8:52 PMAI Evy
01/21/2026, 8:52 PMDan@beHuman
02/02/2026, 6:17 PMAI Evy
02/02/2026, 6:17 PMAI Evy
02/02/2026, 6:17 PMsip:sip.retellai.com
- IP block to whitelist: 18.98.16.120/30 (All regions)
- Supported transport methods: TCP (recommended) , UDP, TLS
For inbound calls with different transport:
- TCP: sip:sip.retellai.com;transport=tcp
- UDP: sip:sip.retellai.com;transport=udp
- TLS: sip:sip.retellai.com;transport=tls
With this method, you'd call the [Register Phone Call API]() to get a call_id, then dial to: sip:{call_id}@sip.retellai.com
Note: Retell won't throw errors if the configuration is incorrect—you'll only know if the setup works once a call is made. If calls aren't connecting, check your SIP trunk logs with RingCentral.AI Evy
02/02/2026, 6:17 PMAI Evy
02/02/2026, 6:17 PMDan@beHuman
02/02/2026, 7:33 PMAI Evy
02/02/2026, 7:33 PMAI Evy
02/02/2026, 7:33 PMAI Evy
02/02/2026, 7:33 PMAI Evy
02/02/2026, 7:33 PMDan@beHuman
02/02/2026, 8:27 PMAI Evy
02/02/2026, 8:27 PMAI Evy
02/02/2026, 8:27 PM{{current_time_America/New_York}}
This will return the current time formatted like: "Thursday, March 28, 2024 at 11:46:04 PM EDT"
How it works:
- {{current_time}} defaults to America/Los_Angeles timezone
- {{current_time_[timezone]}} lets you specify any timezone
- For EST/EDT, use America/New_York as the timezone identifier , [(2) ]()
This is a default system variable—no configuration required. [(1) ]()AI Evy
02/02/2026, 8:27 PMAI Evy
02/02/2026, 8:27 PMDan@beHuman
02/05/2026, 3:18 PMAI Evy
02/05/2026, 3:18 PMAI Evy
02/05/2026, 3:18 PMcall_started – Triggered when a new call begins (provides basic call information)
- call_ended – Triggered when a call completes, transfers, or encounters an error
- call_analyzed – Triggered when call analysis is complete
To set this up:
You configure a webhook URL in your agent settings, and Retell will POST the payload to your endpoint when events occur.
Here's a sample payload for a call_started or call_ended event:
json
{
"event": "call_ended",
"call": {
"call_type": "phone_call",
"from_number": "+12137771234",
"to_number": "+12137771235",
"direction": "inbound",
"call_id": "Jabr9TXYYJHfvl6Syypi88rdAHYHmcq6",
"agent_id": "oBeDLoLOeuAbiuaMFXRtDOLriTJ5tSxD",
"call_status": "registered",
"start_timestamp": 1714608475945,
"end_timestamp": 1714608491736,
"disconnection_reason": "user_hangup"
}
}
Note: If the call did not connect (like dial failed) , the call_started webhook event will not be triggered—only call_ended and call_analyzed will fire.
From there, you can use the webhook to trigger Slack messages, email alerts, or any other notification system you prefer. [(2) ]() , [(3) ]()AI Evy
02/05/2026, 3:18 PMAI Evy
02/05/2026, 3:18 PMDan@beHuman
02/27/2026, 8:48 PMAI Evy
02/27/2026, 8:48 PMAI Evy
02/27/2026, 8:48 PMAI Evy
02/27/2026, 8:48 PMcall_started events to confirm the system is receiving calls [(2) ]()
But for a true end-to-end health check without a full AI conversation, the immediate transfer via inbound webhook is the suggested approach. [(1) ]()AI Evy
02/27/2026, 8:48 PM