What Are Tools?
Tools give your agents the ability to take actions and retrieve information during conversations. They are function calls that your agent can execute to interact with external systems, databases, APIs, and services. When an agent needs to accomplish a task beyond conversation, it can:- Call your APIs - Integrate with your CRM, database, or custom services
- Retrieve information - Look up customer data, order status, or availability
- Take actions - Create tickets, book appointments, or update records
- Search knowledge bases - Find relevant information from your documents
- Integrate with third-party services - Use pre-built integrations like Calendly
Tool Types
Custom Tools
Custom tools are API integrations you build to connect agents with your systems:Pre-Built Tools
Feather provides ready-to-use tools for common integrations:- Calendly - Schedule appointments directly in conversations
- Knowledge Base - Search your uploaded documents for answers
- Lead Management - Update lead information and conversation history
- Call Transfer - Transfer calls to human agents
- SMS - Send text messages during or after calls
Creating Custom Tools
Basic Tool Structure
Tool Properties
Core Fields:name
(required): Human-readable tool namedescription
(required): Clear description of what the tool doesslug
(required): Unique identifier (lowercase, letters, numbers, underscores only)speech
(optional): What the agent says while executing the tool
url
(required): API endpoint to callmethod
(required): HTTP method (GET, POST, PUT, PATCH, DELETE)headers
: HTTP headers including authenticationbody
: Request payload for POST/PUT/PATCH requeststimeout
: Maximum execution time in milliseconds (default: 5000)variables
: Parameters the agent needs to collect
Variable Definitions
Variables define what information the agent must gather before calling the tool:string
: Text valuesnumber
: Numeric valuesboolean
: True/false valuesarray
: Lists of valuesobject
: Complex nested structures
Using Variables in Requests
Reference variables in URLs, headers, and body using{{variableName}}
:
Attaching Tools to Agents
Once created, attach tools to agents in the agent version configuration:Tool Execution Flow
When an agent uses a tool, here’s what happens:- Detection - Agent determines a tool is needed based on conversation
- Parameter Collection - Agent gathers required variables from the customer
- Validation - System validates all required variables are present
- Speech - Agent says the
speech
text (if provided) - Execution - HTTP request is made to your API
- Response - Agent receives and processes the response
- Continuation - Agent continues conversation with the result
Common Tool Patterns
CRM Integration
Database Lookup
Webhook Trigger
Order Management
Best Practices
Tool Design
- Single responsibility - Each tool should do one thing well
- Clear descriptions - Help the agent understand when to use the tool
- Descriptive variables - Make it obvious what information is needed
- Appropriate timeouts - Set realistic timeouts based on your API speed
- Error handling - Ensure your API returns helpful error messages
Security
- Secure credentials - Never expose API keys in tool definitions
- Use environment variables - Store sensitive data securely
- Validate inputs - Ensure your API validates all parameters
- Rate limiting - Implement rate limits on your APIs
- Audit tool usage - Monitor tool calls for suspicious activity
Performance
- Optimize API speed - Fast APIs create better call experiences
- Cache when possible - Cache frequently accessed data
- Set appropriate timeouts - Balance speed vs. reliability
- Handle failures gracefully - Provide fallback responses
- Monitor tool latency - Track tool execution times
Agent Integration
- Provide context in prompts - Explain when and how to use tools
- Include tool descriptions - Help agents understand tool purposes
- Test tool flows - Verify tools work in conversation context
- Handle tool failures - Train agents to handle errors gracefully
- Give feedback to users - Use
speech
to keep customers informed
Testing Tools
Test Tool Configuration
Debugging Tool Calls
Monitor tool execution in call logs:- View call details in dashboard
- Check tool execution timeline
- Review request/response payloads
- Identify errors and timeouts
- Optimize based on performance data
Common Use Cases
CRM Integration
Sync customer data between conversations and your CRM
Order Management
Look up orders, process returns, and update shipping information
Appointment Booking
Check availability and schedule appointments in your calendar
Ticket Creation
Create support tickets with conversation context
Payment Processing
Process payments, refunds, and billing updates
Inventory Check
Check product availability and stock levels
Notifications
Trigger alerts to Slack, email, or other channels
Data Enrichment
Enrich lead data with third-party information
Troubleshooting
Tool Not Executing
Check:- Tool is attached to agent version
- All required variables are defined
- Agent prompt mentions the tool
- Tool slug matches exactly
Timeout Errors
Solutions:- Increase timeout value
- Optimize your API performance
- Add caching to your endpoint
- Use async processing for long operations
Variable Collection Issues
Solutions:- Make variable descriptions very clear
- Provide examples in the description
- Update agent prompt with guidance
- Mark optional variables correctly
Authentication Failures
Solutions:- Verify API credentials are current
- Check token expiration
- Ensure headers are formatted correctly
- Test endpoint independently