Агент архива созвонов через 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 / Агент созвонов.

Одна функция:

превращать каждый созвон в структурированную память проекта.

Обязанности:

  1. принять payload от Krisp;
  2. сохранить raw JSON без потерь;
  3. нормализовать meeting metadata;
  4. дедуплицировать события по event_id и meeting_id;
  5. собрать или обновить meeting note;
  6. сделать саммари;
  7. выделить решения;
  8. выделить action items;
  9. связать с проектами, людьми, задачами;
  10. опционально отправить короткий дайджест в Telegram.

Что агент НЕ должен делать:

  • не записывать созвоны сам;
  • не пытаться обходить Krisp UI;
  • не заменять согласие участников;
  • не смешивать все созвоны в одну кашу без отдельных note;
  • не делать юридически значимые выводы из созвона без подтверждения человека.

Схема endpoint

POST /webhooks/krisp
Authorization: Bearer <secret>
Content-Type: application/json

Минимальная обработка:

  1. verify secret header;
  2. parse payload;
  3. compute idempotency key: krisp:{event_id} или krisp:{meeting_id}:{event_type};
  4. write raw file:
.raw/krisp/<meeting_id>/<event_id>.json
  1. upsert normalized meeting note;
  2. 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 уже решает запись и транскрипцию. Главная ценность — превратить поток созвонов в долговременную базу знаний и проектную память.