Dynamic Transfer Tool with properties does not wor...
# support
f
From what I can tell, whenever a transfer tool includes any properties, the
transfer-destination-request
webhook never fires. Instead, the assistant immediately transfers the call to a default/random SIP destination. For example: { "type": "transferCall", "function": { "name": "transfer", "parameters": { "type": "object", "properties": { "reasonForCalling": { "description": "The reason the customer is calling. If not sure, use 'other'.", "type": "string", "enum": ["parts", "service", "other"], "default": "other" } }, "required": [] }, "description": "Use this tool when transferring a call." }, "messages": [{ "type": "request-start", "blocking": false }], "destinations": [] } Even when configured exactly as shown in your documentation (see: https://docs.vapi.ai/assistants/examples/support-escalation), the assistant skips the webhook and tries to transfer directly to
sip:parts@mysipuri.com
. --- Is this expected behavior, or has the
transfer-destination-request
webhook simply not been tested in SIP environments?
v
It appears that adding custom properties to the
function
object in your dynamic transfer tool may not be supported and can prevent the
transfer-destination-request
webhook from firing.
According to the documentation, the recommended approach is to define the transfer tool with an empty
destinations
array and no extra properties in the
function
object:
Copy code
json
{
  "type": "transferCall",
  "destinations": [],
  "function": { "name": "dynamicDestinationTransferCall" }
}
Try removing custom properties from the
function
and use only the minimal structure above to ensure the webhook is triggered as expected. [See documentation](https://docs.vapi.ai/calls/call-dynamic-transfers#respond-to-transfer-requests) Source: - [Dynamic Call Transfers](https://docs.vapi.ai/calls/call-dynamic-transfers#respond-to-transfer-requests)
c
Hello,Thanks for reaching out to us.We are sorry for the inconvenienc Since you've referenced the support escalation documentation and are seeing behavior that differs from what's documented, this could be either: 1. A bug in how the transfer tool interacts with SIP destinations 2. An undocumented limitation of the transfer-destination-request webhook in SIP environments Given that you're seeing unexpected behavior even when following the exact configuration from the documentation, I recommend: 1. Testing without any properties in the transfer tool to confirm the webhook works in that case 2. Documenting the specific SIP transfer behavior you're seeing 3. Reporting this as a potential issue to support, including: - Your full transfer tool configuration - The expected webhook behavior - The actual transfer behavior you're observing - Your SIP environment details This will help determine if this is a bug or if there are undocumented limitations that need to be clarified in the documentation If this doesn’t resolve the issue, please let us know and we’ll be happy to step in and assist further.
j
hello @Vapi Support Bot @Vapi this is a bug. I've confirmed that I'm also experiencing the same issue. This bug is particularly egregious because it takes away the whole purpose of a dynamic transfer tool. Is there an ETA on the fix? thanks
v
There is currently no documented ETA for a fix to this bug. As a workaround, define your dynamic transfer tool with an empty
destinations
array and no custom properties in the
function
object to ensure the
transfer-destination-request
webhook fires:
Copy code
json
{
  "type": "transferCall",
  "destinations": [],
  "function": { "name": "dynamicDestinationTransferCall" }
}
If you need to track the bug or request an update, consider reporting your case to Vapi support with your configuration and environment details. Source: - [Dynamic Call Transfers](https://docs.vapi.ai/calls/call-dynamic-transfers#respond-to-transfer-requests)
c
Hi falseVacuum, It seems you're encountering issues with the transfer tool. Here's a method to add a transfer destination to the tool: - Ensure the
CreateTransferCallToolDTO
object includes a
type
with the value
transferCall
. - Specify the
transferMode
within
TransferDestinationAssistant
if transferring to an assistant, and use
rolling-history
or
swap-system-message-in-history
as options. - If transferring to a phone number, include
TransferDestinationNumberType
. For further assistance with the setup of transfer tools, ensure that all required fields in the
TransferPlan
and
CreateTransferCallToolDTO
are correctly filled as indicated in the [API documentation](https://docs.vapi.ai/api-reference/webhooks/client-message). Feel free to reach out if you need more details on this process.
3 Views