Create Tool

Create a tool. For webhook tools, the response includes the HMAC webhook_secret exactly once — store it immediately; subsequent reads return a masked placeholder.

Authentication

AuthorizationBearer

Enter your API key with the Bearer prefix, e.g. ‘Bearer sk_…’.

Request

This endpoint expects an object.
namestringRequired
descriptionstringRequired
kindenumRequired

Where the tool executes.

  • system: worker-resident built-in (e.g. end_call, play_audio)
  • webhook: worker signs a payload and POSTs it to your URL
  • client: worker dispatches to the caller’s browser/SDK via data channel
  • mcp: worker connects to a customer-hosted MCP server and proxies tool calls
configobjectRequired

Response

The created tool.
idstring

Prefixed wire identifier (tool_<26 char Crockford base32>).

namestring
descriptionstring
kindenum

Where the tool executes.

  • system: worker-resident built-in (e.g. end_call, play_audio)
  • webhook: worker signs a payload and POSTs it to your URL
  • client: worker dispatches to the caller’s browser/SDK via data channel
  • mcp: worker connects to a customer-hosted MCP server and proxies tool calls
configobject

One of SystemToolConfig, WebhookToolConfig, ClientToolConfig, or MCPToolConfig depending on kind.

created_atdatetime
updated_atdatetime
webhook_secretstring

HMAC signing secret for kind=webhook. Returned in full only on the create response; all subsequent reads return a masked placeholder. Store it on first create — there is no way to retrieve it later.

Errors

400
Bad Request Error
401
Unauthorized Error