Do not add an invented
type: "code" tool definition or assume a language runtime, package installer, filesystem, or network environment is available. Existing client and webhook tool definitions are different interfaces.Prepare a function contract
You can make future integration easier by writing a small function with explicit inputs and a reviewable result. For example, a delivery-window formatter might accept a date range and a time zone and return a display string.Choose an existing configuration path
1
Use a client definition for interface actions
Prepare a client tool when the intended action belongs in your application’s interface. The definition does not provide the handler or release its runtime integration.
2
Use an HTTP contract for server actions
If you already operate an authorized service, prepare a webhook tool describing its endpoint. Keep code, dependencies, credentials, and access checks in that service.
3
Test your function independently
Use synthetic inputs to check the function in your own environment. Record those results separately from Threetone integration testing; local success does not prove agent-tool execution.
Frequently asked questions
Can I paste Python or JavaScript into a tool?
Can I paste Python or JavaScript into a tool?
There is no verified hosted-code submission workflow in this guide. Pasting code into a description stores text; it does not run that code.
Does a webhook tool host my function?
Does a webhook tool host my function?
No. It describes an HTTP request. You operate the receiving service and its code separately, and live tool execution still needs verification.