Client tools
Empower your assistant to trigger client-side operations.
Empower your assistant to trigger client-side operations.
Client tools enable your assistant to execute client-side functions. Unlike server-side tools, client tools allow the assistant to perform actions such as triggering browser events, running client-side functions, or sending notifications to a UI.
Applications may require assistants to interact directly with the user’s environment. Client-side tools give your assistant the ability to perform client-side operations.
Here are a few examples where client tools can be useful:
To perform operations server-side, use server-tools instead.
Configure a client tool named logMessage with a required string parameter message (“The message to log in the console”).
Navigate to your agent dashboard. In the Tools section, click Add Tool. Ensure the Tool Type is set to Client. Then configure the following:
Then create a new parameter message with the following configuration:

Unlike server-side tools, client tools need to be registered in your code.
Use the following code to register the client tool:
The tool and parameter names in the agent configuration are case-sensitive and must match those registered in your code.
Initiate a conversation with your agent and say something like:
Log a message to the console that says Hello World
You should see a Hello World log appear in your console.
Now that you’ve set up a basic client-side event, you can:
When you want your agent to receive data back from a client tool, ensure that you tick the Wait for response option in the tool configuration.

Once the client tool is added, when the function is called the agent will wait for its response and append the response to the conversation context.
In this example, when the agent calls getCustomerDetails, the function will execute on the client and the agent will receive the returned data, which is then used as part of the conversation context. The values from the response can also optionally be assigned to dynamic variables, similar to server tools. Note system tools cannot update dynamic variables.
If you find the assistant does not make calls to the correct tools, you may need to update your tool names and descriptions so the assistant more clearly understands when it should select each tool. Avoid using abbreviations or acronyms to shorten tool and argument names.
You can also include detailed descriptions for when a tool should be called. For complex tools, you should include descriptions for each of the arguments to help the assistant know what it needs to ask the user to collect that argument.
Use clear and descriptive names for tool parameters. If applicable, specify the expected format for a parameter in the description (e.g., YYYY-mm-dd or dd/mm/yy for a date).
Consider providing additional information about how and when to call tools in your assistant’s system prompt
Providing clear instructions in your system prompt can significantly improve the assistant’s tool calling accuracy. For example, guide the assistant with instructions like the following:
Provide context for complex scenarios. For example:
When using tools, we recommend picking high intelligence models like GPT 5.2, Gemini-2.5-Flash, or Claude Sonnet 4.5 and avoiding Gemini-2.0-Flash.
It’s important to note that the choice of LLM matters to the success of function calls. Some LLMs can struggle with extracting the relevant parameters from the conversation.