POST requests to URLs you configure whenever specific events happen on a chatbot. Use webhooks to push leads into your CRM, mirror conversations into a data warehouse, or trigger Zapier / Make.com / n8n workflows.
Set up webhooks in Dashboard → your chatbot → Webhooks → Add Webhook. Pick the events you care about, set a destination URL, and InsiteChat does the rest.
Events
Common Envelope
Every event uses the same outer envelope. The event-specific payload lives underdata:
Per-Event Payloads
lead.captured
conversation.started
message.received
conversation.escalated
Fires once per conversation the first time the visitor (or a smart-intent / CTA / agent rule) flips the conversation into “needs a human” mode. Subsequent triggers on an already-escalated conversation are no-ops.
Web escalations may include an additional
message_count field; WhatsApp / Telegram escalations don’t. Treat any field beyond the four above as optional and channel-specific.Headers
Every webhook request carries:Signature Verification
Every payload is signed with HMAC-SHA256 using the per-webhook secret you’ll see when you create or view the webhook in the dashboard. Always verify the signature before trusting the body.Python
Node.js
Retry Policy
A delivery is failed if the response is non-2xx or the request times out (10 seconds). Failed deliveries are retried up to 3 times with fixed backoff:
After the 3rd failed retry the delivery is marked permanently failed.
