neerajjoshi_
04/27/2026, 3:17 PMAI Evy
04/27/2026, 3:17 PMAI Evy
04/27/2026, 3:17 PMSHOULD_HANG_UP: "true" in your webhook response, and then configure your agent to check for this variable and end the call accordingly .
Here's how your webhook response would look [(2) ]() :
json
{
"call_inbound": {
"dynamic_variables": {
"SHOULD_HANG_UP": "true"
}
}
}
However, note that if your inbound webhook returns an error status (non-2xx) , the call may still connect without the dynamic variables rather than immediately ending [(1) ]() . The system is designed to gracefully degrade if the webhook fails, allowing the agent to continue rather than failing completely .
For Conversation Flow agents, you'll need to create a condition in your first node to check this variable and route to an end call action if it's set to true .AI Evy
04/27/2026, 3:17 PMAI Evy
04/27/2026, 3:17 PMneerajjoshi_
04/27/2026, 3:18 PMAI Evy
04/27/2026, 3:18 PMAI Evy
04/27/2026, 3:18 PMfrom_number in the request body
4. **To reject the call**: respond with a 200 status code without the call_inbound.override_agent_id field
5. **To accept the call**: respond with a 200 status code containing the call_inbound.override_agent_id field
When you don't include the override_agent_id in your response and there's no default inbound agent set on the number, the call will be disconnected before connecting to any agent .AI Evy
04/27/2026, 3:18 PMAI Evy
04/27/2026, 3:19 PMAI Evy
04/27/2026, 3:34 PMneerajjoshi_
04/27/2026, 3:42 PMAI Evy
04/27/2026, 3:42 PMAI Evy
04/27/2026, 3:42 PMsip:user@retellai.com) , or a dynamic variable
3. Update the Prompt - Include transfer conditions in your agent's prompt, such as: "If the user is angry or frustrated, use the transfer_call tool to transfer the conversation to a human agent"
4. Configure Transfer Type - Choose "Warm transfer" instead of "Cold transfer"
5. Configure Warm Transfer Settings :
- On-hold music - Choose audio played while caller is on hold (default is ringtone)
- Enable human detection - Agent checks if a human is present after transfer target answers
- Auto-greet - Agent immediately says "Hello" when transfer target picks up
- Agent detection timeout - Maximum time to wait to determine if transfer target is human (default 30 seconds)
- *Whisper message (optional) * - Private message spoken to transfer target before connecting caller
- *Three-way message (optional) * - Message spoken to both transfer target and caller once connected
For Conversation Flow Agents:
Use the Call Transfer Node and configure similar settings, choosing "warm transfer" as the transfer type [(2) ]()
Advanced Warm Transfer:
Retell AI also offers an advanced warm transfer feature where a transfer AI has a two-way conversation with the transfer target before bridging the original caller [(2) ]() [(3) ](https:/AI Evy
04/27/2026, 3:42 PMAI Evy
04/27/2026, 3:42 PMAI Evy
04/27/2026, 3:42 PMneerajjoshi_
04/27/2026, 3:43 PMAI Evy
04/27/2026, 3:43 PMAI Evy
04/27/2026, 3:43 PMAI Evy
04/27/2026, 3:43 PMAI Evy
04/27/2026, 3:44 PMAI Evy
04/27/2026, 3:44 PMneerajjoshi_
04/28/2026, 12:35 PMAI Evy
04/28/2026, 12:36 PMAI Evy
04/28/2026, 12:36 PMgpt-4.1 (default/recommended)
- gpt-4.1-mini
- gpt-4.1-nano
- gpt-5
- gpt-5-mini
- gpt-5-nano
- gpt-5.1
- gpt-5.2
- gpt-5.4
- gpt-5.4-mini
- gpt-5.4-nano
- claude-4.5-sonnet
- claude-4.6-sonnet
- claude-4.5-haiku
- gemini-2.5-flash
- gemini-2.5-flash-lite
- gemini-3.0-flash
For speech-to-speech models (set separately from text models) :
- gpt-realtime-1.5
- gpt-realtime
- gpt-realtime-mini
Important Note: You can only set either a text model (model) or a speech-to-speech model (s2s_model) , not both .
For tool calling scenarios, a lower model_temperature value is recommended to ensure more deterministic responses .AI Evy
04/28/2026, 12:36 PMAI Evy
04/28/2026, 12:36 PMneerajjoshi_
04/28/2026, 12:37 PMAI Evy
04/28/2026, 12:37 PMAI Evy
04/28/2026, 12:37 PMAI Evy
04/28/2026, 12:37 PMAI Evy
04/28/2026, 12:37 PMneerajjoshi_
04/28/2026, 12:38 PMAI Evy
04/28/2026, 12:38 PMAI Evy
04/28/2026, 12:38 PMAI Evy
04/28/2026, 12:39 PMAI Evy
04/28/2026, 12:39 PM