Каталог на събитията
Всеки webhook body има поле type, чиято стойност е един от типовете
събития на тази страница. Когато се абонирате за
крайна точка, масивът events трябва да съдържа
желаните от вас типове събития (или да е празен, за да се абонирате за всички).
Тези събития се предават по два начина:
- Доставките до крайна точка винаги са неблокиращи известия
с повторни опити: отговорете с
който и да е 2xx; обвивката съдържа
event_idза дедупликация. - Блокиращите обмени се изпълняват само чрез
остарелия webhook с един URL: заявката за
конфигуриране
telephony.incoming/web.incoming(номера в режим webhook и ключове за уиджети, изчакване 10 s) и извикването на инструмент в режим webhook. Вашият отговор оформя разговора на живо.
Примерните payload-и по-долу показват обвивката за крайна точка в реда,
в който се предава по мрежата (ключовете са подредени по азбучен ред:
data, event_id, type); остарелите доставки съдържат същото data
без event_id.
Събития за обаждания
telephony.incoming
Изпраща се, когато входящо обаждане достигне един от Вашите
телефонни номера. Доставките към крайни точки са
известия без изчакване, изпращани за всяко входящо обаждане, независимо
дали номерът е конфигуриран за агент или за уебхук. Номерата без
назначен агент получават допълнително блокиращата конфигурационна
заявка към наследения уебхук — вижте
telephony.incoming / web.incoming за
пълната схема на заявката/отговора.
{
"data": {
"call_id": 987654321,
"from_number": "+14155550199",
"to_number": "+15551234567"
},
"event_id": "3f6b2ad0-1c9e-4a57-9f2b-8f6f0f9d2f11",
"type": "telephony.incoming"
}
telephony.complete
Изпраща се, когато приключи входящо или изходящо телефонно обаждане. Неблокиращо.
Включва транскрипцията, URL адреса на записа, когато е наличен, и обобщение на таксуването. Вижте
telephony.complete / web.complete за
схемата на полезния товар.
telephony.tool
Изпраща се, след като телефонно обаждане извика инструмент за функция. Неблокиращо известие за одит — инструментът вече е изпълнен, когато това събитие бъде доставено; то обхваща Вашите собствени инструменти за функции (не вградени инструменти, инструменти за база знания, връзка с приложение или MCP инструменти).
{
"data": {
"arguments": { "date": "2026-04-21" },
"call_id": 987654321,
"from_number": "+14155550199",
"response": {
"response": { "available_slots": ["9:00 AM", "2:00 PM"] },
"status": 200
},
"to_number": "+15551234567",
"tool_name": "search_appointments"
},
"event_id": "1f0a7c3e-52d4-4a0e-8f4b-b1a6a1c0d9e2",
"type": "telephony.tool"
}
response е резултатът от изпълнението: {"status": <http status>, "response": <your endpoint's JSON>} при успех или
{"status": <status>, "error": "<message>"} при неуспех.
web.incoming
Еквивалентът на telephony.incoming за уеб канала, изпращан при започване на
сесия с уеб уиджет или тестово обаждане с микрофон в конструктора.
Доставките към крайни точки са без изчакване за всяка уеб сесия.
Публикуемите ключове в mode="webhook" получават допълнително
блокиращата конфигурационна заявка към наследения уебхук — тази
блокираща заявка има различна структура (origin_domain,
publishable_key_prefix; без телефонни номера). Вижте
telephony.incoming / web.incoming.
{
"data": {
"call_id": 987654322,
"from_number": "web",
"origin_domain": "https://example.com",
"publishable_key_prefix": "pk_live_a1b2",
"to_number": "+15551234567"
},
"event_id": "9a2b4c6d-8e0f-4a1b-9c2d-3e4f5a6b7c8d",
"type": "web.incoming"
}
from_number винаги е буквалната стойност "web". За сесии с уиджети в режим на уебхук
to_number е празно (номерът на агента за сесията се задава
след конфигурирането); за тестови обаждания с микрофон в конструктора origin_domain и
publishable_key_prefix са празни.
web.complete
Еквивалентът на telephony.complete за уеб канала, обхващащ обаждания с
уеб уиджети (direction: "web") и тестови обаждания с микрофон в конструктора
(direction: "test"). Неблокиращо. Същата структура на полезния товар като
telephony.complete, плюс origin_domain,
със зададено from_number на "web".
web.tool
Еквивалентът на telephony.tool за уеб канала. data съдържа
origin_domain вместо from_number / to_number.
Събития за гласове
Създаването на персонализиран глас е асинхронно. Тези неблокиращи събития Ви позволяват да реагирате на краен резултат, вместо да извършвате периодични заявки към крайната точка за подробности за клониране.
voice.ready
Изпраща се, когато обработката на персонализиран глас завърши и той може да бъде присвоен на агент.
{
"data": {
"voice": {
"created_at": "2026-07-30T14:12:08.317Z",
"display_name": "Support voice",
"failure_reason": "",
"gender": "female",
"id": "cv_2f6f90b0e9a34ee8b39be7d1",
"language": "en",
"name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
"status": "ready",
"updated_at": "2026-07-30T14:13:31.605Z"
}
},
"event_id": "2d5f0a61-e9b5-4a3c-b684-29d7d9e4b214",
"type": "voice.ready"
}
voice.failed
Изпраща се, когато обработката на персонализиран глас достигне окончателна грешка.
{
"data": {
"reason": "audio sample could not be processed",
"voice": {
"created_at": "2026-07-30T14:12:08.317Z",
"display_name": "Support voice",
"failure_reason": "audio sample could not be processed",
"gender": "female",
"id": "cv_2f6f90b0e9a34ee8b39be7d1",
"language": "en",
"name": "custom:cv_2f6f90b0e9a34ee8b39be7d1",
"status": "failed",
"updated_at": "2026-07-30T14:13:31.605Z"
}
},
"event_id": "3493e985-1a75-4f77-a10a-e74af440cd31",
"type": "voice.failed"
}
| Поле | Тип | Описание |
|---|---|---|
voice.id | низ | Публичен идентификатор на персонализирания глас |
voice.name | низ | Стойност за гласа на агента във формат custom:<public_id> |
voice.display_name | низ | Име на гласа, видимо за организацията |
voice.language | низ | Кодът на единствения език на клонирания глас |
voice.gender | низ | male, female или празен низ |
voice.status | низ | ready за voice.ready; failed за voice.failed |
voice.failure_reason | низ | Празно при успех; подробности за грешката при обработката при неуспех |
voice.created_at, voice.updated_at | времеви отпечатък | Времеви отпечатъци в ISO 8601 формат |
reason | низ | Подробности за грешката; присъства само при voice.failed |
Събития за качество
call.graded
Изпраща се при завършване на AI оценяване за обаждане. Не блокира изпълнението.
{
"data": {
"call_id": 987654321,
"grade": {
"call_outcome": "success",
"created_at": "2026-04-20T18:25:11.002Z",
"detected_issues": [],
"graded_at": "2026-04-20T18:25:11.002Z",
"grader_model": "heuristic-v1",
"id": 5512,
"score": 92,
"status": "completed",
"summary": "Caller asked about their policy and got a full answer…"
}
},
"event_id": "7c1d2e3f-4a5b-4c6d-8e9f-0a1b2c3d4e5f",
"type": "call.graded"
}
| Поле | Тип | Описание |
|---|---|---|
grade.id | integer | Идентификатор на оценката |
grade.score | integer | null | 0–100 |
grade.call_outcome | string | success, failure, unknown или no_conversation |
grade.summary | string | Обобщение в един абзац |
grade.detected_issues | array | Низове с проблеми, открити от оценяващия компонент |
grade.status | string | Винаги completed — изпращат се само завършени изпълнения |
grade.grader_model | string | Кой оценяващ модел е създал резултата (напр. heuristic-v1) |
grade.graded_at, grade.created_at | timestamp |
issue.reported
Изпраща се при създаване на сигнал за проблем —
подаден от потребител чрез таблото за управление (source: "user") или
автоматично чрез оценяване на обаждане (source: "system"). Не блокира изпълнението.
{
"data": {
"call_id": 987654321,
"issue_report": {
"created_at": "2026-04-20T18:25:11.002Z",
"description": "Five-second silence before responding to the main question.",
"id": 4321,
"severity": "warning",
"source": "system",
"status": "open",
"title": "Agent paused too long"
}
},
"event_id": "5e6f7a8b-9c0d-4e1f-8a2b-3c4d5e6f7a8b",
"type": "issue.reported"
}
| Поле | Тип | Описание |
|---|---|---|
issue_report.severity | string | critical, warning или info |
issue_report.status | string | open или resolved |
issue_report.source | string | user (подаден чрез таблото за управление) или system (създаден чрез оценяване) |
Събития за тестови обаждания
test-call.completed
Изпраща се, когато
изпълнение на тестово обаждане
достигне краен статус — completed или failed, включително изпълнения,
които са неуспешни при стартиране и никога не са създали обаждане. Не блокира изпълнението. Полезно
за свързване на пакетни изпълнения в CI към вашите системи за чат и известия.
{
"data": {
"test_call_run": {
"call_id": 987654321,
"completed_at": "2026-04-20T18:25:04.822Z",
"error_message": "",
"id": 7110,
"status": "completed",
"target_id": 12,
"target_type": "agent"
}
},
"event_id": "2b3c4d5e-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
"type": "test-call.completed"
}
| Поле | Тип | Описание |
|---|---|---|
test_call_run.target_type | string | agent или phone_number |
test_call_run.target_id | integer | Идентификаторът на агента или телефонния номер, към който е насочено изпълнението, съответстващ на target_type |
test_call_run.status | string | completed или failed |
test_call_run.call_id | integer | null | null, когато изпълнението е неуспешно преди осъществяване на обаждане |
test_call_run.error_message | string | Празно при успех |
Събития за предупреждения
alert.triggered
Изпраща се, когато правило за предупреждение с активиран канал Изпращане до webhook адреси за разработчици премине прага си. Не блокира изпълнението. Правилото се задейства веднъж и след това спазва периода си на изчакване, така че продължително нарушение генерира по едно събитие за всеки прозорец на изчакване.
{
"data": {
"comparator": "lt",
"event_id": "b8e6a1d4-2c3f-4a5b-9c8d-7e6f5a4b3c2d",
"fired_at": "2026-04-20T18:00:00+00:00",
"metric": "success_rate",
"metric_value": 71.4,
"rule_id": "d2c3b4a5-6f7e-4d8c-9b0a-1c2d3e4f5a6b",
"rule_name": "Success rate below 80%",
"threshold": 80.0,
"window_hours": 24
},
"event_id": "4d5e6f7a-8b9c-4d0e-9f1a-2b3c4d5e6f7a",
"type": "alert.triggered"
}
| Поле | Тип | Описание |
|---|---|---|
event_id (в data) | UUID | Идентификаторът на задействането на предупреждението — различен от event_id за доставката в обвивката |
rule_id, rule_name | UUID, низ | Правилото, което се е задействало |
metric | низ | success_rate, failure_rate, avg_score, call_volume или suite_regression |
comparator | низ | lt, lte, gt или gte |
metric_value | число | Стойността на метриката за прозореца при задействане на правилото |
threshold | число | Конфигурираният праг |
window_hours | цяло число | Ретроспективен прозорец за оценяване |
fired_at | времеви отпечатък |
Вижте ръководството за предупреждения за създаване на правила, метрики, периоди на изчакване и канали за имейл / Slack.
Свързани
Данните за входящо обаждане с блокиращо изпълнение, на които трябва да отговорите.
Транскрипция и метрики след обаждането.
Абонирайте URL към подмножество от тези събития.
Как се генерират събитията telephony.tool / web.tool.