> For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

# AI sidecar SWAIG tool webhook

POST 

Sent to a sidecar tool's `web_hook_url` (or the SWAIG `defaults.web_hook_url`) when the sidecar
calls one of your functions.

Your endpoint runs the function and replies with a JSON object. Both fields are optional, so `{}`
is a valid reply:

* `response` — the result the model reads next. A plain string only; the
  `{tool_result, tool_prompt}` object form that [`ai`](/docs/swml/reference/calling/ai) agents
  accept is not read. Omit it and the model reads a default result.
* `action` — a single action object or an array of them. See
  [Supported SWAIG actions](/docs/swml/reference/calling/ai-sidecar#supported-swaig-actions) for
  what you can return.

There is no `post_process` on a sidecar reply.

The sidecar only listens to the call and never speaks on it, so a `say` action is reported back to
you as a callback rather than being spoken aloud.

Reference: https://signalwire.com/docs/apis/rest/webhooks/ai-sidecar-swaig-tool-webhook

## Request

### Payload

- `function` (string, required) — The name of the function the model is calling.
- `argument` (object, required) — The arguments the model passed to your function.
  - `parsed` (list of object, required) — The arguments parsed into objects. Usually a single-element array.
  - `raw` (string, required) — The raw argument string, exactly as the model produced it.
  - `substituted` (string, optional) — Any text that surrounded the JSON, with the JSON itself removed. Omitted when the whole argument was JSON, which is the usual case.
- `channel_data` (object, required) — Identifies the call the sidecar is attached to.
  - `call_id` (string, optional) — ID of the call the sidecar is attached to.
  - `caller_id_name` (string, optional) — The caller's name.
  - `caller_id_number` (string, optional) — The caller's number.
  - `destination_number` (string, optional) — The number that was called.
- `call_id` (string, optional) — The ID of the call the sidecar is attached to.
- `global_data` (object, optional) — The sidecar's current `global_data`. Present when the sidecar has any.