Building Your First Tool
Configuring Your First Tool
Section titled “Configuring 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.
🧱 Tool Structure Overview
Section titled “🧱 Tool Structure Overview”To create a new tool, you’ll define:
- Tool Name
- Parameters Schema (JSON Schema format)
- Timeout (in milliseconds)
- Call Type (
httpby default) - HTTP Configuration
- Endpoint URL (URI)
- HTTP Method (
GET,POST,PUT,PATCH,DELETE) - Headers (optional)

📝 Example Configuration
Section titled “📝 Example Configuration”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.jsonExample 2 - Creating a new Zendesk ticket
Section titled “Example 2 - Creating a new Zendesk ticket”{ "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⏱️ Timeout Best Practices
Section titled “⏱️ Timeout Best Practices”- Set a reasonable timeout (e.g.,
10–20s) 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
⚙️ Supported HTTP Methods
Section titled “⚙️ Supported HTTP Methods”| Method | Use Case |
|---|---|
GET | Retrieve data (e.g. check state) |
POST | Create or trigger actions |
PUT | Replace resources |
DELETE | Remove data |
✅ Tips for Tool Design
Section titled “✅ Tips for Tool Design”- 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.