sync tool
# support
v
I want to know is there any way to call sync tool and send response back using vapi web sdk. I want to send tool response from frontend.
v
You cannot send tool responses back to the model from the frontend using the Vapi Web SDK. Client-side tools can only trigger UI updates or side effects; they do not support returning results to the model for further reasoning. If you need to send tool results back, you must implement a server-based tool with a server URL. Example:
Copy code
json
{
  "results": [
    {
      "toolCallId": "abc123",
      "result": "Your tool result here"
    }
  ]
}
For your use case, set up a backend endpoint to handle tool calls and return results as shown above. Sources: - [Client-side Tools (Web SDK) Documentation](https://docs.vapi.ai/tools/client-side-websdk) - [Custom Tools Documentation](https://docs.vapi.ai/tools/custom-tools)
v
I’m currently using the GPT-5 model for an AI interview workflow. I’ve noticed that in some sessions, the agent fails to invoke the configured tool consistently. In our setup, each time a main question is asked, we rely on the tool call to update the UI accordingly. However, the agent occasionally skips the tool invocation, which causes UI sync issues on our end. Here is a recent example call ID for your reference: Call ID: 019c8e2c-da45-7ee5-9781-df319a9eb462 Could you please review the logs and prompt configuration for this session and help us understand why the tool was not triggered in certain transitions? Looking forward to your guidance.
c
Tool calls are fully controlled by the model. Since your calls are quite long in duration, context limitations may be affecting performance. Upgrading to a more capable model could help address this. As an alternative, you can rely on in-call webhooks. Vapi sends updates for key events such as when the assistant speaks, the user speaks, and when the call ends. You can listen to these events and reflect them in your frontend accordingly. You may also consider implementing fuzzy search on the transcript to match user questions against expected queries.