"Couldn't get assistant" error when adding transfe...
# support
y
Question: I'm implementing call transfer functionality for inbound calls using the assistant-request webhook. When I include a transferCall tool in my assistant configuration response, the call fails with "Couldn't get assistant" error. Without the tool, the assistant works perfectly. My Setup: - Using assistant-request webhook to dynamically create assistants for inbound calls - Assistant configuration works fine WITHOUT tools - Adding transferCall tool causes immediate failure Current Implementation (FAILING): { assistant: { name: "assistant", firstMessage: "Hello...", model: { provider: "openai", model: "gpt-4o", temperature: 0.5, messages: [ { role: "system", content: "You are an assistant. If the caller asks to speak to a human, use the transferCall function to transfer them." } ], tools: [ { type: "transferCall", destinations: [ { type: "number", number: "+1xxxxxxxxxx" } ] } ] }, voice: { ... }, transcriber: { ... }, endCallFunctionEnabled: true, clientMessages: ["transcript", "hang", "function-call", "speech-update", "metadata", "transfer-update", "conversation-update"], serverMessages: ["end-of-call-report", "status-update", "hang"], phoneCallProviderBypassEnabled: false } } What I've tried: 1. Adding function, parameters, and messages fields to the tool → Still fails 2. Setting phoneCallProviderBypassEnabled: false → Still fails 3. Removing "function-call" from serverMessages → Still fails 4. Various tool structure combinations based on docs → All fail 5. Minimal structure (just type and destinations) → Still fails
v
Move the
tools
array out of
model
and place it directly under
assistant
.
The correct structure is:
Copy code
json
{
  "assistant": {
    "name": "assistant",
    "firstMessage": "Hello...",
    "model": {
      "provider": "openai",
      "model": "gpt-4o",
      "temperature": 0.5,
      "messages": [
        {
          "role": "system",
          "content": "You are an assistant. If the caller asks to speak to a human, use the transferCall function to transfer them."
        }
      ]
    },
    "tools": [
      {
        "type": "transferCall",
        "destinations": [
          {
            "type": "number",
            "number": "+1xxxxxxxxxx"
          }
        ]
      }
    ],
    "voice": { /* ... */ },
    "transcriber": { /* ... */ }
    // ... rest of your config
  }
}
This should resolve the "Couldn't get assistant" error when adding the transferCall tool ([see documentation](https://docs.vapi.ai/tools/default-tools)). Source: - [Default Tools](https://docs.vapi.ai/tools/default-tools)
y
Just implemented exactly that and i'ts still not working.
This is without an existing tool-id. I want to dynamically create the number at which the assistant can transfer the call (to be provided in the assistant request answer)
c
Hey! To help track down this issue, could you share: \- The call ID \- When exactly this happened (the timestamp) \- What response you expected to get \- What response you actually got instead This would really help us figure out what went wrong!