1
Тумблер in-app залочён — выключить канал нельзя: это страховка, алерт виден при входе, даже если почта и webhooks молчат.
2
Тумблер включает рассылку по email; опирается на SMTP организации — пока SMTP не настроен, чип краснеет, а письма не уходят, остаются in-app и webhooks.
3
Webhook — исходящий POST на endpoint админа. Slack — пресет с готовым форматом сообщения; generic шлёт JSON-payload. «Test» отправляет пробное событие. Тумблер ставит канал на паузу: проверенный endpoint держим про запас (Ops), маршруты целы, рассылка не идёт, пока не включим. Как заводится новый канал — форма добавления.
Каналы и маршрутизацию правит только Owner; Admin видит их read-only.
Пилюли — каналы типа; погасить все — тип не идёт никому. Слева от черты личные адресатам, справа webhooks.
вклвыклпаузазамок4
Sync — серия сбоев, источник отвалился, прогон с потерямиcritical
In-app5EmailSlackOps
Security — brute force, смена ролейcritical
In-appEmailSlackOps
Budget — порог расходов AIcritical
In-appEmailSlackOps
System — провайдер недоступен, backup провалился, Curation Pass упалcritical
In-appEmailSlackOps
Discoveryv2 — новый контейнер вне scope источникаinfo
In-app6EmailSlackOps
Адресаты — только роли Owner / Admin. Динамический срез по роли: выдали роль на экране Пользователи — человек в получателях, сняли — выбыл. Личные каналы (in-app · email) каждый правит у себя в профиле; внешний получатель не заводится — для команды или дежурного служит webhook. Матрица — про broadcast-типы организации; личные типы agent и account адресованы конкретному пользователю (targeted) и каждый правит их только у себя в профиле.
4
Пилюли — каналы этого типа: залитая точка идёт сюда, пустая — нет, приглушённая — канал на паузе (Ops, см. блок Каналы).
5
Замок на пилюле in-app у security и sync — этот канал выключить нельзя: критичный сигнал всегда доходит хотя бы в ленту. Замок организационный и только на in-app — email и webhooks по этим типам свободны, а лично отписаться можно в профиле. На severity он не завязан: system тоже critical, но гасится весь. Auth & Security.
6
Discovery v2 — «новый проект X в Jira вне разрешённого scope, добавить?» с кнопкой действия прямо в уведомлении. Срабатывает в режиме scope «Только выбранное», когда источник отдаёт объект за пределами allow-list; в режиме «Всё» границы scope нет — уведомлять не о чем. Harvester.
из Slack → Incoming Webhooks; хранится зашифрованно 9
проверен10
пресет Generic · проверка не прошла
Новый webhook
ФорматGeneric — JSON
payload
Название
Ops on-call
Endpoint URL
https://ops.company.com/hooks/achilles
Подпись запроса (secret)
••••••••••••
опционально — HMAC тела для проверки на приёмнике; write-only 11
не отвечает · 503
endpoint вернул ошибку — исправьте адрес и проверьте снова
7
Модал открывается из «+ Добавить webhook» в блоке Каналы с уже выбранным пресетом. Канал создаётся выключенным — после добавления его включают тумблером «Активен» в списке.
8
Пресет задаёт и форму полей, и формат payload: Slack — готовое сообщение (нужен лишь Incoming Webhook URL), Generic — нейтральный JSON на произвольный приёмник (URL + опц. подпись). Только эти два: Microsoft Teams отдельным пресетом не делаем — Teams принимает generic JSON через Power Automate Workflow (старые Office 365 Connectors Microsoft отключил в мае 2026).
9
URL пишется в url_enc, опц. HMAC-secret — в отдельный secret_enc; оба зашифрованы и обратно в UI не отдаются (write-only). При правке существующего канала поля приходят пустыми: пусто = «оставить как есть», ввод = заменить.
10
«Проверить» шлёт пробное событие на endpoint до сохранения — та же проба, что потом живёт в столбце «Проверка» и в пункте меню «Test». Зелёный чип — endpoint принял.
11
Провал проверки показывает код ответа и блокирует «Добавить»: нерабочий канал в список не попадёт. Secret для Generic — необязательный: подпишем тело, если приёмник её проверяет.
Границы v1: кастомные заголовки и Authorization: Bearer — v2; свой формат payload не редактируем шаблоном — для нестандартного приёмника служит generic + n8n.
Заводит и правит каналы только Owner; Admin видит форму read-only.