Skip to main content
Tool Webhooks let your AI assistant call external services in real time during a phone call. When the LLM decides to invoke a tool, the platform sends an HTTP POST request to a server URL you configure. Your server performs the action — querying a database, booking an appointment, looking up a record — and returns a result that the LLM uses to continue the conversation.

Request reference

When the LLM triggers a tool, the platform sends a POST request to the configured serverUrl.

Request body fields

Requests are delivered as HTTP POST with Content-Type: application/json. Any headers you configured are included on every request.

Transport object

callingNumber is always present for SIP calls but may be "anonymous" when the caller has withheld their number. If your webhook uses callingNumber to look up a customer record, handle the "anonymous" case explicitly — otherwise your server may return incorrect results or an error to the LLM.

Full request example

Response

Return the tool result as a plain-text or JSON string in the HTTP response body. The LLM receives this string as the tool result and uses it to continue the conversation. If your server returns an error status code, the LLM receives a generic error string instead of the response body.

Configuration

Each tool webhook has the following fields:

Schema format

The schema field follows the OpenAI function specification format. It defines the tool name, description, and the parameters the LLM can pass.
Supported parameter types: string, integer, number, boolean, object, array.

What’s configurable

Setting up

Tool Webhooks are configured per Assistant or Agent as LLM Extensions.

Dashboard

  1. Open the Assistant or Agent you want to configure.
  2. Navigate to the LLM Extensions (LLM Erweiterungen) section.
  3. Click Add (Hinzufügen) and select the extension type tool_webhook.
  4. Enter the tool name, server URL, schema (OpenAI function format), and any HTTP headers.
  5. Save. The tool webhook is now active for all future calls on that Assistant or Agent.
To update a tool webhook, edit the fields in place and save. To remove one, delete it from the list and save.

REST API

Tool webhooks are managed through the Assistant and Agent endpoints using the extensions array. The examples below use the Assistant path — the Agent path follows the exact same structure.
Retrieve the full Assistant configuration including its extensions.
The extensions array in the response:
Each extension object:
Include extensions in the request body when creating an Assistant. Omit the id — it is assigned by the platform.
Returns the full Assistant object including the assigned extension id values.
The PUT endpoint replaces the entire extensions array. The behaviour depends on whether id is included for each extension:
In this example:
  • The book_appointment webhook with the given id is updated with the new URL and token.
  • The check_availability entry has no id, so a new extension is created.
  • Any previously existing extensions not listed are removed.
Returns 200 OK with an empty success body.
The same operations apply to Agents at /api/v1/vendors/{vendorId}/organizations/{organizationId}/agents/{agentId}. The request and response shapes for extensions are identical.