Transfer calls to 2 different numbers depends of t...
# support
m
I’m trying to build an AI agent that transfers calls to either a support or sales agent based on detected intent. I’ve set up the transferCall tool with both phone numbers and a transfer_reason parameter, but Vapi always transfers to the first number, regardless of the parameter value. It appears there’s no way to set a conditional rule or expression for each destination in the tool—so dynamic routing for support/sales is impossible. Please help! @Shubham Bajaj @Kings_big💫 @
w
I had the same exact issue
k
Define a Transfer Call tool without hardcoded destinations, enable the transfer-destination-request webhook, and respond from your server with the correct number based on detected intent like "sales" or "support" otherwise, vapi defaults to the first listed number..
c
Having same issue. It used to work but now just uses the first number. "tools": [ { "type": "transferCall", "destinations": [ { "type": "number", "number": "+numberone", "message": "I am forwarding your call to the shelter manager. Please stay on the line." }, { "type": "number", "number": "+1number2", "message": "I am forwarding your call to the adoption coordinator. Please stay on the line." }, { "type": "number", "number": "+1number3", "message": "I am forwarding your call to the office manager. Please stay on the line." }, { "type": "number", "number": "+1number4", "message": "I am forwarding your call to the executive director's line. Please stay on the line." } ] this used to work for me but now it just defaults to number that I have entered in the "Forwarding Phone Number" of pre-defined section edit: was a prompting issue, see comment below
m
I’ve created a dynamic transfer tool and a separate function tool designed to determine the intent for routing the call. However, when I assign both tools to the same agent, the webhook only receives the tool-call event from the function tool — the transfer-destination-request is never triggered afterward. It seems that having both tools active prevents the dynamic transfer process from completing as expected. Could you clarify how to configure the agent? @Kings_big💫 @Shubham Bajaj
c
update: My issue was a prompting one, but I'll leave my post above in case it proves useful to anyone else @Mynor What has worked for me is to leave the default transferCall tool as is (not to create another one) and then go to https://api.vapi.ai/api to GET my assistant then PATCH with the above array (change to your needs/numbers). Once you have done that, the rest is just prompting in your assistant, reinforcing the conditions "If tech support, dial this number." It should work.
m
Thanks
c
Hey Mynor, I sincerely apologize for the delay in our responses this week. We experimented with some process adjustments that didn’t work as intended, and unfortunately, this caused some disruptions. That’s entirely my responsibility. Just a quick note—our team is unavailable on weekends. However, if something urgent or critical comes up, feel free to reach out to me directly, and I’ll assist you. The support issues will be resolved in the coming weeks, and starting Monday, you can expect more consistent and improved support. Thank you so much for your patience and for continuing to stick with us!
k
To trigger dynamic transfer properly, run the intent-detection tool first, then explicitly call the dynamic transfer tool in the same assistant flow, don’t let both tools run in parallel, or the transfer-destination webhook won’t be triggered..
m
Where you able to solve it? Having the same issue currenlty
c
Hey, Can you send me the latest call_id? Along with that, can you provide me the duration in the recording where you had this issue?
m
efc045d9-501b-4314-bb79-9c5caf28fb4f - here is one. Unfortunately i cant see in the logs - where it exactly got transfered to - but it always uses the same number
@User Andy ideas?
c
I've escalated your issue to our executives for their attention. Thank you for your patience, we appreciate your understanding and will keep you updated
Please make sure to add the destination parameter with an enum array containing your valid transfer options. This will ensure the AI assistant always chooses from your predefined list of destinations rather than trying to guess or match based on descriptions alone. To accomplish this, use the API to set the enums like the example below: "function": { "name": "scheck_transfer_call", "description": "Nutze dieses tool um den Anrufer weiterzuleiten.", "parameters": { "type": "object", "properties": { "destination": { "type": "string", "enum": \[ "+4989992874230", // Tennis "+4989992874210", // Hotel "+4989992874400", // Physio "+4915154749051", // Fitness "+4989992874314", // Customer Service "+4989992874250", // Event Team (Camps) "+4989992874315", // Event Team (Corporate) "+4989992874307" // Administration \], "description": "The phone number to transfer the call to based on customer inquiry: +4989992874230 (Tennis court bookings, lessons), +4989992874210 (Hotel reservations), +4989992874400 (Physiotherapy appointments), +4915154749051 (Fitness gym), +4989992874314 (Memberships, contracts), +4989992874250 (Children camps, birthdays), +4989992874315 (Corporate events), +4989992874307 (Billing, payments)" } }, "required": \["destination"\] } }
m
Ok, currently i've built it with the integrated tool function. As seen currently i cant change anything here. That means the preblem is the pre built "transfer-call" - tool in Vapi which creates the wrong code.
c
Please let us know if you are experiencing issues with the transfer tool in its current state with the recent platform updates
2 Views