> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hubtalk.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Аналитика, наблюдатели и вебхуки

> Разбор после звонка, пользовательские поля, наблюдатели и post-call вебхуки.

# Аналитика, наблюдатели и вебхуки

## Пост-аналитика разговоров

Пост-аналитика запускает офлайн-анализ после завершения разговора. Он обрабатывает полную транскрипцию и формирует summary, сигналы тональности, пользовательские поля и оценку результата, не влияя на задержку во время звонка.

* **«Включить пост-аналитику»**.
* **«Резюме звонка (авто)»** — краткое содержание разговора.
* **«Тональность (авто, отключаемая)»** — общая тональность звонка.
* **«Тональность абонента отдельно»** — отдельная оценка для клиента, помимо общей.
* **«Траектория тональности по ходу диалога»** — как настроение менялось от реплики к реплике.
* **«Оценка успешности звонка»** — достиг ли звонок цели; под ней поле **«Критерий успеха»**, например «встреча назначена / клиент согласился».
* **«Язык аналитики»** — язык результатов. От языка кабинета и языка агента не зависит; пустое поле означает язык агента.

<img src="https://mintcdn.com/hubtalk/9ArMFeq_K4HZh-Td/images/v4_settings_analytics.png?fit=max&auto=format&n=9ArMFeq_K4HZh-Td&q=85&s=c5b62df94991800ae135a435259e7ae5" alt="Секция «Пост-аналитика разговоров»" width="1440" height="900" data-path="images/v4_settings_analytics.png" />

### Кастомные поля извлечения

Блок **«Кастомные поля извлечения»** добавляет собственные поля, которые извлекаются из полной расшифровки — так же, как это делает узел Extract Variables. Кнопка **«+ поле»** открывает форму **«Новое поле извлечения»**: **«Имя поля»**, **«Тип»** (string, number, boolean, enum или list) и **«Инструкция извлечения»** — вопрос, на который извлекатель отвечает по транскрипту. У типа enum появляются ещё **«Варианты значений»**: пока их нет, извлекателю не из чего выбирать, и форма об этом прямо пишет.

### Модель аналитики

**«Модель аналитики (массовый уровень)»** — модель подешевле и побыстрее, без reasoning, на основной объём офлайн-разбора. По умолчанию берётся системная настройка.

* **«Переопределить для этого агента»** — использовать свою модель вместо унаследованной.

### Модель глубокого уровня

**«Модель глубокого уровня (опционально)»** — модель посильнее, для отдельных звонков. Глубокий разбор тоже идёт офлайн и на задержку живого звонка не влияет; запускается он только для звонков, отобранных триггерами или сэмплингом.

* **«Переопределить для этого агента»** — задать свою модель глубокого уровня.
* **«reasoning-модель (допустимо — офлайн)»** — здесь reasoning не мешает: ответа никто не ждёт в реальном времени.

### Триггеры глубокого уровня

Блок **«Триггеры глубокого уровня»** решает, какие звонки пойдут на повторный разбор:

* **«По тональности»** — позитивная, нейтральная или негативная.
* **«По исходу»** — состоялся или прерван.
* **«По извлечённым полям»** — условия по вашим кастомным полям; **«+ условие»** добавляет строку.
* **«Сэмплинг, % звонков»** — доля звонков, уходящих на глубокий разбор просто так, от 0 %.

### Когда не анализировать звонок

Блок **«Когда не анализировать звонок»** отсекает пустые разговоры до обращения к модели:

* **«Мин. реплик пользователя»** — сколько раз должен был заговорить клиент.
* **«Мин. длительность, сек (0 — выкл)»**.
* **«Пропускать статусы»** — какие исходы не разбирать: нет ответа, занято, автоответчик, слишком короткий, тишина и группа **«Недозвон — прочие причины»**.

## Наблюдатели

Секция **👁 Наблюдатели** в панели настроек агента. Наблюдатели непрерывно следят за разговором и реагируют на важные события, не замедляя работу агента. Один наблюдатель обнаруживает **одно** событие и запускает действия, когда оно происходит.

* **Из библиотеки** — подключает готовый детектор из библиотеки компании.
* **Новый Observer** — создаёт свой детектор для этого агента или для библиотеки. Кнопка в кабинете так и называется, по-английски, хотя сама секция и форма детектора — по-русски.
* **Evaluation: общие настройки проверок** — параметры, общие для всех наблюдателей агента: **Область наблюдения** (только реплики клиента, только агент или весь диалог) и **Мин. интервал между проверками, с**. Значение 0 проверяет каждый ход диалога; чем чаще проверки, тем больше расход модели.

### Вкладка «WHEN — что детектировать»

