An event for every change. The API on every plan.
Everything that happens in TalkyHub can reach you as a signed webhook: new messages, assignments, statuses, labels. No add-on fee, no request packs.
- message.created
- message.updated
- message.deleted
- conversation.created
- conversation.status_changed
- conversation.assigned
- conversation.team_changed
- conversation.priority_changed
- conversation.labels_changed
- HMAC-SHA256 with a timestamp against replays
- Retries after 5 and 30 seconds, failure log
- REST /api/v1, RFC 9457 errors
- 00:16:49message.updatedapi.company.ru/hooks200
- 00:16:46conversation.labels_changedapi.company.ru/hooks200
- 00:16:43message.createdapi.company.ru/hooks200 · attempt 2
- 00:16:40message.createdapi.company.ru/hooks503 · retry in 5s
- 00:16:37conversation.createdapi.company.ru/hooks200
- 00:16:34conversation.assignedapi.company.ru/hooks200
- 00:16:31message.createdapi.company.ru/hooks200
Subscribe only to what you need
Event names are validated when you subscribe: a typo returns an error, not silence.
| message.created | A new customer message or agent reply | live |
|---|---|---|
| message.updated | A message was edited | live |
| message.deleted | A message was deleted | live |
| conversation.created | A new conversation started | live |
| conversation.status_changed | Open, pending, snoozed, resolved | live |
| conversation.assigned | Assigned to an agent | live |
| conversation.team_changed | Moved to another team | live |
| conversation.priority_changed | Priority changed | live |
| conversation.labels_changed | Labels changed | live |
| contact.merged | Two contacts merged | soon |
| sla.breached | A response deadline was missed | soon |
Managing webhooks
Endpoints and subscriptions are managed through the API or in workspace settings.
- GET/api/v1/webhook-endpoints/catalogEvents you can subscribe to
- POST/api/v1/webhook-endpointsRegister a URL and events. The secret is shown once
- GET/api/v1/webhook-endpointsYour endpoints (secrets omitted)
- GET/api/v1/webhook-endpoints/{id}/deliveriesDelivery log, failures included
- DELETE/api/v1/webhook-endpoints/{id}Remove an endpoint
Website chat that knows your users
Pass a user ID signed by your server and the user sees their conversation on any device, with no pre-chat form. Without a signature the details are only a hint and never unlock anyone else’s history.
- 24 KB gzipped, Shadow DOM: your CSS stays intact
- Realtime replies
- TalkyHub.setUser() and reset() for sign-in and sign-out
<script>
window.talkyhubSettings = {
token: 'wgt_…',
apiBase: 'https://api.talkyhub.ru',
user: {
identifier: 'user-42',
identifier_hash: '9f86d081…', // HMAC on your server
name: 'Anna Morozova',
email: 'anna.m@yandex.ru',
},
}
</script>
<script async src="https://cdn.talkyhub.ru/widget/v1/loader.js"></script>How the API behaves
One format for every channel
A message from VK, MAX or email reaches you in the same shape. Each messenger’s quirks stay inside TalkyHub.
At-least-once delivery
If your server doesn’t answer, the event is retried after 5 and 30 seconds. Dedupe on X-TalkyHub-Delivery.
Signatures and replay protection
HMAC-SHA256 covers the timestamp and the body. Reject requests with a stale timestamp.
Readable errors
A REST API under /api/v1, with RFC 9457 problem details for errors.
Try TalkyHub for free
Connect your first channel and answer a customer today.
Free forever · No card · First channel in 5 minutes