Custom LLM WebSocket: transfer_number field being ignored - verified implementation

I’m using Custom LLM WebSocket and the transfer_number field is being completely ignored. I’ve verified my implementation matches the documentation exactly.

My WebSocket response:

{
  "response_type": "response",
  "response_id": 1,
  "content": "Of course, let me connect you with someone who can help.",
  "content_complete": true,
  "end_call": false,
  "transfer_number": "+xxxx666105",
  "no_interruption_allowed": true
}

What happens:

  • AI speaks the content :white_check_mark:

  • Transfer never executes :cross_mark:

  • Call continues with AI as if transfer_number wasn’t sent

  • No error returned

Setup:

  • Retell-provisioned phone number

  • Phone in E.164 format

  • Agent ID: agent_xd4d3xxd3da7710cfc9a3e02d2

Per the LLM WebSocket docs, transfer_number should “transfer the call to the number specified here after content is fully spoken.”

Questions:

  1. Is transfer_number actually supported for Custom LLM WebSocket?

  2. Is there dashboard configuration required to enable transfers?

  3. Are there any known issues with this feature?

Appreciate any help! Happy to provide call IDs or additional logs.

I’ve reviewed the LLM WebSocket documentation and your implementation appears correct according to the documented schema(1).

According to the documentation, the transfer_number field should transfer the call to the specified number after content is fully spoken, and it’s only applicable to numbers purchased through Retell(1). Your setup with a Retell-provisioned phone number should support this.

However, there’s a known limitation: the transfer_number field in the Custom LLM WebSocket response event only supports basic cold transfers and does not provide options to configure caller ID presentation (whether the transfer destination sees the Retell Agent’s number or the user’s number)(2). Additionally, warm transfers are not available through the Custom LLM WebSocket interface(2).

Potential issues to check:

  1. Verify the transfer destination number is valid and can receive calls
  2. Ensure you’re using Retell telephony (not custom telephony with your own SIP trunk, as transfer_number only applies to Retell numbers)(1)
  3. Check if there were any recent service disruptions - there was a documented outage affecting Custom LLM WebSocket functionality that lasted over 1 hour(3)

Since the feature should work as documented but isn’t functioning in your case, I recommend:

  • Contact Retell support directly at Contact Sales
  • Ask questions on Discord
  • Provide your call ID and agent ID when reporting the issue

The documentation confirms this feature should work, so this appears to be either a configuration issue or a potential bug that requires direct support investigation.

1 Like
  • “Is there any agent-level configuration in the dashboard required to enable transfer_number for Custom LLM WebSocket?”

  • “Can you check call ID logs for agent agent_4d4d34fd3da7710cfc9a3e02d2 to see if transfers are being received but failing?”

I cannot find any documentation indicating that agent-level dashboard configuration is required to enable transfer_number for Custom LLM WebSocket(1). The LLM WebSocket documentation shows that transfer_number is simply a field in the response event that you send from your server, and it should work as long as you’re using Retell telephony (numbers purchased through Retell)(1).

Regarding checking call ID logs for your specific agent, I don’t have access to your account data or call logs. The documentation does mention that the Get Call API now provides enhanced information including latency tracking for LLM and websocket roundtrip times(2), which could help diagnose issues, but I cannot directly access or query your call data.

To troubleshoot this issue, I recommend:

  1. Check your call logs yourself - Use the Get Call API to retrieve detailed logs for specific calls and look for any error messages or indicators about why the transfer might be failing(2)

  2. Verify your WebSocket connection - The documentation mentions that LLM WebSocket includes ping pong events and reconnection mechanisms to track server roundtrip latency(2). Connection issues could potentially prevent transfer commands from being processed

  3. Contact Retell support directly with your call IDs and agent ID - They can access your account-specific logs and diagnose the issue:

Since the documentation doesn’t indicate any special dashboard configuration is needed for transfer_number to work with Custom LLM WebSocket(1), and your implementation appears correct, this likely requires direct support investigation with access to your specific account and call logs.

DISREGARD! It does work. I was testing using the web gui and you can’t test that way.