Skip to main content
GET
Get a tool

Authorizations

X-API-Key
string
header
required

API key for external access. Format: tp_live_<32-hex-chars>. Create keys in the TalkPilot Dashboard under Settings > API.

Path Parameters

agentId
string<uuid>
required

Agent UUID

toolId
string<uuid>
required

Tool UUID

Response

Tool details

id
string<uuid>
agent_id
string<uuid>
name
string

Internal tool name (used in LLM function calling)

display_name
string | null

Human-readable display name

description
string

Tool description (shown to the LLM to decide when to use it)

tool_type
enum<string>

Tool types accepted by the API:

  • http_request — Make HTTP requests to external APIs
  • transfer_call — Blind or warm call transfer
  • monitored_transfer — SIP INVITE transfer with monitoring
  • end_call — End the call with optional goodbye message
  • extract_variable — Extract structured data (email, phone, etc.)
  • play_tone — Play DTMF tones
  • knowledge_base — Search the agent's knowledge base
  • set_call_result — Record a call outcome (no config)
  • identify_caller — Caller identification handshake via your webhooks
  • switch_agent — Hand the call over to another agent
  • verify_value — Deterministic check of a dictated value against rules
  • resolve_contact — Establish how to reach the caller before booking (phone mode)
  • list_available_slots — Offer free appointment slots from the connected calendar
  • book_appointment — Book the chosen slot (same config as list_available_slots)
Available options:
http_request,
transfer_call,
monitored_transfer,
end_call,
extract_variable,
play_tone,
knowledge_base,
set_call_result,
identify_caller,
switch_agent,
verify_value,
resolve_contact,
list_available_slots,
book_appointment
config
object

Tool-specific configuration (schema depends on tool_type)

is_enabled
boolean | null
priority
integer | null

Execution priority (lower number = higher priority)

employee_id
string<uuid> | null

Optional link to an employee, for transfer tools only (transfer_call, monitored_transfer). When set, config.phone_number is derived from employees.phone_number and kept in sync automatically — changing the employee's number changes the transfer target. null means the number is managed on the tool itself.

created_at
string<date-time>
updated_at
string<date-time>