# Webhooks

Receive a client's chat and call events on your own endpoint, signed and verifiable

> Full REST + WebSocket API reference: https://api.happ.tools/reference

Receive real-time chat and call events on your own server — Happ POSTs JSON when something happens, so you can drive Slack alerts, CRM lookups, analytics, or custom workflows.

<WebhooksPageDemo />

## Connect [#connect]

1. Open the **Integrations** catalog and click **Connect** on **Chat webhook** or **Call webhook**.
2. In the modal, enter your **Webhook URL** — the HTTPS endpoint that receives events.
3. Optionally set a **Webhook secret** for request verification.
4. Click **Connect**.

There's no separate webhooks page, no event-subscription toggles, and no in-app deliveries log — the modal is just URL + optional secret.

## Events sent [#events-sent]

| Webhook | Fires on                                                                                       |
| ------- | ---------------------------------------------------------------------------------------------- |
| Chat    | New message from customer, message sent by assistant, conversation started, AI control toggled |
| Call    | Call started, call ended (duration + metadata), call recording available                       |

## Verifying requests [#verifying-requests]

Each request carries an **HMAC-SHA256 signature** computed from your webhook secret. On your server: extract the signature from the headers, compute HMAC-SHA256 of the raw body with your secret, and process the request only if they match. Same mechanism as assistant [tools](/docs/tools#webhook-security).

Use HTTPS only, respond `200` fast (process async), and handle duplicate deliveries idempotently.

## Webhooks vs tool webhooks [#webhooks-vs-tool-webhooks]

|           | Integration webhooks          | Tool webhooks                      |
| --------- | ----------------------------- | ---------------------------------- |
| Trigger   | Automatic on events           | Called by AI during conversation   |
| Direction | Happ → your server            | Happ → your server → response → AI |
| Response  | HTTP 200 ack                  | JSON used by the assistant         |
| Use case  | Monitoring, logging, alerting | Dynamic lookups, actions           |

For webhooks the AI calls mid-conversation, see [Tools](/docs/tools).

**API:** [api.happ.tools/reference](https://api.happ.tools/reference)

## Next [#next]

* [Tools](/docs/tools) — AI-called webhooks
* [Notifications](/docs/integrations/notifications) — built-in alerting
* [Integrations](/docs/integrations) — the full catalog
