Custom tools allow your AI voice agents to access external information during calls by connecting to your own endpoints, webhooks, or automation tools. This enables agents to provide real-time, contextual information to callers without knowing the information in advance.

How It Works

When a call is in progress, your AI voice agent can:
  1. Detect the need for specific information based on the conversation
  2. Extract relevant data from the call context (contact details, call parameters, etc.)
  3. Send a request to your configured endpoint with the extracted data
  4. Receive a response with the requested information
  5. Use that information to continue the conversation naturally

What You Need to Provide

To set up a custom tool, you’ll need to provide us with:

1. Endpoint URL

The web address where your tool can be reached. This could be:
  • A webhook URL from automation tools like Make.com, Zapier, or n8n
  • A custom API endpoint on your server
  • A cloud function (AWS Lambda, Google Cloud Functions, etc.)

2. JSON Schema

A description of what data your tool expects and what it returns.

JSON Schema Format

Here’s the structure you need to provide:
{
  "name": "example_tool",
  "description": "Description of what this tool does",
  "parameters": {
    "type": "object",
    "properties": {
      "param1": {
        "type": "string",
        "description": "Description of param1"
      }
    },
    "required": ["param1"]
  }
}

Schema Components Explained

  • name: A unique identifier for your tool (e.g., “customer_lookup”, “inventory_check”)
  • description: What your tool does in plain language
  • parameters: What data the agent should send to your endpoint
  • properties: Individual data fields and their types
  • required: Which parameters are mandatory

Real-World Example

Customer Information Lookup

Tool Purpose: Look up customer details during an inbound call even without knowing which customer is calling. JSON Schema:
{
  "name": "customer_lookup",
  "description": "Retrieves customer information (e.g. contract start date) using the contract number",
  "parameters": {
    "type": "object",
    "properties": {
      "contract_number": {
        "type": "string",
        "description": "Customer's contract number to look up"
      }
    },
    "required": ["contract_number"]
  }
}
What Happens During a Call:
  1. Agent asks caller for their contract number
  2. Agent sends request to your endpoint with the contract number as the parameter
  3. Your system looks up customer information
  4. Agent receives response and can say: “I can see your contract started on…”

Setting Up Your Endpoint

Make.com

  1. Create a new scenario
  2. Add a webhook trigger + copy the webhook URL and provide it to us as the URL to connect to
  3. Configure your business logic (database queries, API calls, etc.)
  4. Add a response module with the data you want to return

Option 2: Custom Backend

If you have development resources, you can host your own backend service that responds to the agent’s requests. Popular hosting options include: Railway, Render, AWS Lambda, Google Cloud Functions.

Response Format

Your endpoint should return a JSON response that the AI agent can understand and use in conversation:
{
  "contract_start_date": "2023-06-15",
  "contract_status": "active",
  "monthly_payment": 299.99,
  "contract_type": "premium"
}

Need Help?

Our team can help you:
  • Design appropriate schemas for your use case
  • Troubleshoot endpoint issues
  • Integrate with your existing systems
Contact us with your requirements, and we’ll guide you through the setup process!