Skip to main content

Overview

Custom tools let you connect your own API endpoints to your agent. This enables powerful integrations like checking appointment availability, looking up order status, or creating bookings — all triggered naturally during a phone conversation.

Creating a custom tool

1

Open the tools section

Go to your agent’s settings → Tools tab and click Create custom tool.
2

Define the tool

Fill in:
  • Name — a descriptive name (e.g. check_availability)
  • Description — explain what the tool does. The AI model uses this to decide when to invoke it.
  • Parameters — define the input parameters the tool accepts (as JSON Schema).
3

Configure the endpoint

Set the API endpoint your tool calls:
  • URL — the full endpoint URL
  • Method — GET, POST, PUT, or DELETE
  • Headers — any required headers (e.g. API key, content type)
4

Add authentication

Add your API key as a header:
Authorization: Bearer your-api-key-here
5

Test and save

Save the tool and test it with a call to verify it works correctly.

Parameter definition

Parameters tell the AI model what information to extract from the conversation and pass to your API. Define them using JSON Schema:
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "description": "The requested appointment date in YYYY-MM-DD format"
    },
    "service": {
      "type": "string",
      "description": "The type of service requested",
      "enum": ["haircut", "coloring", "styling"]
    }
  },
  "required": ["date"]
}
Write clear descriptions for each parameter. The AI model uses these descriptions to understand what information to extract from the caller’s words.

Example: appointment checker

A hair salon wants their agent to check appointment availability: Tool configuration:
  • Name: check_availability
  • Description: “Check if there are available time slots on a given date for a specific service.”
  • Endpoint: https://api.salon.com/availability
  • Method: GET
Agent instructions:
When a caller wants to book an appointment, use the check_availability
tool to verify if the requested date is available. If slots are open,
confirm the booking. If not, suggest the nearest available date.
Your API endpoint must respond within 10 seconds. Slower responses will cause noticeable pauses during the conversation.