> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Client tools

> Create a client-tool definition in the dashboard, review its parameters and response policy, and attach it to an agent draft.

A client tool describes an action intended for the application hosting the conversation, such as opening a help panel. The stored definition describes the action; your application's handler would perform it through a supported runtime integration.

<Note>
  Dashboard tool management is available. Personal API keys are rejected for tool-management operations. Saving a client tool does not install a handler or establish live client-tool execution.
</Note>

## Create and inspect the definition

Use a signed-in dashboard session with permission to manage workspace tools and edit the intended agent.

<Steps>
  <Step title="Open the client-tool form">
    Open [Tools](https://threetone.in/app/agents/tools) and select **Add client tool**. Choose a name that describes one action, such as `open_help_panel`.
  </Step>

  <Step title="Describe inputs and results">
    Explain when the tool is appropriate and what each parameter means. Use the parameter schema to describe required values. Keep credentials and privileged server operations out of a client-side action.
  </Step>

  <Step title="Review the response policy">
    Review `expects_response`, `response_timeout_secs`, and the [execution settings](/agents-platform/configure/tools/tool-execution). Decide whether your planned handler needs to return information or only update the interface.
  </Step>

  <Step title="Save and attach separately">
    Select **Add tool**, then reopen the resource and inspect its stored definition. Follow [tool attachment](/agents-platform/configure/tools/overview) to add its ID to the agent. Save an agent draft and read the attachment back; tool creation and agent publication are different actions.
  </Step>
</Steps>

## Definition fields

| Field | Configuration |
| - | - |
| `type` | `client` |
| `name`, `description` | Action identifier and instructions about when to use it. |
| `parameters` | Optional object schema for the planned handler's input. |
| `expects_response` | Requested response behavior; defaults to `false`. |
| `response_timeout_secs` | Integer from 1 to 120; default 20. |

Before runtime integration, prepare examples for an unknown action, invalid arguments, a handler failure, and a repeated request. Use [client events](/agents-platform/advanced/events/client-events) as contract guidance, not proof of an available first-party SDK.

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does adding a client tool execute JavaScript?" id="faq-client-tools-code">
    No. It stores a definition. This form does not upload application code or create a hosted execution environment.
  </Accordion>

  <Accordion title="Can I put a private API key in the parameters?" id="faq-client-tools-secret">
    No. Client arguments are not credential storage. Keep privileged credentials on your server and enforce access there.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.