Create tool
Create a new tool for an agent. Tools allow the agent to call external webhooks.
Authorization
AuthorizationheaderrequiredBearer YOUR_API_KEY. Create a key in the dashboard.
Path parameters
senderIdstringrequired
Body
application/json
namestringrequiredLimitsmax length 100descriptionstringrequiredLimitsmax length 500parametersobjectrequired3 properties
typestringrequiredOne ofobjectpropertiesobjectrequired1 properties
{key}object2 properties
typestringdescriptionstring
requiredstring[]required
webhookUrlstring<uri>requiredMust be HTTPS.
webhookSecretstringSigning secret for the webhook. Optional: Zavu generates one when omitted and returns it on this response only. Supply your own if you already have a secret you want reused.
enabledbooleanDefaulttrue
Responses
201Tool created.
toolobjectrequired10 properties
idstringrequiredagentIdstringrequirednamestringrequireddescriptionstringrequiredDescription for the LLM to understand when to use this tool.
parametersobjectrequired3 properties
typestringrequiredOne ofobjectpropertiesobjectrequired1 properties
{key}object2 properties
typestringdescriptionstring
requiredstring[]required
webhookUrlstring<uri>requiredHTTPS URL to call when the tool is executed.
enabledbooleanrequiredcreatedAtstring<date-time>requiredupdatedAtstring<date-time>requiredwebhookSecretstringSigning secret for this tool's webhook. Returned only when the tool is created, never on a later read.
Zavu generates one if you do not supply it, and signs every call to this tool with it:
X-Zavu-Signature: <hex>, the HMAC-SHA256 of the request body. Verify it before trusting the call. Lost it? Rotate withPOST /v1/senders/{senderId}/agent/tools/{toolId}/webhook/secret.
400Invalid request.
codestringrequiredmessagestringrequireddetailsobject
401Unauthorized.
codestringrequiredmessagestringrequireddetailsobject
404Agent not found.
codestringrequiredmessagestringrequireddetailsobject
409`conflict`: the agent already has a tool with this name. Tool names are unique per agent, because a flow's `tool` step and the model both call a tool by name.
codestringrequiredmessagestringrequireddetailsobject