Skip to main content
POST
Create Custom Tool

Authorizations

x-api-key
string
header
required

API key for authentication. Generate API keys from the RevRing dashboard. A key is either full access or read-only; a read-only key is refused with 403 read_only_key on any request that creates, changes or deletes.

Path Parameters

id
string<uuid>
required

Agent ID

Body

application/json
name
string
required
Maximum string length: 64
webhookUrl
string<uri>
required
enabled
boolean
default:true
schema
object

Function definition: type function, a name, a description and JSON Schema parameters

httpMethod
enum<string>

HTTP method used when calling the webhook. Defaults to POST.

Available options:
GET,
POST,
PUT,
PATCH,
DELETE
headers
object[] | null

Custom HTTP headers to include in webhook requests

queryParams
object[] | null

Custom query parameters appended to the webhook URL

sendRawRequestBody
boolean

When true, sends tool arguments directly as the request body instead of the default wrapper

responseMode
enum<string>
default:sync

How the agent treats the webhook call. sync: the agent waits for your webhook's response (up to the tool timeout) and can use it in the conversation. async: the agent acknowledges the tool call immediately and keeps the conversation going while your webhook is delivered in the background; the response is not used. Use async for side effects such as logging, CRM updates or notifications.

Available options:
sync,
async
timeoutSeconds
integer | null

Seconds a sync tool waits for the webhook before the agent moves on. Default 8.

Required range: 1 <= x <= 120
executionMessage
string | null

A line the agent says while a slow sync tool runs, for example "One moment while I check that." The agent answers from the real result when it arrives. Empty or null: the agent waits without speaking.

Maximum string length: 300
responseVariables
object[] | null

Fields of a successful JSON response saved as call variables for later tools, by name and response path (for example order.id).

Maximum array length: 20
speakAfterResult
boolean
default:true

When false, the agent does not reply to the tool's result and keeps listening. Only for sync tools.

maxRetries
integer
default:0

Extra attempts after a connection error or an HTTP 429, 502, 503 or 504 response, within the tool's time limit. A request that times out is not retried.

Required range: 0 <= x <= 3

Response

Custom tool created

data
object

Custom function calling tool for agents