---
title: "Create tool"
method: POST
path: "/v1/senders/{senderId}/agent/tools"
tags: ["Agent Tools"]
---

# Create tool

`POST /v1/senders/{senderId}/agent/tools`

Create a new tool for an agent. Tools allow the agent to call external webhooks.

## Path parameters

- `senderId` string, required

## Request body

- ToolCreateRequest
  - `name` string, required
  - `description` string, required
  - `parameters` ToolParameters, required
    - `type` 'object', required
    - `properties` object, required
    - `required` string[], required
  - `webhookUrl` string, uri, required — Must be HTTPS.
  - `webhookSecret` string — Optional secret for webhook signature verification.
  - `enabled` boolean

## Response `201`

Tool created.

- ToolResponse
  - `tool` AgentTool, required
    - `id` string, required
    - `agentId` string, required
    - `name` string, required
    - `description` string, required — Description for the LLM to understand when to use this tool.
    - `parameters` ToolParameters, required
      - `type` 'object', required
      - `properties` object, required
      - `required` string[], required
    - `webhookUrl` string, uri, required — HTTPS URL to call when the tool is executed.
    - `enabled` boolean, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `400` — Invalid request.
- `401` — Unauthorized.
- `404` — Agent not found.

---

[API](https://skmtc.net/zavudev/apis/zavu-unified-messaging-layer-api.md) · [All operations](https://skmtc.net/zavudev/apis/zavu-unified-messaging-layer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zavudev/zavu-unified-messaging-layer-api/revisions/07b87b6ae707/schema)
