Tools · Webhooks
Webhooks
Get told when your agents talk to customers.
Add an endpoint in Webhooks and choose its events. We POST each event to it as JSON; a failed delivery is retried after 5 and 30 seconds, and the last deliveries are listed in the dashboard.
| Event | Sent when |
|---|---|
conversation.started | A call or WhatsApp chat with one of your agents begins. |
conversation.message | New messages in a conversation, the caller's and the agent's. |
credits.low | Your balance falls below the low-credit level (once, until you top up). |
{
"id": "evt_8c2…",
"type": "conversation.message",
"createdAt": "2026-10-03T10:15:00.000Z",
"data": {
"conversationId": "…", "agentId": "…", "agentName": "Priya",
"channel": "voice", "caller": "+919800000001", "phoneNumber": "+918047182200",
"messages": [{ "role": "user", "text": "Where is my order?" }, { "role": "agent", "text": "…" }]
}
}Check the signature
Every request has X-Lipivo-Signature: t=<unix time>,v1=<hex>: an HMAC-SHA256 of "<t>.<raw body>" with your endpoint's secret. Check it, and that t is recent, before trusting an event.
from lipivo import webhooks
event = webhooks.construct_event(request.body, request.headers["X-Lipivo-Signature"], "whsec_...")