> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.formantai.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.formantai.com/_mcp/server.

# Configure Webhooks

> Add webhook targets to an agent from the dashboard.

Webhook targets are configured per agent.

**Location:** Agent -> Webhook tab -> Add Target

## Add a target

Go to the dashboard and open the agent that should send events.

Select the **Webhook** tab in the agent editor.

Click **Add Target** and enter the target details.

Select the call events your endpoint should receive.

Save the target. It starts receiving events when active.

## Target fields

| Field                 | Description                                                               |
| --------------------- | ------------------------------------------------------------------------- |
| Name                  | Unique label for this target, such as `crm-sync` or `analytics-pipeline`. |
| Webhook URL           | Public HTTPS endpoint that receives POST requests.                        |
| Webhook Secret        | Optional secret used to sign payloads with HMAC-SHA256.                   |
| Events                | Event types this target should receive.                                   |
| Include transcript    | Adds `data.transcript` to completed-call payloads.                        |
| Include recording URL | Adds `data.call.recording_url` when a recording is available.             |
| Status                | Active targets receive events; inactive targets are skipped.              |

## Limits

* Maximum 5 webhook targets per agent.
* Target names must be unique within one agent.
* Each target can subscribe to a different set of events.

## Test locally

Use a public tunnel or a temporary test endpoint while building your receiver. Do not use a local-only URL because FormantAI must reach your endpoint over the public internet.

Webhook secrets should be treated like passwords. Store them in your backend secret manager and rotate them if exposed.