custom_tools

Create custom tool

Define a team HTTP tool in one write, validated whole so the executor can trust the row: the request template (https, a literal public host, placeholders {{key}} in the path, query, header values and body strings), the input_schema that declares every placeholder, the output_mapping of names to dot-paths into the response, and the connection the tool authenticates with (provider custom; omit it for a public API). A vendor the platform ships (OpenAI, Hunter...) is a catalog operation, not a custom tool; an API key goes on a provider connection, never into a header. 422 on an undeclared placeholder, a placeholder in the host, a private or non-https target, an auth-shaped header name; 409 on a duplicate name. Then test_custom_tool.

Contract:

  • MCP tool create_custom_tool, registry package mcp.integrations/custom_tools, mount integrations.providers.
  • Operation create, response envelope create.
  • Flags: none.
post/api/custom-tools

Request

  • Base URL
    https://beta.getsales.io/integrations/v1
  • Auth
    HTTP bearer and API key in header Team-SID

Request body

namestring required

Unique within the team, 1..255 chars.

descriptionstring nullable

Free text, up to 2000 chars.

provider_connection_sidstring nullable

A provider connection of provider custom this tool authenticates with (in_cn_...); null = a public API, no auth injected.

output_mappingobject

name to dot-path (person.title), up to 20 entries; default {} = the raw body.

status'on' | 'off'

Default on.

Response

create success envelope.

successtrue required
operation'create' required
already_existsboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.