punk8357
04/19/2026, 2:11 PMAI Evy
04/19/2026, 2:11 PMAI Evy
04/19/2026, 2:12 PMtransfer_to_support immediately" .
Best practices for reliable tool calling:
- 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
- Provide context: Explain why each tool is being called
Alternative: Function Node
If you need guaranteed execution every time the flow reaches a specific point (rather than context-dependent calling) , use a Function Node instead [(1) ]() . Function nodes execute deterministically on node entry, while subagent nodes are LLM-driven and call tools when the LLM decides it's appropriate .AI Evy
04/19/2026, 2:12 PMAI Evy
04/19/2026, 2:12 PMpunk8357
04/19/2026, 2:13 PMAI Evy
04/19/2026, 2:13 PMAI Evy
04/19/2026, 2:13 PMAI Evy
04/19/2026, 2:13 PMAI Evy
04/19/2026, 2:13 PMpunk8357
04/19/2026, 9:11 PMAI Evy
04/19/2026, 9:11 PMAI Evy
04/19/2026, 9:11 PM{{transfer_number}} instead of a static number [(2) ]() . The variable gets substituted at runtime with the actual value you provide [(1) ]() [(2) ]() .
How it works:
1. In your transfer call tool or transfer node configuration, set the transfer number field to a dynamic variable (e.g., {{transfer_number}} or {{department_phone}}) [(2) ]()
2. Provide the actual phone number value through one of these methods:
- **For outbound calls**: Include the variable in your API request when creating the call [(1) ]()
- **For inbound calls**: Return the variable in your inbound call webhook response
- **Agent-level defaults**: Set default values in the agent configuration as a fallback
The transfer number must be in E.164 format or a SIP URI in the format sip:username@domain [(2) ]() .
Example use case: You could use {{assigned_agent_number}} as your transfer number variable, then populate it based on the caller's department, time of day, or any other logic in your webhook - allowing each call to transfer to a different number dynamically [(1) ]() [(2) ]() .AI Evy
04/19/2026, 9:11 PMAI Evy
04/19/2026, 9:11 PMpunk8357
04/19/2026, 9:12 PMAI Evy
04/19/2026, 9:12 PMAI Evy
04/19/2026, 9:13 PM{{transfer_number}} or {{department_phone}}) [(1) ]() [(3) ]() [(2) ]()
- A number in E.164 format [(3) ]() [(2) ]()
- A SIP URI in the format sip:username@domain
How to implement:
1. In the transfer destination field, enter a dynamic variable placeholder like {{transfer_number}} instead of a static number [(1) ]() [(3) ]() [(2) ]()
2. Provide the actual value at runtime through:
- **Outbound calls**: Set the variable in the retell_llm_dynamic_variables field when using the Create Phone Call API [(1) ]()
- **Inbound calls**: Supply the variable in your Inbound Call Webhook response
- **Agent-level defaults**: Configure default values in the agent settings as a fallback
This allows you to dynamically route calls to different numbers based on your logic - whether that's department, time of day, caller information, or any other criteria you define [(1) ](AI Evy
04/19/2026, 9:13 PMAI Evy
04/19/2026, 9:13 PM