Webhook Tools
Tools allow your AI agent to execute actions by calling your webhooks. The LLM decides when to use a tool based on the conversation context, executes the call, and uses the result in its response.What are Agent Tools?
A Tool is a webhook endpoint that your agent can call to perform actions or retrieve data. When you define a tool, you specify:- Name: How the agent refers to the tool
- Description: When the agent should use it
- Parameters: What data to send (JSON Schema)
- Webhook URL: Your endpoint that handles the request
Use Cases
| Tool | Description | Example Use |
|---|---|---|
check_order_status | Look up order tracking info | ”Where is my order #12345?” |
create_support_ticket | Open a support ticket | ”I need help with my account” |
book_appointment | Schedule a calendar event | ”Book me for next Tuesday at 2pm” |
get_inventory | Check product availability | ”Do you have the blue shirt in medium?” |
lookup_customer | Retrieve customer data | ”What’s my account balance?” |
process_refund | Initiate a refund | ”I want a refund for order #123” |
Via Dashboard
1
Navigate to Tools
Go to Senders > select your sender > Agent tab > Tools section.
2
Create New Tool
Click Create Tool and fill in the form:
- Name: A short identifier (e.g.,
check_order_status) - Description: When should the agent use this tool? Be specific.
- Webhook URL: Your HTTPS endpoint
3
Define Parameters
Specify the parameters your webhook expects:
4
Configure Security (Optional)
Add a Webhook Secret to verify requests are from Zavu. We’ll sign each request with this secret.
5
Test the Tool
Use the Test button to send a sample request to your webhook and verify it responds correctly.
6
Enable the Tool
Toggle the tool to Enabled so the agent can use it.
Via API
Create Tool
List Tools
Update Tool
Delete Tool
Webhook Payload
When the agent invokes a tool, your webhook receives a POST request:Headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Zavu-Tool | Tool name being invoked |
X-Zavu-Timestamp | Unix timestamp of the request |
X-Zavu-Signature | HMAC-SHA256 signature (if webhook secret is configured) |
Webhook Response
Your webhook should return JSON with the result:Error Responses
Return appropriate HTTP status codes for errors:Signature Verification
If you configured a webhook secret, verify the signature to ensure requests are from Zavu:Tool Execution Flow
Best Practices
Write Clear Descriptions
The AI uses the description to decide when to use the tool. Be specific about when it should and shouldn’t be used.
Use HTTPS
Webhook URLs must use HTTPS for security. We reject HTTP endpoints.
Handle Errors Gracefully
Return meaningful error messages so the agent can inform the user appropriately.
Respond Quickly
Keep webhook response times under 10 seconds. The user is waiting for a response.
Example Tool Descriptions
Good description:Security Considerations
- Always use HTTPS for webhook endpoints
- Verify signatures using the webhook secret
- Validate parameters before processing
- Rate limit your webhook endpoints
- Log requests for debugging and auditing
- Never expose sensitive data in tool responses that shouldn’t be shared with customers