* **Ключ события** — уникальный идентификатор из строчных латинских букв, цифр и подчёркиваний, например `do_not_call`. Он задаёт тип инцидента и не переименовывается.
* **Название** — понятное имя события, которое видно в интерфейсе.
* **Категория** — **Соответствие правилам**, **Безопасность**, **Продажи**, **Разговор** или **Другое**.
* **Важность** — **Информация**, **Предупреждение** или **Критично**.
* **Когда срабатывает** — **Один раз за звонок** или **Повторные срабатывания**.
* **Уровень** — **Agent** (локальный, только этот агент) или **Library** (общий для компании).
* **Описание события (бизнес-правила)** — свободный текст: что искать и какие подсказки давать агенту. Роль аудитора и строгий формат ответа встроены в систему, описывать их не нужно.
* **Контекст оценки** — **Последний ход диалога**, **Последние N ходов** или **Весь разговор**.
* **Модель детектора** — модель, которая обнаруживает событие.

<Note>
  **Области наблюдения в этой форме нет.** Она общая для всех наблюдателей агента и задаётся в блоке **Evaluation** выше, вместе с интервалом проверок.
</Note>

<img src="https://mintcdn.com/hubtalk/yYJS_d_pzapQzHCp/images/v4_settings_observers_when.png?fit=max&auto=format&n=yYJS_d_pzapQzHCp&q=85&s=deaf83bb02daddcade647836e85b1541" alt="Форма нового наблюдателя, вкладка WHEN" width="1440" height="900" data-path="images/v4_settings_observers_when.png" />

### Вкладка «THEN — как реагировать»

Реакция принадлежит **этому** агенту: другие агенты с тем же детектором могут реагировать иначе.

* **Мягкие действия** — реакции, не останавливающие сценарий: коррекция агенту, флаг на ревью, метка, уведомление, лог/алерт.
* **Жёсткие действия (opt-in)** — включаются вручную: перевод на человека, завершение звонка, пауза агента.
* **Порог уверенности** — минимальная уверенность детектора, при которой реакция срабатывает.
* **N детектов подряд** — требует обнаружить событие указанное число раз подряд.
* **Проверка человеком** — вместо автоматического действия событие уходит в очередь разбора с уведомлением.
* **Проверить наблюдателя** — прогон детектора на разговоре, чтобы убедиться, что обнаружение и реакция работают.
* **Сохранить** / **Отмена**.

<Warning>
  **У жёсткого действия обязан быть порог.** Кабинет не даст включить перевод, завершение звонка или паузу агента без ограничителя — нужна важность **Критично**, порог уверенности или N детектов подряд. Это защита от ложных срабатываний: жёсткое действие по одному неуверенному вердикту обрывало бы живые разговоры.
</Warning>

<img src="https://mintcdn.com/hubtalk/yYJS_d_pzapQzHCp/images/v4_settings_observers_then.png?fit=max&auto=format&n=yYJS_d_pzapQzHCp&q=85&s=6bc6ff13cd59696198efd8c9b5e72ccc" alt="Форма нового наблюдателя, вкладка THEN" width="1440" height="900" data-path="images/v4_settings_observers_then.png" />

## Уведомления после звонка

Секция **«🪝 Уведомления после звонка»** отправляет подписанные POST-уведомления о событиях звонка на ваши HTTPS-адреса. Кнопка **«Добавить webhook»** открывает форму:

* **«Адрес (URL)»** — адрес, принимающий уведомления. `http://` доступен только организации — владельцу платформы.
* **«События»** — что отправлять: **«Звонок завершён (`call_ended`)»** и **«Аналитика готова (`call_analyzed`)»**.
* **«Секрет подписи — имя env-переменной»** — хранится только ссылка: значение берётся из окружения и не попадает в базу и логи.
* **«Таймаут ответа (сек)»** — максимальное ожидание ответа вашего сервиса; `0` означает дефолт пайплайна.
* **«Включён»** — отправку можно приостановить, не удаляя адрес.
* **«Слать события тест-сессий»** — по умолчанию выключено.

Поля с выбором агента в форме нет: вебхук принадлежит тому агенту, в настройках которого заведён — подробности на странице [Вебхуки](/ru/v4/webhooks). Событие `observer_incident` в этом списке тоже не выбирается: оно уходит во время звонка, когда у сработавшего наблюдателя во вкладке THEN включено уведомление.

<img src="https://mintcdn.com/hubtalk/yYJS_d_pzapQzHCp/images/v4_settings_webhooks.png?fit=max&auto=format&n=yYJS_d_pzapQzHCp&q=85&s=505568716f8fc59534b6ea8d4218a63f" alt="Секция «Уведомления после звонка»: настроенный адрес, его события, имя секрета и кнопка «Добавить webhook»" width="534" height="327" data-path="images/v4_settings_webhooks.png" />
