Assistant tool overrides not working.
# support
n
I’m setting assistantOverride.tools/toolids, but it seems to be getting ignored. Even if I pass an empty array, the assistant still calls the default tools (like transfer_call). And if I include only one tool (e.g. tag_contact), it logs as if it used it but the webhook isn’t called. Am I misunderstanding how assistantOverride works, or doing something wrong here? My goal is to override the tools completely and remove the ones used for calls, so only the chat-relevant tools are available.
l
I understand your challenge with assistantOverride.tools not behaving as expected. I’ve worked on customizing tool availability before, including stripping out defaults like transfer_call and ensuring only specific tools trigger correctly. I can help you troubleshoot the override logic and verify the correct way to pass tool IDs so the webhook fires properly. Are you trying to control this at the session level or directly in the assistant config? Let’s connect and walk through it together. @nooo
n
Thanks for reaching out dude. I am doing this when creating a chat through vapi api directly... i am not sure if that is session level but it sounds more like changing the assistant config.
I already have the assistant configured for call.. but i wish to use the same assistant for standalone chats so i need to rid of the end_call and transfer_call tools
l
I see that you’re creating chats via the API and want to reuse your assistant without the call tools. I can handle updating the assistant configuration so only the chat-relevant tools are active and ensure the webhooks trigger correctly. The easiest way to get this done quickly is to continue this conversation privately, so I can implement it for you directly. @nooo
n
I dont see why you'll want to get hands on with my code... when you can simply tell me here what i can do. I'd rather stay here in support then give you access to the codebase in dms.
I have everything ready all i need is the assistant Overrides to work if you can tell me about it here then its good other than that its fine.
Copy code
const requestBody: {
      assistantId: string
      assistantOverrides?: {
        variableValues?: Record<string, string>
      }
      input: Array<{
        role: 'user' | 'assistant' | 'system'
        content: string
      }>
      stream: boolean
      previousChatId?: string | null
    } = {
      assistantId: assistant.vapiId!,
      input: input as any,
      stream: false,
      assistantOverrides: {
        variableValues: variables,
      },
    }

    if (!isNewConversation) {
      requestBody.previousChatId = previousChatId
    }

    const chatResponse = await fetch('https://api.vapi.ai/chat', {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        Authorization: `Bearer ${process.env.VAPI_API_KEY}`,
      },
      body: JSON.stringify(requestBody),
    })
this is the code i have. where i am creating a chat with assistant overrides.
@Vapi Support Bot
v
Currently, the documentation does not show support for overriding tools or toolIds via
assistantOverrides
in the
/chat
API—only
variableValues
are documented as supported.
To remove default tools like
end_call
and
transfer_call
for chat, you should configure your assistant in the dashboard to only include chat-relevant tools, or create a separate assistant for chat use.
Copy code
js
assistantOverrides: {
  variableValues: { ... } // Only variable overrides are supported here
}
If you need per-session tool control, this feature does not appear to be available for chat at this time. [See documentation reference](https://docs.vapi.ai/chat/web-widget#use-dynamic-assistant-configuration) Source: - [Web widget documentation](https://docs.vapi.ai/chat/web-widget#use-dynamic-assistant-configuration)
n
@Vapi Support Bot why does the api support the assistant's being overided then ? https://docs.vapi.ai/api-reference/chats/create#request.body.assistantOverrides.model.OpenAI.toolIds
v
Despite the API reference listing
assistantOverrides.model.OpenAI.toolIds
, the current documentation and examples only show support for
variableValues
in chat assistant overrides.
There is no evidence that tool overrides (like removing default tools) are supported per chat session. For now, the recommended approach is to configure your assistant in the dashboard to only include chat-relevant tools, or create a separate assistant for chat use. If you need per-session tool control for chat, this feature does not appear to be available at this time. [See documentation reference](https://docs.vapi.ai/chat/web-widget#use-dynamic-assistant-configuration) Source: - [Web widget documentation](https://docs.vapi.ai/chat/web-widget#use-dynamic-assistant-configuration)
v
Message marked as helpful by @nooo! 🎉
Message marked as helpful by @nooo! 🎉
Message marked as helpful by @nooo! 🎉
c
If you need additional support with this, please let us know
2 Views