Dashboard → Integrations → Webhooks
Developer documentation
Webhooks
Receive real-time events in your backend when visitors chat or tickets change.
Full API reference: See REST API docs → Webhooks for payload schemas, signature verification, and all event types.
Set up a webhook
Add your HTTPS endpoint URL (must be publicly reachable)
Select events (visitor message, agent reply, ticket created, etc.)
Click Send test and verify your server returns
2xxPopular events
| Event | When it fires |
|---|---|
conversation.started | Visitor opens a new chat |
message.received | Visitor sends a message |
message.sent | Agent replies (text, attachment, canned) |
conversation.closed | Chat is closed by agent or visitor |
ticket.created | New support ticket (Pro plan) |
Delivery & queue worker
Webhooks are delivered asynchronously. Your Wiretalk server must run a queue worker:
php artisan queue:work
If webhooks show Never sent, the queue worker is likely not running. See troubleshooting → Webhooks.
Verify signatures
Each delivery includes X-Wiretalk-Signature. Verify HMAC-SHA256 with your webhook secret before processing. Full example in the API docs.
Alternative: REST API polling
If you cannot receive webhooks, poll GET /api/v1/conversations with an API key. See the REST API reference.