Skip to content

Building Your First Tool

In 008 Agent, Tools are external functions that Voice AI Agents can call in real time to enrich conversations — from checking availability to triggering workflows in third-party systems. Setting up your first tool is straightforward and requires a well-defined JSON schema and endpoint configuration.


To create a new tool, you’ll define:

  1. Tool Name
  2. Parameters Schema (JSON Schema format)
  3. Timeout (in milliseconds)
  4. Call Type (http by default)
  5. HTTP Configuration
    • Endpoint URL (URI)
    • HTTP Method (GET, POST, PUT, PATCH, DELETE)
    • Headers (optional)

AAI Agents - Tools


Example 1 - Retrieving info from a specific Zendesk ticket

Section titled “Example 1 - Retrieving info from a specific Zendesk ticket”
{
"name": "get_ticket_comments_zendesk",
"parameters": {
"type": "object",
"description":"Retrieves all public and internal comments from a specific Zendesk ticket.",
"properties": {
"ticketId": {
"type": "integer",
"description": "Integer ID of the Zendesk ticket"
}
},
"required": ["ticketId"],
"additionalProperties": false
}
}
https://YOUR_ZENDESK_URL.zendesk.com/api/v2/tickets/{ticketId}/comments.json
{
"name": "create_zendesk_ticket",
"parameters": {
"type": "object",
"description":"Creates a new support ticket in Zendesk with requester, priority, subject and initial comment.",
"properties": {
"ticket": {
"type": "object",
"properties": {
"comment": {
"type": "object",
"properties": {
"body": {
"type": "string"
}
},
"required": ["body"],
"additionalProperties": false
},
"requester": {
"type": "object",
"properties": {
"locale_id": {
"type": "integer"
},
"name": {
"type": "string"
},
"email": {
"type": "string",
"format": "email"
}
},
"required": ["locale_id", "name", "email"],
"additionalProperties": false
},
"priority": {
"type": "string",
"enum": ["low", "normal", "high", "urgent"]
},
"subject": {
"type": "string"
}
},
"required": ["comment", "requester", "priority", "subject"],
"additionalProperties": false
}
},
"required": ["ticket"],
"additionalProperties": false
}
}
https://YOUR_ZENDESK_URL.zendesk.com/api/v2/tickets.json

  • Set a reasonable timeout (e.g., 1020 s) to ensure calls don’t block the conversation
  • If the response takes longer than the timeout, the agent will gracefully skip and continue the call

MethodUse Case
GETRetrieve data (e.g. check state)
POSTCreate or trigger actions
PUTReplace resources
DELETERemove data

  • Keep parameter names intuitive and clearly documented
  • Validate external APIs are fast and highly available
  • Use authentication headers when needed (e.g., Bearer Token)
  • Consider logging each invocation for traceability

By defining smart tools, your VoiceBot becomes a true operator — capable of scheduling meetings, generating leads, fetching product info, and more.

Next step? Link your tools to prompts and agent instructions for seamless AI-driven interactions.