If I perform an agent transfer and select the latest version, it works correctly. If I modify the agent I’m transferring to, the new version is no longer selected, but it is selected. However, if I modify the agent I’m transferring to again, the second time the system replaces the latest version with the original one, it no longer works correctly.
In short, it only retains the version for the first modification; it doesn’t work for the second. In a complex system, there are always modifications. This is how it is.
When configuring Agent Transfer in Retell AI, you can select either a specific version number or the latest version of the destination agent(1). The Agent Transfer tool allows you to configure the “Transfer agent” setting, which includes the ID and version of a specific agent to transfer to, and you can select the latest version as well(1).
Based on the agent versioning system, when you publish an agent via the “Deployment” button in the dashboard, Retell automatically updates the version number(2). Published versions cannot be changed, and only the latest version can be modified(2). The version number is a monotonically increasing integer, and both the agent and the corresponding retell_llm or conversation flow have the same version number(2).
The behavior you’re describing—where selecting “latest version” stops working correctly after the second modification—suggests there may be an issue with how the Agent Transfer tool tracks version updates when you repeatedly modify the destination agent.
I don’t have specific documentation explaining this exact behavior pattern. I recommend:
Checking if you need to re-publish the transferring agent (not just the destination agent) after each modification to the destination agent
Verifying in the Agent Transfer tool configuration whether “latest version” is still selected after each publish
Comparing agent versions to see what’s changing between publishes(3)
For production systems with frequent modifications, you might want to consider explicitly specifying version numbers rather than relying on “latest version” to ensure predictable behavior.
It’s during the call transfer when you issue a “warn transfer to human” and assign the agent to be transferred. If you set the version to “latest,” the first change you make to the agent you’re transferring the call to is detected and updates the version. However, instead of retaining the “latest” version, it sets the new version number. Therefore, subsequent changes to the agent for the human call don’t modify the version of the agent from which the call transfer is initiated.