Агент архива созвонов через Krisp и Trip2G
Агент архива созвонов через Krisp и Trip2G
Короткий вывод
Это сильный продуктовый кейс для модели «1 функция → 1 агент»: отдельный агент отвечает только за созвоны — принимает транскрипты, раскладывает их в базу знаний, делает саммари, action items и связывает созвон с проектами/людьми/решениями.
Krisp уже закрывает самую дорогую и грязную часть: запись, транскрипцию и базовые meeting outputs. Значит MVP не должен строить собственного бота записи. MVP должен быть интеграционным агентом после Krisp.
Что есть у Krisp
Webhook API
Официальная документация: https://help.krisp.ai/hc/en-us/articles/24514911804316-Webhook-API
Krisp Webhook API позволяет отправлять meeting outputs во внешний HTTPS endpoint.
Поддерживаемые события:
- Transcript is created;
- Notes are generated;
- Outline is generated.
Payload приходит как JSON и включает:
- event / event id;
- meeting details: id, title, link/url, start time, end time, duration;
- generated content: transcript, notes/summary, outline — зависит от event type.
Настройка делается в Krisp: Settings → Integrations → Webhook → Connect → Create Webhook.
Можно добавить request headers, например:
Authorization: Bearer ...X-Api-Key: ...
Также можно вручную отправить конкретную встречу в webhook из страницы встречи: Send to Webhook.
Zapier
Официальная документация: https://help.krisp.ai/hc/en-us/articles/14772270941852-Integrate-Krisp-with-Zapier
Поддерживаемые triggers:
- Action Items Generated;
- Key Points Generated;
- Outline Generated;
- Transcript Created.
Zapier полезен как no-code fallback: Krisp → Zapier → webhook/Google Drive/Slack/Notion. Но для Agent Garden / Trip2G лучше прямой webhook, чтобы контролировать схему и хранение.
Portal API
Официальная документация: https://help.krisp.ai/hc/en-us/articles/26610680024604-Krisp-Portal-API
Krisp Portal API больше про team/admin management: seats, users, analytics, speech analytics. Это не основной путь для meeting transcripts в MVP.
Рекомендуемая архитектура MVP
Krisp
-> Webhook API
-> Hermes/Trip2G ingest endpoint
-> raw payload archive
-> normalization
-> LLM summary/action extraction
-> Trip2G note
-> optional Telegram notification
Почему webhook, а не polling
- официально поддержано для meeting outputs;
- событие приходит когда транскрипт/notes готовы;
- не надо регулярно скрейпить Krisp dashboard;
- можно обрабатывать конкретные события отдельно: transcript, notes, outline;
- есть delivery history в Krisp для отладки.
Что хранить в Trip2G
Для каждого созвона создать отдельную note:
Созвоны/YYYY-MM-DD - <meeting title>.md
Frontmatter:
free: false
type: meeting
source: krisp
krisp_meeting_id: ...
meeting_url: ...
started_at: ...
ended_at: ...
duration_minutes: ...
participants: []
projects: []
tags: [meeting, call]
summary_status: generated
Тело заметки:
# <Название созвона>
## Короткое саммари
## Ключевые решения
## Action items
- [ ] Кто — что — срок
## Вопросы без ответа
## Риски / блокеры
## Упомянутые проекты и сущности
## Полный транскрипт
## Сырой Krisp payload
Что должен делать агент
Название агента: Meeting Archivist Agent / Агент созвонов.
Одна функция:
превращать каждый созвон в структурированную память проекта.
Обязанности:
- принять payload от Krisp;
- сохранить raw JSON без потерь;
- нормализовать meeting metadata;
- дедуплицировать события по
event_idиmeeting_id; - собрать или обновить meeting note;
- сделать саммари;
- выделить решения;
- выделить action items;
- связать с проектами, людьми, задачами;
- опционально отправить короткий дайджест в Telegram.
Что агент НЕ должен делать:
- не записывать созвоны сам;
- не пытаться обходить Krisp UI;
- не заменять согласие участников;
- не смешивать все созвоны в одну кашу без отдельных note;
- не делать юридически значимые выводы из созвона без подтверждения человека.
Схема endpoint
POST /webhooks/krisp
Authorization: Bearer <secret>
Content-Type: application/json
Минимальная обработка:
- verify secret header;
- parse payload;
- compute idempotency key:
krisp:{event_id}илиkrisp:{meeting_id}:{event_type}; - write raw file:
.raw/krisp/<meeting_id>/<event_id>.json
- upsert normalized meeting note;
- enqueue summarization job.
Формат внутреннего JSON для агента
{
"source": "krisp",
"event_id": "...",
"event_type": "transcript.created",
"meeting": {
"id": "...",
"title": "...",
"url": "...",
"started_at": "...",
"ended_at": "...",
"duration_seconds": 3600
},
"content": {
"transcript": "...",
"notes": "...",
"outline": "..."
}
}
LLM prompt для саммари
Ты агент архива созвонов. Твоя задача — превратить транскрипт в проектную память.
Верни markdown со структурой:
1. Короткое саммари — 5-7 bullet points.
2. Ключевые решения — только явно принятые решения.
3. Action items — кто / что / срок / контекст. Если срок или владелец неизвестен, пометь как "не указан".
4. Вопросы без ответа.
5. Риски и блокеры.
6. Упомянутые проекты, люди, ссылки, сущности.
7. Что добавить в базу знаний как долговременный факт.
Не выдумывай. Если чего-то нет в транскрипте — так и напиши.
Trip2G как продуктовый кейс
Это хороший кейс для продажи Trip2G/Hermes:
- у пользователя уже есть источник знаний — созвоны;
- проблема регулярная и болезненная;
- результат понятен: созвон перестаёт исчезать в воздухе;
- Trip2G становится не просто сайтом, а архивом решений и памяти;
- MCP позволяет другим агентам искать по созвонам.
Формулировка оффера:
Агент созвонов: каждый ваш звонок автоматически превращается в структурированную заметку, саммари, решения и задачи в вашей базе знаний.
MVP план
Шаг 1 — ручная проверка Krisp webhook
- Создать endpoint на временном webhook catcher / локальном tunnel / Hermes webhook route.
- В Krisp включить events: Transcript Created, Notes Generated, Outline Generated.
- Нажать
Send sample note. - Сохранить реальный payload schema.
Шаг 2 — ingest script
- Написать маленький endpoint
/webhooks/krisp. - Проверить auth header.
- Сохранять payload в файловую структуру vault.
- Создавать markdown note в
Созвоны/.
Шаг 3 — summary worker
- Запускать LLM обработку после transcript event.
- Обновлять note.
- Добавлять backlink в дневной/проектный индекс.
Шаг 4 — Trip2G sync
trip2g-syncпубликует приватную/публичную базу.- Для личных созвонов лучше
free: false.
Шаг 5 — Telegram уведомление
После обработки созвона агент пишет:
Созвон обработан: <title>
- 3 решения
- 5 action items
- 2 открытых вопроса
Ссылка: <Trip2G note>
Важные риски
- Конфиденциальность: созвоны могут содержать личные данные, коммерческие тайны и чужие голоса.
- Нужно хранить личный архив как приватный по умолчанию (
free: false). - Нужно учитывать согласие участников на запись/транскрипцию.
- Не стоит хранить raw payload публично.
- Нужно дедуплицировать webhook события: transcript, notes и outline могут приходить отдельно.
Decision
Для MVP: Krisp Webhook API → свой webhook endpoint → Trip2G note → агент summary.
Не начинать с собственного recorder/transcriber. Krisp уже решает запись и транскрипцию. Главная ценность — превратить поток созвонов в долговременную базу знаний и проектную память.