How can I setup experimental warm transfer to prop...
# support
l
I have voice agent that supposed to direct the user to correct office based on a dynamic office variable I provide to the agent. I setup warm transfer experimental to do this but it always just transfers to the first number in the list. I setup the description under each phone number that if variable {{location}} equals Mineola then use this number. However the routing doesn’t work? Anyone set this up properly.
c
Hi there, Thank you for your message. Our team is currently out of the office. We operate Monday through Friday, from 9:00 AM to 8:00 PM Pacific Standard Time (PST). We’ll get back to you as soon as possible during our normal business hours. If your message is urgent, please mark it accordingly or include “URGENT” in the subject line, and we’ll do our best to respond promptly. Warm regards, Vapi Customer Support Team
v
Thanks for sharing the details. To help troubleshoot, could you clarify: Are you using a webhook (dynamic transfer tool) to select the destination at runtime, or are you relying solely on assistant prompts and static tool configuration for routing based on the
{{location}}
variable?
This will help determine the best way to achieve dynamic office selection. Sources: - [Assistant-based warm transfer](https://docs.vapi.ai/calls/assistant-based-warm-transfer) - [Dynamic call transfers](https://docs.vapi.ai/calls/call-dynamic-transfers)
y
Yeah, warm transfer routing in Vapi is pretty finicky - I've run into this exact issue before. The problem is that the agent often doesn't properly evaluate the descriptions when choosing which number to transfer to, especially with dynamic variables. Here's what actually works: Instead of relying on descriptions, use a function/tool that handles the routing logic and returns the specific phone number. Something like:
Copy code
function: getTransferNumber
description: "Determines correct office number based on location"
parameters: location (string)
Then have your tool return the exact phone number based on the location variable, and use that in a standard transfer call. Alternative approach: Set up separate transfer destinations with more explicit naming like "transfer_to_mineola" instead of generic descriptions. The agent seems to handle explicit function names better than parsing description text. I've had better luck with programmatic routing rather than letting the agent "decide" from descriptions. The warm transfer experimental feature is still pretty buggy with dynamic routing. Want me to walk you through the function setup? It's way more reliable than the description-based approach.
l
Would your process do a blind transfer? Any way for agent it to be a warm transfer in your process. The reason I chose warm transfer experimental was specifically for the ability to give operator a scripted message.
y
Yeah makes sense warm transfer was the exact reason I tested it too. The way I set it up, it still does a proper warm transfer with the scripted intro, just that the routing logic is handled cleanly by a function instead of relying on descriptions. Don’t want to flood the thread with details I can DM you the exact flow I used if you want.
l
@Yushoo yes that would be great. Thanks for the help 🙂
y
Alright I have hit you up
I can’t message you
I can’t reply to you on discord , just reached out to discord support Can we discuss better on WhatsApp +2348101488169
c
Hi Letter, To set up call forwarding in Vapi, you can use the transferCall tool to manage call redirection based on specific conditions. Here are the steps to configure call forwarding: 1. Dashboard Configuration: - Navigate to Tools in your Vapi dashboard. - Click on Create Tool and select Transfer Call as the tool type. - Configure your destinations and set custom messages to inform callers about the forwarding process. 2. API Configuration: - Alternatively, define your tool via API by specifying desired destinations and messages within a structured JSON format. 3. Using the
transferCall
Function: - Implement this function in your assistant to forward calls whenever needed based on predefined instructions. 4. Customized Messages: - Customize messages for each destination to provide clear information about call forwarding. 5. Troubleshooting: - If calls are not transferring, verify the configuration by checking logs for errors and ensuring the correct destination numbers are utilized. For a more detailed guide, please refer to the [Call Forwarding | Vapi](https://docs.vapi.ai/call-forwarding) documentation. If this doesn’t resolve the issue, please let us know and we’ll be happy to step in and assist further.