Отправлять события в ваши сервисы (вебхуки)
Когда в проекте что-то происходит, AOVA может сразу передать это в другие сервисы: новую заявку - в CRM, передачу диалога - в чат команды, новый диалог - в таблицу. AOVA отправляет подписанное сообщение на адрес, который вы укажете, - из Zapier, Make или n8n либо вашего сервера. Тарифы Pro и выше.
| Событие | Когда | Что внутри |
|---|---|---|
lead.captured | Клиент оставил контакты | имя, телефон, email, что нужно |
conversation.started | Новый клиент написал впервые | его имя, если известно |
conversation.handoff_requested | Ассистент передал диалог вам | причина и краткое описание от ассистента |
Добавить вебхук
- В Zapier, Make или n8n создайте сценарий, который начинается с вебхука («Catch Hook» в Zapier, «Custom webhook» в Make, «Webhook» в n8n), и скопируйте его адрес.
- В AOVA откройте Настройки → Интеграции (для текущего проекта) и нажмите Добавить вебхук.
- Дайте название, вставьте адрес (он должен начинаться с
https://) и отметьте события. - Нажмите Сохранить. AOVA один раз покажет секрет для подписи - скопируйте его, если ваш сервер проверяет подпись (Zapier, Make и n8n он не нужен).

Нажмите Тестовое событие, чтобы отправить пример данных: большинству сервисов он нужен, чтобы узнать поля. В проекте может быть до 5 вебхуков; менять их могут только те, кто управляет командой (администраторы).
Что приходит
POST с JSON такого вида:
{
"id": "6e1c2a0f-7d0a-4c1b-9b8e-2f3a4c5d6e7f",
"type": "lead.captured",
"createdAt": "2026-10-26T17:00:00.000Z",
"projectId": "…",
"agentId": "…",
"contactId": "…",
"channel": "WIDGET",
"data": {
"lead": {
"name": "Мария Иванова",
"phone": "+79991234567",
"email": "maria@example.com",
"note": "Хочет первую консультацию",
"capturedAt": "2026-10-26T17:00:00.000Z"
}
}
}
Заголовки: X-AOVA-Event (тип), X-AOVA-Event-Id (то же, что id: если id пришёл дважды,
второй раз можно пропустить) и X-AOVA-Signature.
Если сервер не ответил
Ответьте любым статусом 2xx в течение 5 секунд. Всё остальное - другой статус, таймаут,
недоступный адрес - считается ошибкой, и AOVA повторяет через 1 минуту, 5 минут, 15 минут,
30 минут, 1 час, 3 часа, затем каждые 6 часов - до 24 часов. После 5 ошибок подряд вебхук
отмечается как Ошибки; первая успешная отправка снимает отметку.
Нажмите Журнал отправок, чтобы увидеть последние попытки: когда, какое событие, какой статус вернул ваш сервер и сколько это заняло. Журнал хранится 30 дней и не сохраняет содержимое.
Проверка подписи (ваш сервер)
X-AOVA-Signature выглядит так: t=1793000000,v1=5f2b…. v1 - HMAC-SHA256 в hex от
<t>.<тело запроса как есть> с вашим секретом. Отклоняйте сообщение, если подпись не совпала или
t старше 5 минут.
import { createHmac, timingSafeEqual } from 'node:crypto';
function isFromAova(rawBody, header, secret) {
const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')));
if (Math.abs(Date.now() / 1000 - Number(parts.t)) > 300) return false;
const expected = createHmac('sha256', secret)
.update(`${parts.t}.${rawBody}`)
.digest();
const given = Buffer.from(parts.v1 ?? '', 'hex');
return given.length === expected.length && timingSafeEqual(given, expected);
}
Потеряли секрет? Нажмите Новый секрет - старый сразу перестанет работать.
