Transfer to variable not working

Hello all,

I’ve built a (working) agent that transfers calls out to a human depending on the type of call (tech, finance, artwork).

I’m now expanding on the agent and I want it to try to transfer to one of four ‘on-call’ human agents. The order that they should be tried changes every week - it’s a typical IT Support out of ours on-call rota.

I’ve managed to get the numbers over from a Make.com automation, from a JSON file. The numbers then make it over to Retell - I’ve managed to debug it to have the agent read the variable out to me, it just won’t transfer to the variable {{get_rota.result.tech1}}, {{get_rota.result.tech2}} etc…

I’ve tried individual call transfer nodes and a ‘Dynamic Routing’ option with all the variables in..

Transfer to {{get_rota.result.tech2}} first and if there’s no answer, try {{get_rota.result.tech2}} again. If there’s no answer try {{get_rota.result.tech3}} and then try again if there’s no answer. Finally, try to transfer to {{get_rota.result.tech1}} Between each attempt, reassure the caller that you’re still there and are trying to locate a member of the team.

It’s just not working. I’ve come so far and feel like I’ve done all the hard work!

Based on your description, it sounds like you’re trying to use dynamic variables for call transfers in Retell AI. Let me clarify how this should work.

Dynamic Variables in Call Transfer

Dynamic variables can be used in call transfer configurations.(1) When setting up your Call Transfer Node, you can set the transfer number to be a dynamic variable that gets substituted at runtime.(2)

For your use case with rotating on-call numbers, here’s what you need to check:

1. Variable Format
Ensure your phone numbers are in E.164 format (e.g., +12137771234).(2) The dynamic variables from your Make.com automation must provide numbers in this exact format.

2. Transfer Node Configuration
In your Call Transfer Node, set the “Transfer To Target” as a dynamic variable.(2) You should be able to reference your variables like {{get_rota.result.tech1}} directly in the transfer target field.

3. Sequential Attempts
For handling multiple transfer attempts with fallback logic, you’ll need to set up multiple Call Transfer Nodes in sequence. Transition happens when transfer fails - there’s a pre-populated edge for this that you can connect to the next node to handle transfer failure.(2)

Your conversation flow should look something like:

  • Transfer Node 1 → uses {{get_rota.result.tech1}}
  • On failure edge → Conversation Node (reassure caller)
  • Transfer Node 2 → uses {{get_rota.result.tech2}}
  • On failure edge → Conversation Node (reassure caller)
  • And so on…

4. Common Issues

Based on community discussions, a common issue is agent versioning.(3) Make sure you’re using the correct agent version (draft vs. deployed) that has your latest configuration. If you updated the agent but are still using an older version on your phone number, it may use outdated transfer settings.(3)

5. Testing Dynamic Variables

You can test dynamic variables by entering them when sending a test call directly from the platform.(4) The test call will automatically pull in the dynamic variables you’ve set in the agent configuration.(4)

Troubleshooting Steps

  1. Verify your dynamic variables are being populated correctly (you mentioned the agent can read them out, which is good)
  2. Confirm the phone numbers are in E.164 format
  3. Check that you’re using the latest agent version (or set to “draft” for testing)(3)
  4. Set up individual Call Transfer Nodes with failure edges connecting to the next attempt
  5. Add Conversation Nodes between transfer attempts to reassure the caller

The “Dynamic Routing” approach you mentioned in a single node won’t work for sequential fallback attempts - you need separate nodes connected by failure transition edges.

Not quite sure on the process here, do I reply to the AI?

Either way, I did / checked everything you said and it still won’t work